diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/.emacs.d/init.el | 49 |
1 files changed, 35 insertions, 14 deletions
diff --git a/common/.emacs.d/init.el b/common/.emacs.d/init.el index 9b69e6c..13189d1 100644 --- a/common/.emacs.d/init.el +++ b/common/.emacs.d/init.el @@ -317,6 +317,14 @@ (file-relative-name f default-directory))))) (keymap-global-set "C-x M-f" 'insert-file-name) + (defun enable-ts-mode (lang &optional from to) + (let ((from (or from (intern (format "%s-mode" lang)))) + (to (or to (intern (format "%s-ts-mode" lang))))) + (when (treesit-ready-p lang 'quiet) + (cl-pushnew (cons from to) + major-mode-remap-alist + :test #'equal)))) + (defun fixup-typing-stats (&optional arg) "Keyboard macro." (interactive "p") @@ -503,6 +511,10 @@ display-buffer-base-action '(display-buffer-same-window)) (setq-default fill-column 78) + (cl-pushnew "/run/current-system/sw/lib" + treesit-extra-load-path + :test #'equal) + (keymap-global-set "C-x M-s" 'window-toggle-side-windows) (keymap-global-set "<remap> <list-buffers>" 'ibuffer) @@ -3359,11 +3371,15 @@ MPV." (setq sgml-basic-offset 0)) (use-package css-mode + :init + (enable-ts-mode 'css) :config (setq css-indent-offset 2)) (require 'sgml-mode) (use-package mhtml-mode + :init + (enable-ts-mode 'html) :config (require 'ruby-mode) (defconst mhtml--ruby-submode @@ -3401,8 +3417,6 @@ MPV." sgml-syntax-propertize-rules))) (when-group programming - (use-package yaml-mode - :ensure t) (use-package geiser :config (setq @@ -3411,14 +3425,6 @@ MPV." :ensure t) (use-package geiser-racket :ensure t) - (use-package lua-mode - :ensure t - :config - (add-hook - 'lua-mode-hook - (lambda () - (setq-local tab-width 3) - (indent-tabs-mode 1)))) (use-package fennel-mode :ensure t) (use-package coffee-mode @@ -3453,13 +3459,23 @@ MPV." (use-package js :mode (".mjs" . js-mode) + :init + (enable-ts-mode 'javascript 'js-mode 'js-ts-mode) :config (setq js-indent-level 2)) (use-package cc-mode + :init + (mapc #'enable-ts-mode '(c csharp java)) + (enable-ts-mode 'cpp 'c++-mode 'c++-ts-mode) + :config + (dolist (map (list c-mode-map + c++-mode-map)) + (keymap-set map "<F5>" 'recompile))) + +(use-package c-ts-mode :config - (keymap-set c-mode-map "<F5>" 'recompile) - (keymap-set c++-mode-map "<F5>" 'recompile)) + (keymap-set c-ts-base-mode-map "<F5>" 'recompile)) (progn ;; tabfs (defvar tabfs-directory (expand-file-name "~/.vimfx/tabfs/fs/mnt")) @@ -3749,7 +3765,9 @@ instead." (add-hook 'cperl-mode-hook 'cperl-lazy-install)) (use-package ruby-mode - :mode "\\.irbrc\\'") + :mode "\\.irbrc\\'" + :init + (enable-ts-mode 'ruby)) (use-package inf-ruby :if (group-enabled-p 'programming) @@ -3763,13 +3781,16 @@ instead." (when (executable-find "pry") (setq inf-ruby-default-implementation "pry"))) +(use-package python-mode + :init + (enable-ts-mode 'python)) + (use-package macrostep :ensure t) (use-package elisp-mode :if (group-enabled-p 'programming) :config (keymap-set emacs-lisp-mode-map "C-c C-m" 'macrostep-expand)) - (use-package lisp-mode :interpreter "cl" :config |