* XML
- REPL
- tree-sitter
- Language-Server
** Tree-sitter
There is no nxml-ts-mode yet.
- moving around: nxml-mode
Forward element
C-M n
Backward element
C-M p
UP element
C-M u
Down element
C-M d
- selections:
- expreg
- evil-textobj-tree-sitter
- folding
- hideshow
** Linter
Build into nxml-mode (needs a schema).
https://lgfang.github.io/mynotes/emacs/emacs-xml.html#sec-3
** Formatter
#+begin_src emacs-lisp
#+end_src
** Auto Completion
nxml-mode
https://www.gnu.org/software/emacs/manual/html_node/nxml-mode/Completion.html
** Konfiguration
#+begin_src emacs-lisp
(require 'nxml-mode)
(require 'sgml-mode)
(require 'nxml-mode)
(add-to-list 'hs-special-modes-alist
'(nxml-mode
"<!--\\|<[^/>]*[^/]>"
"-->\\|</[^/>]*[^/]>"
"<!--"
sgml-skip-tag-forward
nil))
(use-package emacs
:pin gnu
:bind (
:map nxml-mode-map
("C-+" . expreg-expand)
("C--" . expreg-contract)
("C-c h" . hs-toggle-hiding)
)
:hook
(nxml-mode . hs-minor-mode)
(nxml-mode . yas-minor-mode)
(nxml-mode . flycheck-mode)
:config
)
#+end_src
There is a Hydra defined for ts-movement, open with <f5>.
** Language Server
*** void-Linux
*** Windows
#+begin_src sh
#+end_src
** UI
#+begin_src emacs-lisp
#+end_src
"+" '(yas-insert-snippet :wk "code snippets")
;; "j" '(hydra-tree-sitter-move/body :wk "movement hydra")
"m" '(:ignore t :which-key "mark/select")
"mp" '(mark-paragraph :wk "paragraph")