aboutsummaryrefslogtreecommitdiff
path: root/gentoo/.config/emacs/languages.org
blob: a0a19e425356049b017a6fba6abf5794efc6a3aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
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