Newer
Older
;; prog-lsp.el --- init-file for emacs language server protocol
;;; Commentary:
;;
;;; Code:
;;;
((eq 'nox user/lsp-client)
(use-package nox
:load-path "lisp/nox"
:config
(add-to-list 'nox-server-programs
`(python-mode . ("pyls" "-v" "--tcp" "--host"
"localhost" "--port" :autoport)))
(add-to-list 'nox-server-programs
`((c++-mode c-mode) . ("clangd")))
(dolist (hook (list
'python-mode-hook
'c-mode-hook
'c-mode-common-hook
'c++-mode-hook
'haskell-mode-hook))
(add-hook hook '(lambda () (nox-ensure)))))
)
((eq 'lsp-mode user/lsp-client)
(use-package lsp-mode
:ensure t
:init
(setq lsp-keymap-prefix "C-c l")
:hook (
(c-mode . lsp-deferred)
(c++-mode . lsp-deferred)
(python-mode . lsp-deferred)
(lsp-mode . lsp-enable-which-key-integration)
)
:config
(setq lsp-enable-snippet nil)
:commands (lsp lsp-deferred)
)
))
(use-package lsp-ui
:ensure t
:config
(setq lsp-ui-doc-enable nil)
:commands lsp-ui-mode)
(use-package lsp-ivy
:ensure t
:commands lsp-ivy-workspace-symbol)
(use-package dap-mode
;;; Flycheck
(use-package flycheck-mode
:ensure flycheck
:defer t
:init
(progn
(setq flycheck-standard-error-navigation nil
flycheck-global-modes nil))
:bind
(("C-c e b" . 'flycheck-buffer)
("C-c e c" . 'flycheck-clear)
("C-c e h" . 'flycheck-describe-checker)
("C-c e s" . 'flycheck-select-checker)
("C-c e x" . 'flycheck-explain-error-at-point))