Setup yasnippet

Don't add yasnippet-snippets; hopefully most of the snippets will come from
language servers.

Also make sure that company-yasnippet is available, to make sure that snippets
are at least somewhat discoverable.
This commit is contained in:
Charlotte Van Petegem 2023-02-24 15:56:21 +01:00
parent 4c6b706190
commit 6b66263d7d
No known key found for this signature in database
GPG key ID: 019E764B7184435A
3 changed files with 28 additions and 0 deletions

View file

@ -76,6 +76,7 @@
;; Vim keybindings in other packages
(use-package evil-collection
:after (evil)
:diminish (evil-collection-unimpaired-mode)
:config (evil-collection-init)
)
@ -90,6 +91,7 @@
:diminish (company-mode)
:hook ((text-mode prog-mode) . company-mode)
:custom
(company-backends '((company-capf company-yasnippet) company-files (company-dabbrev-code company-keywords) company-dabbrev))
(company-dabbrev-downcase nil "Don't downcase completions")
(company-dabbrev-ignore-case t "Change full casing of completion if completion has different case")
(company-minimum-prefix-length 2 "Start autocompletion after 2 characters")

View file

@ -51,6 +51,18 @@
(_server (_cmd (eql java.apply.workspaceEdit)) arguments)
"Eclipse JDT breaks spec and replies with edits as arguments."
(mapc #'eglot--apply-workspace-edit arguments))
;;; eglot replaces company-backends with '(company-capf). I still
;;; want company-yasnippet as well though
(add-to-list 'eglot-stay-out-of "company")
)
;; Snippets
(use-package yasnippet
;; This is not very nice, but let's just assume that development machines have my nixos-config checked out
:custom (yas-snippet-dirs '("/home/charlotte/repos/nixos-config/modules/development/snippets/"))
:diminish (yas-minor-mode)
:config
(yas-global-mode 1)
)
;; Forth syntax support

View file

@ -0,0 +1,14 @@
# -*- mode: snippet -*-
# name: new class
# key: class
# --
class $1:
"""
$2
"""
def __init__(self${3:, *args, **kwargs}):
"""
$4
"""
${0:pass}