diff options
author | Tom Willemse | 2024-02-05 16:47:45 -0800 |
---|---|---|
committer | Tom Willemse | 2024-02-05 16:47:45 -0800 |
commit | 68d911f08d5e6559f20c89eadcc8741bf6d3f5e1 (patch) | |
tree | ccaf8501848ea536e36fddd1642dd54b0fa55e95 | |
parent | a91df5e4ae9acd4a7796cdf0c6dbd1912cd79646 (diff) | |
download | emacs-config-68d911f08d5e6559f20c89eadcc8741bf6d3f5e1.tar.gz emacs-config-68d911f08d5e6559f20c89eadcc8741bf6d3f5e1.zip |
[oni-yaml] Use ‘yaml-ts-mode’ when it is available
-rw-r--r-- | oni-yaml.el | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/oni-yaml.el b/oni-yaml.el index 734386b..d05a402 100644 --- a/oni-yaml.el +++ b/oni-yaml.el @@ -4,7 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; 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) ;; This program is free software; you can redistribute it and/or modify @@ -29,20 +29,33 @@ (require 'indent-tools) (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 () "Enable ‘auto-fill-mode’ only for comments." (setq-local comment-auto-fill-only-comments t) (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) -(add-hook 'yaml-mode-hook 'display-fill-column-indicator-mode) -(add-hook 'yaml-mode-hook 'electric-indent-local-mode) -(add-hook 'yaml-mode-hook 'electric-pair-local-mode) -(add-hook 'yaml-mode-hook 'highlight-indent-guides-mode) -(add-hook 'yaml-mode-hook 'oni-yaml--auto-fill-mode) -(add-hook 'yaml-mode-hook 'yaml-imenu-enable) -(add-hook 'yaml-mode-hook 'yaml-pro-mode) +(oni-yaml--enable-hooks 'yaml-mode-hook) + +(when (and (functionp 'treesit-available-p) + (treesit-available-p) + (treesit-ready-p 'yaml)) + (add-to-list 'major-mode-remap-alist '(yaml-mode . yaml-ts-mode)) + (oni-yaml--enable-hooks 'yaml-ts-mode-hook)) (provide 'oni-yaml) ;;; oni-yaml.el ends here |