* Tree-sitter
#+begin_src emacs-lisp
(push '(kotlin-mode . kotlin-ts-mode) major-mode-remap-alist)
#+end_src
- folding ?
- movement ?
- selections ?
* Language Server
Feature list
* Symbol Look up
- eglot
* Linting
- flycheck
* Snippets
- tempel
- yasnippets
* Konfiguration
#+begin_src emacs-lisp
(use-package d-mode
:pin gnu
:config
(defun my/d-mode-hook ()
(add-to-list 'eglot-stay-out-of 'flymake)
)
:config
(add-to-list 'eglot-server-programs `((d-mode d-ts-mode) . ("/opt/volker/projects/tcl_lsp/serve-d/serve-d")))
:bind (
:map d-mode-map
)
:hook
(d-mode . flycheck-mode)
(d-mode . eglot-ensure)
(d-mode . yas-minor-mode)
(d-mode . hs-minor-mode)
(d-mode . my/d-mode-hook)
)
#+end_src
* UI
Prefix is C-S-<space>
#+begin_src emacs-lisp
#+end_src
"+" '(yas-insert-snippet :wk "code snippets")
"l" '(flycheck-list-errors :wk "linter window")
"f" '(hydra-fold/body :wk "Folding")
;; try combobulate - ts-movement mode not useful
"b" '(:ignore t :which-key "TODO: build/run/debug")
"d" '(:ignore t :which-key "doc")
"s" '(:ignore t :which-key "mark/select")
)