Initialize it globally and turn it off where needed, instead of enabling it on demand. Also fixes void-function: flycheck-mode errors when :feature syntax-checker is disabled. This is experimental. Indirectly fixes #710
50 lines
1.2 KiB
EmacsLisp
50 lines
1.2 KiB
EmacsLisp
;;; lang/data/config.el -*- lexical-binding: t; -*-
|
|
|
|
;; Built in plugins
|
|
(dolist (spec '(("/sxhkdrc\\'" . conf-mode)
|
|
("\\.\\(?:hex\\|nes\\)\\'" . hexl-mode)
|
|
("\\.plist\\'" . nxml-mode)))
|
|
(map-put auto-mode-alist (car spec) (cdr spec)))
|
|
|
|
(after! nxml-mode
|
|
(set-company-backend! 'nxml-mode '(company-nxml company-yasnippet)))
|
|
|
|
|
|
;;
|
|
;; Third-party plugins
|
|
;;
|
|
|
|
;; `csv-mode'
|
|
(map! :after csv-mode
|
|
:map csv-mode-map
|
|
(:localleader
|
|
:desc "Align fields" :nvm "a" #'csv-align-fields
|
|
:desc "Unalign fields" :nvm "u" #'csv-unalign-fields
|
|
:desc "Sort fields" :nvm "s" #'csv-sort-fields
|
|
:desc "Sort fields (n)" :nvm "S" #'csv-sort-numeric-fields
|
|
:desc "Kill fields" :nvm "k" #'csv-kill-fields
|
|
:desc "Transpose fields" :nvm "t" #'csv-transpose))
|
|
|
|
(def-package! graphql-mode
|
|
:mode "\\.gql\\'")
|
|
|
|
(def-package! json-mode
|
|
:mode "\\.js\\(?:on\\|[hl]int\\(rc\\)?\\)\\'"
|
|
:config
|
|
(set-electric! 'json-mode :chars '(?\n ?: ?{ ?})))
|
|
|
|
(def-package! vimrc-mode
|
|
:mode "\\.?vimperatorrc\\'")
|
|
|
|
|
|
;;
|
|
;; Frameworks
|
|
;;
|
|
|
|
(def-project-mode! +data-ansible-mode
|
|
:modes (yaml-mode)
|
|
:files ("roles/"))
|
|
|
|
(def-project-mode! +data-vagrant-mode
|
|
:files ("Vagrantfile"))
|
|
|