#+TITLE: Languages * Intro This is where Programming Language modes are configured. * Built-in Modes ** C++ #+begin_src emacs-lisp (add-hook 'c++-mode-hook #'display-line-numbers-mode) (add-hook 'c++-mode-hook #'lsp-deferred) #+end_src ** Bash #+begin_src emacs-lisp (add-hook 'sh-mode-hook #'display-line-numbers-mode) (add-hook 'sh-mode-hook #'lsp-deferred) #+end_src ** HTML #+begin_src emacs-lisp (add-hook 'mhtml-mode-hook #'display-line-numbers-mode) (add-hook 'mhtml-mode-hook #'lsp-deferred) #+end_src ** TeX/LaTeX #+begin_src emacs-lisp (add-hook 'latex-mode-hook #'display-line-numbers-mode) (add-hook 'latex-mode-hook #'lsp-deferred) #+end_src ** JavaScript #+begin_src emacs-lisp (add-hook 'js-mode-hook #'display-line-numbers-mode) (add-hook 'js-mode-hook #'lsp-deferred) #+end_src * Installed Modes ** Go #+begin_src emacs-lisp (use-package go-mode :hook go-mode (go-mode . lsp-deferred) (before-save . lsp-format-buffer) (before-save . lsp-organize-imports) :config (add-hook 'go-mode-hook #'display-line-numbers-mode)) #+end_src ** TypeScript #+begin_src emacs-lisp (use-package typescript-mode :mode "\\.ts\\'" :hook (typescript-mode . lsp-deferred) (typescript-mode . display-line-numbers-mode)) #+end_src * LSP ELPA Packages ** Python #+begin_src emacs-lisp (use-package lsp-pyright :hook (python-mode . (lambda () (require 'lsp-pyright) (lsp-deferred) (display-line-numbers-mode)))) ; or lsp #+end_src ** Java #+begin_src emacs-lisp (use-package lsp-java :hook (java-mode-hook . display-line-numbers-mode) (java-mode-hook . lsp-deferred)) #+end_src