From 9a4a987d6424dc8cbadabee75a56c5353bb09000 Mon Sep 17 00:00:00 2001 From: Leni Aniva Date: Fri, 10 May 2024 11:08:29 -0700 Subject: [PATCH] feat: Emacs shell compatibility and SCAD mode --- doom/config.org | 57 +++++++++++++++++++++++++++++++++++++++++++++++++ doom/init.el | 2 +- 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/doom/config.org b/doom/config.org index 9eefd7a..797d4f9 100644 --- a/doom/config.org +++ b/doom/config.org @@ -261,6 +261,17 @@ numbers are disabled. For relative line numbers, set this to ~relative~. (add-hook 'text-mode-hook #'custom/common-richtext-hook) #+end_src +** Shells + +Fish (and possibly other non-POSIX shells) is known to inject garbage +output into some of the child processes that Emacs spawns. Many Emacs +packages/utilities will choke on this output, causing unpredictable +issues. To get around this, either: + +#+begin_src emacs-lisp +(setq shell-file-name (executable-find "bash")) +#+end_src + * Package-specific Settings ** Editor @@ -344,6 +355,12 @@ Note that ~onsave~ was intentionally turned off because it messes with version c :files ("highlighting/emacs/*.el"))) #+end_src +*** Cov + +#+begin_src emacs-lisp :tangle packages.el +(package! cov) +#+end_src + *** Emacs Lisp #+begin_src emacs-lisp @@ -620,6 +637,46 @@ Add the necessary hooks for LilyPond mode. (setq rustic-indent-offset standard-indent)) #+end_src +*** SCAD + +#+begin_src emacs-lisp :tangle packages.el +(package! scad-mode) +#+end_src + +#+begin_src emacs-lisp +(use-package! scad-mode + :after-call scad-mode + :config + (add-hook 'scad-mode-hook #'custom/common-program-hook)) +(map! :after scad-mode + :localleader + :map scad-mode-map + :desc "Open" "o" #'scad-open + :desc "Export" "e" #'scad-export + :desc "Preview" "p" #'scad-preview + ) +(map! :after scad-preview-mode + :map scad-preview-mode-map + :desc "Size+" "+" #'scad-preview-size-+ + :desc "Size-" "-" #'scad-preview-size-- + :desc "Distance+" "[" #'scad-preview-distance-+ + :desc "Distance-" "]" #'scad-preview-distance-- + :desc "Toggle Projection" "p" #'scad-preview-projection + :desc "Translate x-" "h" #'scad-preview-translate-x- + :desc "Translate x+" "l" #'scad-preview-translate-x+ + :desc "Translate y-" "j" #'scad-preview-translate-y- + :desc "Translate y+" "k" #'scad-preview-translate-y+ + :desc "Translate z-" "n" #'scad-preview-translate-z- + :desc "Translate z+" "m" #'scad-preview-translate-z+ + :desc "Rotate x-" "C-h" #'scad-preview-rotate-x- + :desc "Rotate x+" "C-l" #'scad-preview-rotate-x+ + :desc "Rotate y-" "C-j" #'scad-preview-rotate-y- + :desc "Rotate y+" "C-k" #'scad-preview-rotate-y+ + :desc "Rotate z-" "C-n" #'scad-preview-rotate-z- + :desc "Rotate z+" "C-m" #'scad-preview-rotate-z+ + ) +#+end_src + ** Tools *** Language Server Protocol (LSP) diff --git a/doom/init.el b/doom/init.el index d6bd096..c67494a 100644 --- a/doom/init.el +++ b/doom/init.el @@ -24,7 +24,7 @@ company ; the ultimate code completion backend ;;helm ; the *other* search engine for love and life ;;ido ; the other *other* search engine... - ivy ; a search engine for love and life + ;;ivy ; a search engine for love and life vertico ; the search engine of the future :ui