more keybinding stuff
rustic-mode
auto-switch to with-help-window windows
evil-search-forward pushes marker onto xref stack
removed dap-mode cpptools to prevent continuous downloading of some vscode extension
This commit is contained in:
Janis 2024-12-21 17:30:15 +01:00
parent 87e7a9f793
commit aae8a258f1

108
init.org
View file

@ -300,6 +300,11 @@ Helper function for switching themes.
(load-theme nemo/dark-theme t)) (load-theme nemo/dark-theme t))
#+end_src #+end_src
** emacs-related
#+begin_src emacs-lisp
(setq help-window-select t
help-window-keep-selected t)
#+end_src
** Fonts ** Fonts
Font size [[https://www.gnu.org/software/emacs/manual/html_node/elisp/Face-Attributes.html][(height)]] in emacs works in $\frac{1}{10}$ths of points, so ~110~ is the same as ~11~ points. Font size [[https://www.gnu.org/software/emacs/manual/html_node/elisp/Face-Attributes.html][(height)]] in emacs works in $\frac{1}{10}$ths of points, so ~110~ is the same as ~11~ points.
#+begin_src emacs-lisp #+begin_src emacs-lisp
@ -460,6 +465,8 @@ Honestly not very happy with this at the moment, but it's kind of hacked togethe
:prefix-map 'nemo/leader-prefix-map) :prefix-map 'nemo/leader-prefix-map)
(general-create-definer leader-other-def (general-create-definer leader-other-def
:states '(emacs normal) :states '(emacs normal)
:prefix-map 'nemo/leader-prefix-map
:prefix-command 'nemo/leader-prefix-command
:global-prefix nemo/leader-global :global-prefix nemo/leader-global
:prefix nemo/leader-evil :prefix nemo/leader-evil
) )
@ -487,6 +494,7 @@ Honestly not very happy with this at the moment, but it's kind of hacked togethe
"wo" #'delete-other-windows "wo" #'delete-other-windows
"ff" #'find-file "ff" #'find-file
"fi" #'nemo/edit-init-org "fi" #'nemo/edit-init-org
"fs" #'save-buffer
) )
) )
#+end_src #+end_src
@ -606,6 +614,18 @@ Evil key-binds, documentation for how this works is [[https://evil.readthedocs.i
) )
#+end_src #+end_src
Advice =evil-search-forward= (bound to =/=) to push the current marker onto the xref stack to allow for returning to where I started searching from:
#+begin_src emacs-lisp
(defun nemo/evil-search-forward--push-xref
(&optional _regex-p _no-recursive-edit)
"push current marker to xref stack when forward searching."
(xref-push-marker-stack))
(advice-add #'evil-search-forward
:before #'nemo/evil-search-forward--push-xref
'((name . "evil-search-push-xref")))
#+end_src
Close =:config=. Close =:config=.
#+begin_src emacs-lisp #+begin_src emacs-lisp
) )
@ -623,7 +643,7 @@ Close =:config=.
(use-package evil-collection (use-package evil-collection
:after evil :after evil
:straight t :straight t
:init (setq evil-collection-key-blacklist '("C-c <tab>")) :init (setq evil-collection-key-blacklist '("C-c <tab>" "<SPC>"))
:config :config
(evil-collection-init)) (evil-collection-init))
#+end_src #+end_src
@ -744,10 +764,10 @@ PDF tools for latex previewing:
(setq-default pdf-view-display-size 'fit-height) (setq-default pdf-view-display-size 'fit-height)
(setq pdf-view-continuous t) (setq pdf-view-continuous t)
(setq +latex-viewers '(pdf-tools)) (setq +latex-viewers '(pdf-tools))
(leader-other-def (leader-major-def
:keymaps 'pdf-view-mode-map :keymaps 'pdf-view-mode-map
"gb" 'pdf-history-backward "g b" #'pdf-history-backward
"gf" 'pdf-history-forward) "g f" #'pdf-history-forward)
(general-def :keymaps 'pdf-view-mode-map (general-def :keymaps 'pdf-view-mode-map
"j" (lambda() (interactive) (pdf-view-scroll-up-or-next-page 20)) "j" (lambda() (interactive) (pdf-view-scroll-up-or-next-page 20))
"k" (lambda() (interactive) (pdf-view-scroll-down-or-previous-page 20))) "k" (lambda() (interactive) (pdf-view-scroll-down-or-previous-page 20)))
@ -767,6 +787,7 @@ Taken from [[https://sophiebos.io/posts/prettifying-emacs-org-mode/][ here]].
:general-config :general-config
(general-define-key (general-define-key
:prefix-map 'nemo/org-map :prefix-map 'nemo/org-map
"i" '(:ignore t :which-key "Insert..")
"ih" '("Heading" . org-insert-heading) "ih" '("Heading" . org-insert-heading)
"is" '("Subheading" . org-insert-subheading) "is" '("Subheading" . org-insert-subheading)
"ii" '("Item" . org-insert-item) "ii" '("Item" . org-insert-item)
@ -994,9 +1015,8 @@ Use the =move-text= package to move the current line or selection up or down wit
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package treemacs (use-package treemacs
:straight t :straight t
:defer t
;; hijack projectile prefix because they fit together ;; hijack projectile prefix because they fit together
:general-config :general
(general-define-key (general-define-key
:prefix-map 'project-prefix-map :prefix-map 'project-prefix-map
"t" '("Treemacs" . treemacs-select-window) "t" '("Treemacs" . treemacs-select-window)
@ -1349,6 +1369,10 @@ LSP sets it's prefix key to =s-l= by default, which uses the Super key which I u
:init :init
(setq lsp-keymap-prefix "C-l") (setq lsp-keymap-prefix "C-l")
:commands lsp :commands lsp
:general-config
(leader-def
"l" '(:keymap lsp-command-map :wk "LSP")
)
:config :config
(setq (setq
lsp-idle-delay 0.6 lsp-idle-delay 0.6
@ -1409,31 +1433,51 @@ hlsl-mode:
) )
#+end_src #+end_src
** Rust ** Rust
[[https://github.com/rust-lang/rust-mode][rust-mode]] [[https://github.com/rust-lang/rust-mode][=rust-mode=]]
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package rust-mode (use-package rust-mode
:straight t :straight t
:defer t :hook (rust-mode . lsp-mode)
:hook (rust-mode . lsp)
:init :init
(setq rust-mode-treesitter-derive t) (setq rust-mode-treesitter-derive t
))
#+end_src
[[https://github.com/brotzeit/rustic][=rustic-mode=]]
#+begin_src emacs-lisp
(use-package rustic
:straight t
:defer t
:after (rust-mode)
:general-config :general-config
(general-define-key (general-define-key
:prefix-map 'nemo/rust-map :prefix-map 'nemo/rust-map
"c v" '("Check" . rust-check) "c v" '("Check" . rustic-cargo-check)
"c f" #'rust-format-buffer "c c" '("Compile" . rustic-compile)
"c b" #'rust-compile "c b" '("Build" . rustic-cargo-build)
"c B" #'rust-compile-release ;;"c B" '("Build" . rust-cargo-relea)
"c t" #'rust-test "c c" '("Clean" . rustic-cargo-clean)
"c r" #'rust-run "c x" '("Run" . rustic-cargo-run)
"c l" #'rust-run-clippy "c f" '("Format Buffer" . rustic-format-buffer)
"t t" '("Current Test" . rustic-cargo-current-test)
"t a" '("Test" . rustic-cargo-test)
"c a" '("cargo-add" . rustic-cargo-add)
"c r" '("cargo-rm" . rustic-cargo-remove)
"c l" '("lint" . rustic-cargo-clippy)
"c L" '("lint" . rustic-cargo-clippy-fix)
"c n" '("new" . rustic-cargo-new)
"c i" '("init" . rustic-cargo-init)
"c d" '("Docs" . rustic-cargo-doc)
) )
(leader-major-def (leader-major-def
:keymaps 'rust-mode-map :keymaps 'rustic-mode-map
"m" '(:keymap nemo/rust-map :wk "Cargo") "m" '(:keymap nemo/rust-map :wk "Cargo")
) )
:custom
(rustic-analyzer-command '("/usr/bin/rust-analyzer"))
:config :config
(setq rust-format-on-save t)) (setq rustic-format-trigger 'on-save)
)
#+end_src #+end_src
#+begin_src emacs-lisp #+begin_src emacs-lisp
@ -1442,25 +1486,23 @@ hlsl-mode:
:defer t) :defer t)
#+end_src #+end_src
[[https://github.com/kwrooijen/cargo.el][cargo-mode]]
#+begin_src emacs-lisp
(use-package cargo-mode
:straight t
:defer t
:hook (rust-mode . cargo-minor-mode)
:config
(setq cargo-mode-command-test "test -- --nocapture"))
#+end_src
** Debugging ** Debugging
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package dap-mode (use-package dap-mode
:straight t :straight t
:defer t :after (lsp-mode)
:config :config
(require 'dap-cpptools) ;; (require 'dap-cpptools)
(dap-cpptools-setup) ;; (dap-cpptools-setup)
(dap-auto-configure-mode 1)) (require 'dap-gdb-lldb)
(dap-register-debug-template "Rust::GDB Run Configuration"
(list :type "gdb"
:request "launch"
:name "GDB::Run"
:gdbpath "rust-gdb"
:target nil
:cwd nil))
(dap-auto-configure-mode))
#+end_src #+end_src
** Web ** Web