doomemacs/modules/lang/data/config.el
Liam Hupfer 1e1e6150d8 fix(data): correct XML closing tag insertion
`nxml-slash-auto-complete-flag` inserts the rest of the closing tag when
`</` is inserted, but smartparens also defines `(sp-local-pair "<" ">")`
for `sp--html-modes`, so two `>` are inserted for closing tags. Apply
the upstream developer’s suggested fix.

Fix: https://github.com/doomemacs/doomemacs/issues/6331
Ref: https://github.com/Fuco1/smartparens/issues/397
2023-10-05 17:43:19 +02:00

27 lines
935 B
EmacsLisp

;;; lang/data/config.el -*- lexical-binding: t; -*-
(use-package! nxml-mode
:mode "\\.p\\(?:list\\|om\\)\\'" ; plist, pom
:mode "\\.xs\\(?:d\\|lt\\)\\'" ; xslt, xsd
:mode "\\.rss\\'"
:config
(setq nxml-slash-auto-complete-flag t
nxml-auto-insert-xml-declaration-flag t)
;; https://github.com/Fuco1/smartparens/issues/397#issuecomment-501059014
(after! smartparens
(sp-local-pair 'nxml-mode "<" ">" :post-handlers '(("[d1]" "/"))))
(set-company-backend! 'nxml-mode '(company-nxml company-yasnippet))
(setq-hook! 'nxml-mode-hook tab-width nxml-child-indent)
(set-formatter! 'xmllint '("xmllint" "--format" "-") :modes '(nxml-mode)))
;;;###package csv-mode
(map! :after csv-mode
:localleader
:map csv-mode-map
"a" #'csv-align-fields
"u" #'csv-unalign-fields
"s" #'csv-sort-fields
"S" #'csv-sort-numeric-fields
"k" #'csv-kill-fields
"t" #'csv-transpose)