aboutsummaryrefslogtreecommitdiff
path: root/.config/emacs/languages.org
diff options
context:
space:
mode:
authorJacob Janzen <jjanzenn@proton.me>2024-08-08 17:07:35 -0500
committerJacob Janzen <jjanzenn@proton.me>2024-08-08 17:07:35 -0500
commit57667f82145277920ddacf59bf57c0046129bd63 (patch)
tree61dbee1960ab39bd69a1da0010c9f78b4fe6659d /.config/emacs/languages.org
parent545dfbb53f2bb6d7669ca7bfd1f4775a9150b530 (diff)
move configs to hidden directories
Diffstat (limited to '.config/emacs/languages.org')
-rw-r--r--.config/emacs/languages.org128
1 files changed, 128 insertions, 0 deletions
diff --git a/.config/emacs/languages.org b/.config/emacs/languages.org
new file mode 100644
index 0000000..a0a19e4
--- /dev/null
+++ b/.config/emacs/languages.org
@@ -0,0 +1,128 @@
+#+title: Emacs Programming Language Setup
+
+* Shell Script
+Run =eglot= on shell script files.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (add-hook 'sh-mode-hook 'jj/eglot-setup)
+#+end_src
+
+* C
+Run =eglot= on C and C++ files.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (add-hook 'c-mode-hook 'jj/eglot-setup)
+ (add-hook 'c++-mode-hook 'jj/eglot-setup)
+ (add-hook 'cc-mode-hook 'jj/eglot-setup)
+#+end_src
+
+* Web
+Run =eglot= on HTML files.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (add-hook 'html-mode-hook 'jj/eglot-setup)
+#+end_src
+
+Run =eglot= on CSS files.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (add-hook 'css-mode-hook 'jj/eglot-setup)
+#+end_src
+
+Run =eglot= on JavaScript files.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (add-hook 'js-json-mode-hook 'jj/eglot-setup)
+ (add-hook 'js-mode-hook 'jj/eglot-setup)
+#+end_src
+
+* Python
+Run =eglot= on Python files.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (add-hook 'python-mode-hook 'jj/eglot-setup)
+#+end_src
+
+* Go
+Install Go support and run =eglot= on Go files.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (use-package go-mode
+ :init
+ (add-hook 'go-mode-hook 'jj/eglot-setup))
+#+end_src
+
+Get documentation for Go variables, functions, and arguments.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (use-package go-eldoc
+ :init
+ (add-hook 'go-mode-hook 'go-eldoc-setup))
+#+end_src
+
+Automatically generate tests in Go.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (use-package go-gen-test)
+#+end_src
+
+Get refactoring tools from =go-guru=.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (use-package go-guru
+ :hook (go-mode . go-guru-hl-identifier-mode))
+#+end_src
+
+* Lua
+Install Lua support and run =eglot= on Lua files.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (use-package lua-mode
+ :init
+ (add-hook 'lua-mode-hook 'jj/eglot-setup))
+#+end_src
+
+Better Lisp editing with =lispy=.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (use-package lispy
+ :hook (emacs-lisp-mode . lispy-mode))
+ (use-package lispyville
+ :after lispy
+ :hook (lispy-mode . lispyville-mode))
+#+end_src
+
+Better parentheses handling in lisp with =parinfer-rust-mode=.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/tools.el :mkdirp yes
+ (use-package parinfer-rust-mode
+ :hook (emacs-lisp-mode . parinfer-rust-mode)
+ :init
+ (setq parinfer-rust-auto-download t))
+#+end_src
+
+* Markdown
+Install Markdown support and run =eglot= on Markdown files.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (use-package markdown-mode
+ :init
+ (add-hook 'markdown-mode-hook 'jj/eglot-setup))
+#+end_src
+
+* LaTeX
+Run =eglot= on TeX files.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (add-hook 'tex-mode-hook 'jj/eglot-setup)
+#+end_src
+
+Use AUCTeX for extra LaTeX integration.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (use-package auctex
+ :config
+ (add-hook 'LaTeX-mode-hook 'jj/eglot-setup)
+ (add-hook 'LaTeX-mode-hook
+ (lambda ()
+ (put 'LaTeX-mode 'eglot-language-id "latex"))))
+#+end_src
+
+Use CDLaTeX for environment and macro insertion.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (use-package cdlatex
+ :config
+ (add-hook 'LaTeX-mode-hook #'turn-on-cdlatex))
+#+end_src
+
+* YAML
+Install YAML support and run =eglot= on YAML files.
+#+begin_src emacs-lisp :tangle ~/.config/emacs/languages.el :mkdirp yes
+ (use-package yaml-mode
+ :init
+ (add-hook 'yaml-mode-hook 'jj/eglot-setup))
+#+end_src