emacs-config/unused/50-lang.org

1.8 KiB

Languages

Intro

This is where Programming Language modes are configured.

Built-in Modes

C++

  (add-hook 'c++-mode-hook #'display-line-numbers-mode)
  (add-hook 'c++-mode-hook #'lsp-deferred)

Bash

  (add-hook 'sh-mode-hook #'display-line-numbers-mode)
  (add-hook 'sh-mode-hook #'lsp-deferred)

HTML

  (add-hook 'mhtml-mode-hook #'display-line-numbers-mode)
  (add-hook 'mhtml-mode-hook #'lsp-deferred)

TeX/LaTeX

  (add-hook 'latex-mode-hook #'display-line-numbers-mode)
  (add-hook 'latex-mode-hook #'lsp-deferred)

JavaScript

  (add-hook 'js-mode-hook #'display-line-numbers-mode)
  (add-hook 'js-mode-hook #'lsp-deferred)

Installed Modes

Go

  (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))

TypeScript

  (use-package typescript-mode
    :mode "\\.ts\\'"
    :hook
    (typescript-mode . lsp-deferred)
    (typescript-mode . display-line-numbers-mode))

LSP ELPA Packages

Python

  (use-package lsp-pyright
    :hook (python-mode . (lambda ()
       (require 'lsp-pyright)
       (lsp-deferred)
       (display-line-numbers-mode))))  ; or lsp

Java

(use-package lsp-java
:hook
(java-mode-hook . display-line-numbers-mode)
(java-mode-hook . lsp-deferred))