Moved LSP server config to separate file
This commit is contained in:
parent
3058833332
commit
dec032575e
@ -776,122 +776,6 @@ Company is a package that automatically finds completions instead of making the
|
||||
:init (global-flycheck-mode))
|
||||
#+end_src
|
||||
|
||||
** Language Servers
|
||||
|
||||
This will include any language server packages and configuration.
|
||||
|
||||
*** HTML
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package web-mode
|
||||
:mode "\\.html\\'"
|
||||
:hook (web-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
*** JavaScript/Typescript
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package typescript-mode
|
||||
:mode ("\\.ts\\'" "\\.js\\'")
|
||||
:hook (typescript-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
Install the ~typescript-language-server~ through npm.
|
||||
|
||||
#+begin_src sh
|
||||
npm install -g typescript-language-server
|
||||
#+end_src
|
||||
|
||||
*** Python
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package python-mode
|
||||
:mode ("\\.py\\'")
|
||||
:hook (python-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
Install the ~python-lsp-server~ though pip.
|
||||
|
||||
#+begin_src sh
|
||||
pip install python-lsp-server
|
||||
#+end_src
|
||||
|
||||
*** C/C++
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ccls
|
||||
:hook ((c-mode cc-mode c++-mode objc-mode cuda-mode) .
|
||||
(lambda () (require 'ccls) (lsp)))
|
||||
:config
|
||||
(setq ccls-executable "/usr/bin/ccls"))
|
||||
#+end_src
|
||||
|
||||
Install ~ccls~ with homebrew using the following command.
|
||||
|
||||
#+begin_src sh
|
||||
sudo apt install ccls
|
||||
#+end_src
|
||||
|
||||
*** Golang
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package go-mode
|
||||
:hook (go-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
*** Rust
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package rustic
|
||||
:hook (rust-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
*** C#
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package csharp-mode
|
||||
:hook (csharp-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
*** JSON
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package json-mode
|
||||
:hook (json-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
*** Yaml
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package yaml-mode
|
||||
:hook (yaml-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
*** Yara
|
||||
|
||||
To install the corresponding LSP, you need to install ~yls~. Using the command ~pip install -U yls-yara~. Keep in mind that ~yls~ is dependent on an up to date version of ~yara-python~.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package yara-mode
|
||||
:hook (yara-mode . lsp-deferred)
|
||||
:config
|
||||
(with-eval-after-load 'lsp-mode
|
||||
(add-to-list 'lsp-language-id-configuration
|
||||
'(yara-mode . "yara"))
|
||||
|
||||
(lsp-register-client
|
||||
(make-lsp-client :new-connection (lsp-stdio-connection "yls")
|
||||
:activation-fn (lsp-activate-on "yara")
|
||||
:server-id 'yls))))
|
||||
#+end_src
|
||||
|
||||
*** R
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ess
|
||||
:hook (R-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
* Terminal
|
||||
|
||||
Emacs also has the functionality to run a terminal environment. While many other terminals will try to have similar capabilities with keybindings, nothing matches just integrating your terminal in emacs.
|
||||
@ -940,13 +824,21 @@ When using zsh with powerlevel10k, the ~MesloLGS NF~ font is required to make th
|
||||
This is the section to include imports from other files.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
;; Load org file contianing EXWM config.
|
||||
(defun jm/load-config-if-exists (file-path)
|
||||
(when (file-exists-p file_path)
|
||||
(org-babel-load-file file_path)))
|
||||
|
||||
;; Load LSP (Language Server Protocol) configuration.
|
||||
(jm/load-config-if-exists "~/.emacs.d/lsp.org")
|
||||
|
||||
;; Load custom functions from org file.
|
||||
(jm/load-config-if-exists "~/.emacs.d/functions.org")
|
||||
|
||||
;; Load emacs email client configuration
|
||||
(jm/load-config-if-exists "~/.emacs.d/lsp.org")
|
||||
|
||||
;; Load EXWM configuration if environment variable set.
|
||||
(let ((exwm-org-file "~/.emacs.d/exwm.org"))
|
||||
(when (and (file-exists-p exwm-org-file) (getenv "USING_EXWM"))
|
||||
(org-babel-load-file exwm-org-file)))
|
||||
|
||||
;; Load org file containing custom Elisp functions.
|
||||
(let ((functions-file "~/.emacs.d/functions.org"))
|
||||
(when (file-exists-p functions-file)
|
||||
(org-babel-load-file functions-file)))
|
||||
#+end_src
|
||||
|
115
.emacs.d/lsp.org
Normal file
115
.emacs.d/lsp.org
Normal file
@ -0,0 +1,115 @@
|
||||
* Language Servers
|
||||
|
||||
This will include any language server packages and configuration.
|
||||
|
||||
** HTML
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package web-mode
|
||||
:mode "\\.html\\'"
|
||||
:hook (web-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
** JavaScript/Typescript
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package typescript-mode
|
||||
:mode ("\\.ts\\'" "\\.js\\'")
|
||||
:hook (typescript-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
Install the ~typescript-language-server~ through npm.
|
||||
|
||||
#+begin_src sh
|
||||
npm install -g typescript-language-server
|
||||
#+end_src
|
||||
|
||||
** Python
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package python-mode
|
||||
:mode ("\\.py\\'")
|
||||
:hook (python-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
Install the ~python-lsp-server~ though pip.
|
||||
|
||||
#+begin_src sh
|
||||
pip install python-lsp-server
|
||||
#+end_src
|
||||
|
||||
** C/C++
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ccls
|
||||
:hook ((c-mode cc-mode c++-mode objc-mode cuda-mode) .
|
||||
(lambda () (require 'ccls) (lsp)))
|
||||
:config
|
||||
(setq ccls-executable "/usr/bin/ccls"))
|
||||
#+end_src
|
||||
|
||||
Install ~ccls~ with homebrew using the following command.
|
||||
|
||||
#+begin_src sh
|
||||
sudo apt install ccls
|
||||
#+end_src
|
||||
|
||||
** Golang
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package go-mode
|
||||
:hook (go-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
** Rust
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package rustic
|
||||
:hook (rust-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
** C#
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package csharp-mode
|
||||
:hook (csharp-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
** JSON
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package json-mode
|
||||
:hook (json-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
** Yaml
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package yaml-mode
|
||||
:hook (yaml-mode . lsp-deferred))
|
||||
#+end_src
|
||||
|
||||
** Yara
|
||||
|
||||
To install the corresponding LSP, you need to install ~yls~. Using the command ~pip install -U yls-yara~. Keep in mind that ~yls~ is dependent on an up to date version of ~yara-python~.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package yara-mode
|
||||
:hook (yara-mode . lsp-deferred)
|
||||
:config
|
||||
(with-eval-after-load 'lsp-mode
|
||||
(add-to-list 'lsp-language-id-configuration
|
||||
'(yara-mode . "yara"))
|
||||
|
||||
(lsp-register-client
|
||||
(make-lsp-client :new-connection (lsp-stdio-connection "yls")
|
||||
:activation-fn (lsp-activate-on "yara")
|
||||
:server-id 'yls))))
|
||||
#+end_src
|
||||
|
||||
** R
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ess
|
||||
:hook (R-mode . lsp-deferred))
|
||||
#+end_src
|
Loading…
x
Reference in New Issue
Block a user