[oni-yaml] Use ‘yaml-ts-mode’ when it is available
This commit is contained in:
parent
a91df5e4ae
commit
68d911f08d
1 changed files with 21 additions and 8 deletions
29
oni-yaml.el
29
oni-yaml.el
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
;; Author: Tom Willemse <tom@ryuslash.org>
|
;; Author: Tom Willemse <tom@ryuslash.org>
|
||||||
;; Keywords: local
|
;; Keywords: local
|
||||||
;; Version: 2024.0202.110614
|
;; Version: 2024.0205.164705
|
||||||
;; Package-Requires: (yaml-mode oni-flycheck oni-highlight-indent-guides indent-tools yaml-imenu yaml-pro)
|
;; Package-Requires: (yaml-mode oni-flycheck oni-highlight-indent-guides indent-tools yaml-imenu yaml-pro)
|
||||||
|
|
||||||
;; This program is free software; you can redistribute it and/or modify
|
;; This program is free software; you can redistribute it and/or modify
|
||||||
|
@ -29,20 +29,33 @@
|
||||||
(require 'indent-tools)
|
(require 'indent-tools)
|
||||||
(require 'yaml-imenu)
|
(require 'yaml-imenu)
|
||||||
|
|
||||||
|
;; Don't mind if treesit can't be loaded, maybe this Emacs doesn't have it.
|
||||||
|
(require 'treesit nil t)
|
||||||
|
|
||||||
(defun oni-yaml--auto-fill-mode ()
|
(defun oni-yaml--auto-fill-mode ()
|
||||||
"Enable ‘auto-fill-mode’ only for comments."
|
"Enable ‘auto-fill-mode’ only for comments."
|
||||||
(setq-local comment-auto-fill-only-comments t)
|
(setq-local comment-auto-fill-only-comments t)
|
||||||
(auto-fill-mode))
|
(auto-fill-mode))
|
||||||
|
|
||||||
|
(defun oni-yaml--enable-hooks (hook)
|
||||||
|
"Enable all hooks I use for editing yaml files for HOOK."
|
||||||
|
(add-hook hook 'display-fill-column-indicator-mode)
|
||||||
|
(add-hook hook 'electric-indent-local-mode)
|
||||||
|
(add-hook hook 'electric-pair-local-mode)
|
||||||
|
(add-hook hook 'highlight-indent-guides-mode)
|
||||||
|
(add-hook hook 'oni-yaml--auto-fill-mode)
|
||||||
|
(add-hook hook 'yaml-imenu-enable)
|
||||||
|
(add-hook hook 'yaml-pro-mode))
|
||||||
|
|
||||||
(define-key yaml-mode-map (kbd "C-c >") 'indent-tools-hydra/body)
|
(define-key yaml-mode-map (kbd "C-c >") 'indent-tools-hydra/body)
|
||||||
|
|
||||||
(add-hook 'yaml-mode-hook 'display-fill-column-indicator-mode)
|
(oni-yaml--enable-hooks 'yaml-mode-hook)
|
||||||
(add-hook 'yaml-mode-hook 'electric-indent-local-mode)
|
|
||||||
(add-hook 'yaml-mode-hook 'electric-pair-local-mode)
|
(when (and (functionp 'treesit-available-p)
|
||||||
(add-hook 'yaml-mode-hook 'highlight-indent-guides-mode)
|
(treesit-available-p)
|
||||||
(add-hook 'yaml-mode-hook 'oni-yaml--auto-fill-mode)
|
(treesit-ready-p 'yaml))
|
||||||
(add-hook 'yaml-mode-hook 'yaml-imenu-enable)
|
(add-to-list 'major-mode-remap-alist '(yaml-mode . yaml-ts-mode))
|
||||||
(add-hook 'yaml-mode-hook 'yaml-pro-mode)
|
(oni-yaml--enable-hooks 'yaml-ts-mode-hook))
|
||||||
|
|
||||||
(provide 'oni-yaml)
|
(provide 'oni-yaml)
|
||||||
;;; oni-yaml.el ends here
|
;;; oni-yaml.el ends here
|
||||||
|
|
Loading…
Reference in a new issue