feat: Emacs shell compatibility and SCAD mode

This commit is contained in:
Leni Aniva 2024-05-10 11:08:29 -07:00
parent 64ce30288c
commit 4ff5cfd3f9
Signed by: aniva
GPG Key ID: 4D9B1C8D10EA4C50
2 changed files with 66 additions and 3 deletions

View File

@ -116,8 +116,8 @@ rely on system environment variables.
#+begin_src emacs-lisp
(setq
user-full-name "Leni Ven"
user-mail-address "leniv@stanford.edu")
user-full-name "Leni Aniva"
user-mail-address "v@leni.sh")
#+end_src
If you use ~org~ and don't want your org files in the default location below,
@ -261,6 +261,23 @@ numbers are disabled. For relative line numbers, set this to ~relative~.
(add-hook 'text-mode-hook #'custom/common-richtext-hook)
#+end_src
** Shells
#+begin_quote
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.
#+end_quote
Here we set the default shell to ~bash~ but the vterm shell to the system
~$SHELL~ variable.
#+begin_src emacs-lisp
(setq shell-file-name (executable-find "bash"))
(setq vterm-shell (getenv "SHELL"))
#+end_src
* Package-specific Settings
** Editor
@ -344,6 +361,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 +643,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)

View File

@ -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