From ca072f3833222d2c99afec63c5407ef443a6862a Mon Sep 17 00:00:00 2001 From: Maciej Szlosarczyk Date: Thu, 1 Aug 2024 08:07:18 +0300 Subject: [PATCH 1/3] Fix error in erlang mode --- lisp/langs/icejam-lang-erlang.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/langs/icejam-lang-erlang.el b/lisp/langs/icejam-lang-erlang.el index 5b4def7..a19573f 100644 --- a/lisp/langs/icejam-lang-erlang.el +++ b/lisp/langs/icejam-lang-erlang.el @@ -53,7 +53,7 @@ (cl-defun icejam/erlang-current-plist () "Create plist from current Erlang version." - (seq-find 'erlang/current-version--plistp icejam/erlang-available-versions)) + (seq-find 'icejam/erlang-current-version--plistp icejam/erlang-available-versions)) ;; Flycheck checker for Erlang (flycheck-define-checker erlang-otp From 85be9c3caab49dc755473b6435879a1a8c9faf9c Mon Sep 17 00:00:00 2001 From: Maciej Szlosarczyk Date: Thu, 1 Aug 2024 08:07:30 +0300 Subject: [PATCH 2/3] Do not pollute the global-map --- lisp/icejam-transient.el | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lisp/icejam-transient.el b/lisp/icejam-transient.el index a0cef53..33ac39d 100644 --- a/lisp/icejam-transient.el +++ b/lisp/icejam-transient.el @@ -4,6 +4,7 @@ ;;; Code: (require 'icejam-avy) +(require 'icejam-keys-mode) (use-package transient :straight t) (defun icejam-mark-and-indent-whole-buffer () @@ -111,13 +112,13 @@ ("d" "Smaller" (lambda () (interactive) (text-scale-decrease 1))) ("r" "Reset" (lambda () (interactive) (text-scale-adjust 0)))]]) -(define-key global-map (kbd "C-c p") 'icejam/project-menu) -(define-key global-map (kbd "C-c c") 'icejam/code-menu) -(define-key global-map (kbd "C-c w") 'icejam/window-menu) -(define-key global-map (kbd "C-c s") 'icejam/history-menu) -(define-key global-map (kbd "C-c f") 'icejam/font-menu) -(define-key global-map (kbd "C-c m") 'icejam/move-menu) -(define-key global-map (kbd "C-c l") 'icejam/language-context-menu) +(define-key icejam-keys-mode-map (kbd "C-c p") 'icejam/project-menu) +(define-key icejam-keys-mode-map (kbd "C-c c") 'icejam/code-menu) +(define-key icejam-keys-mode-map (kbd "C-c w") 'icejam/window-menu) +(define-key icejam-keys-mode-map (kbd "C-c s") 'icejam/history-menu) +(define-key icejam-keys-mode-map (kbd "C-c f") 'icejam/font-menu) +(define-key icejam-keys-mode-map (kbd "C-c m") 'icejam/move-menu) +(define-key icejam-keys-mode-map (kbd "C-c l") 'icejam/language-context-menu) (provide 'icejam-transient) ;;; icejam-transient.el ends here From f0340183f6d85b04ef42799f7c6fc2131bf89bc9 Mon Sep 17 00:00:00 2001 From: Maciej Szlosarczyk Date: Sat, 3 Aug 2024 07:15:10 +0300 Subject: [PATCH 3/3] Move some key bindings around --- lisp/icejam-avy.el | 8 +++++++- lisp/icejam-base.el | 14 +++++--------- lisp/icejam-keys-mode.el | 5 +++++ lisp/icejam-magit.el | 9 ++++++--- lisp/icejam-sys-specific.el | 31 ++++++++++++++++--------------- lisp/langs/icejam-lang-elisp.el | 2 +- 6 files changed, 40 insertions(+), 29 deletions(-) diff --git a/lisp/icejam-avy.el b/lisp/icejam-avy.el index 9924382..01ec8eb 100644 --- a/lisp/icejam-avy.el +++ b/lisp/icejam-avy.el @@ -9,6 +9,12 @@ ;; Avy is a navigation manager. ;;; Code: -(use-package avy :straight t :defer t) +(use-package avy :straight t :defer t + :config + (setq avy-timeout-seconds 1) + :bind (:map icejam-keys-mode-map + ([(hyper j)] . avy-goto-char-timer)) ;; Jump to text. + ) + (provide 'icejam-avy) ;;; icejam-avy.el ends here diff --git a/lisp/icejam-base.el b/lisp/icejam-base.el index ce95e62..be27e54 100644 --- a/lisp/icejam-base.el +++ b/lisp/icejam-base.el @@ -44,13 +44,7 @@ :config (global-set-key [remap kill-ring-save] 'easy-kill)) ;; Move buffers around with buffer keys -(use-package buffer-move - :straight t - :defer t - :bind ("C-c m [" . buf-move-left) - ("C-c m ]" . buf-move-right) - ("C-c m {" . buf-move-up) - ("C-c m }" . buf-move-down)) +(use-package buffer-move :straight t :defer t) ;; #====================== Backup config #============================== (setq backup-directory-alist @@ -108,7 +102,6 @@ (exec-path-from-shell-initialize)) (use-package direnv :straight t :config (direnv-mode)) -;; (use-package shadowenv :straight t :config (shadowenv-global-mode)) ;; Draw underline lower (setq x-underline-at-descent-line t) @@ -120,7 +113,10 @@ indicate-empty-lines nil) ;;;;;;;;;;;;;;;;; Treemacs -(use-package treemacs :straight t :defer t) +(use-package treemacs :straight t :defer t + :bind (:map icejam-keys-mode-map + ([(hyper b)] . treemacs))) ;; Show the folder tree + (use-package treemacs-all-the-icons :defer t :requires (treemacs) :straight t :config (treemacs-load-theme "all-the-icons") diff --git a/lisp/icejam-keys-mode.el b/lisp/icejam-keys-mode.el index 062e31d..172e5a3 100644 --- a/lisp/icejam-keys-mode.el +++ b/lisp/icejam-keys-mode.el @@ -52,5 +52,10 @@ (define-key icejam-keys-mode-map [home] 'beginning-of-line) (define-key icejam-keys-mode-map [end] 'end-of-line) +;;;;;;;;; Translate keys ;;;;;;;;;;;;;;;;;;;;; +(define-key key-translation-map (kbd "") (kbd "C-c l")) ;; On F6, send C-c l +(define-key key-translation-map (kbd "") (kbd "C-c c")) ;; On F7, send C-c c +(define-key key-translation-map (kbd "") (kbd "C-c p")) ;; On F8, send C-c p + (provide 'icejam-keys-mode) ;;; icejam-keys-mode.el ends here diff --git a/lisp/icejam-magit.el b/lisp/icejam-magit.el index 47abd91..08a47c8 100644 --- a/lisp/icejam-magit.el +++ b/lisp/icejam-magit.el @@ -2,12 +2,15 @@ ;;; Commentary: ;;; Code: +(require 'icejam-keys-mode) + (use-package magit :straight t :defer t - :bind (" c" . magit-checkout) - (" b" . magit-blame-addition) - (" g" . magit-status) + :bind (:map icejam-keys-mode-map + (" c" . magit-checkout) + (" b" . magit-blame-addition) + (" g" . magit-status)) (:map magit-blame-mode-map (" b" . 'magit-blame-quit))) diff --git a/lisp/icejam-sys-specific.el b/lisp/icejam-sys-specific.el index 380cc00..be9e2cf 100644 --- a/lisp/icejam-sys-specific.el +++ b/lisp/icejam-sys-specific.el @@ -31,22 +31,23 @@ (setq mac-command-modifier 'meta)))) ;;;;;;;;; Mac binding (fix) ;;;;;;;;;;;;;;;;;; - (define-key icejam-keys-mode-map (kbd "H-") 'end-of-line) - (define-key icejam-keys-mode-map (kbd "H-") 'beginning-of-line) - (define-key icejam-keys-mode-map (kbd "H-") 'scroll-down) ; WTF is this reverse, I dunno - (define-key icejam-keys-mode-map (kbd "H-") 'scroll-up) + (define-key icejam-keys-mode-map (kbd "H-") #'end-of-line) + (define-key icejam-keys-mode-map (kbd "H-") #'beginning-of-line) + (define-key icejam-keys-mode-map (kbd "H-") #'scroll-down) ; WTF is this reverse, I dunno + (define-key icejam-keys-mode-map (kbd "H-") #'scroll-up) - (define-key icejam-keys-mode-map [(hyper a)] 'mark-whole-buffer) - (define-key icejam-keys-mode-map [(hyper v)] 'yank) - (define-key icejam-keys-mode-map [(hyper x)] 'kill-region) - (define-key icejam-keys-mode-map [(hyper c)] 'kill-ring-save) - (define-key icejam-keys-mode-map [(hyper s)] 'save-buffer) - (define-key icejam-keys-mode-map [(hyper l)] 'goto-line) - (define-key icejam-keys-mode-map [(hyper b)] 'treemacs) - (define-key icejam-keys-mode-map [(hyper w)] 'icejam-function-delete-window) - (define-key icejam-keys-mode-map [(hyper z)] 'undo) - (define-key icejam-keys-mode-map [(hyper q)] 'kill-emacs) + ;; Use CMD bindings that you know from the operating system + (define-key icejam-keys-mode-map [(hyper a)] #'mark-whole-buffer) ;; Select all + (define-key icejam-keys-mode-map [(hyper v)] #'yank) ;; Paste + (define-key icejam-keys-mode-map [(hyper x)] #'kill-region) ;; Cut + (define-key icejam-keys-mode-map [(hyper c)] #'kill-ring-save) ;; Copy + (define-key icejam-keys-mode-map [(hyper s)] #'save-buffer) ;; Save + (define-key icejam-keys-mode-map [(hyper z)] #'undo) ;; Undo + (define-key icejam-keys-mode-map [(hyper q)] #'kill-emacs) ;; Close emacs + (define-key icejam-keys-mode-map [(hyper w)] #'icejam-function-delete-window) ;; Close window + ;; And then some extras + (define-key icejam-keys-mode-map [(hyper l)] #'goto-line) ;; Goto Line ;; Disable meta on right alt (useful for Polish characters) ;; (setq mac-right-option-modifier nil) )) @@ -62,7 +63,7 @@ (setq mac-option-modifier 'meta) (setq mac-right-option-modifier nil)))) -;;;;;;;;; Mac-specific config ;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;; Linux-specific config ;;;;;;;;;;;;;;;;;;;;; (if IS-GNU (progn ;;;; Save and undo diff --git a/lisp/langs/icejam-lang-elisp.el b/lisp/langs/icejam-lang-elisp.el index c03dc4d..1968a09 100644 --- a/lisp/langs/icejam-lang-elisp.el +++ b/lisp/langs/icejam-lang-elisp.el @@ -26,7 +26,7 @@ ;; Company list override (add-to-list (make-local-variable 'company-backends) - '(company-yasnippet company-elisp))) + '(company-yasnippet company-capf))) (add-hook 'emacs-lisp-mode-hook 'icejam/activate-emacs-lisp-mode)