From f3fbd87593800a1e13c45bf3b4e98d540eba7a74 Mon Sep 17 00:00:00 2001 From: Steve Purcell Date: Sun, 26 Nov 2023 09:36:21 +0000 Subject: [PATCH] Add key bindings "C-M-[" and "C-M-]" for navigating between diff-hl hunks --- init.el | 1 + lisp/init-uiua.el | 22 ++++++++++++++++++++++ lisp/init-vc.el | 6 +++--- 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 lisp/init-uiua.el diff --git a/init.el b/init.el index 7393bf1f2b..ca10d1ff20 100644 --- a/init.el +++ b/init.el @@ -138,6 +138,7 @@ (require 'init-ledger) (require 'init-lua) +(require 'init-uiua) (require 'init-terminals) ;; Extra packages which don't require any configuration diff --git a/lisp/init-uiua.el b/lisp/init-uiua.el new file mode 100644 index 0000000000..42539c640e --- /dev/null +++ b/lisp/init-uiua.el @@ -0,0 +1,22 @@ +;;; init-uiua.el --- Support for the Uiua programming language -*- lexical-binding: t -*- +;;; Commentary: +;;; Code: + +(if (maybe-require-package 'uiua-ts-mode) + (progn + ;; TODO: handle duplication w.r.t. nix-ts-mode + (defun sanityinc/set-uiua-ts-auto-mode () + (when (and (fboundp 'treesit-ready-p) + (treesit-ready-p 'uiua t) + (fboundp 'uiua-ts-mode)) + (add-to-list 'auto-mode-alist '("\\.ua\\'" . uiua-ts-mode)))) + (add-hook 'after-init-hook 'sanityinc/set-uiua-ts-auto-mode)) + (maybe-require-package 'uiua-mode)) + +(with-eval-after-load 'eglot + (add-to-list 'eglot-server-programs '((uiua-mode uiua-ts-mode) . ("uiua" "lsp")))) + +(maybe-require-package 'nixpkgs-fmt) + +(provide 'init-uiua) +;;; init-uiua.el ends here diff --git a/lisp/init-vc.el b/lisp/init-vc.el index 8df0cc4933..7417d8cb98 100644 --- a/lisp/init-vc.el +++ b/lisp/init-vc.el @@ -11,9 +11,9 @@ (add-hook 'after-init-hook 'global-diff-hl-mode) (with-eval-after-load 'diff-hl - (define-key diff-hl-mode-map - (kbd " ") - 'diff-hl-diff-goto-hunk))) + (define-key diff-hl-mode-map (kbd " ") 'diff-hl-diff-goto-hunk) + (define-key diff-hl-mode-map (kbd "M-C-]") 'diff-hl-next-hunk) + (define-key diff-hl-mode-map (kbd "M-C-[") 'diff-hl-previous-hunk))) (provide 'init-vc) ;;; init-vc.el ends here