fix lsp stuff
This commit is contained in:
121
init.el
121
init.el
@@ -26,9 +26,9 @@
|
|||||||
(global-display-line-numbers-mode 1)
|
(global-display-line-numbers-mode 1)
|
||||||
(add-to-list 'image-types 'svg)
|
(add-to-list 'image-types 'svg)
|
||||||
(setq require-final-newline t)
|
(setq require-final-newline t)
|
||||||
|
|
||||||
(setq warning-minimum-level :error) ; Don't show *warnings*
|
(setq warning-minimum-level :error) ; Don't show *warnings*
|
||||||
(set-frame-font "Ubuntu Mono 12" nil t)
|
|
||||||
|
(set-frame-font "ComicShannsMono Nerd Font-13" nil t)
|
||||||
|
|
||||||
;; Stupid bold font for no reason, BEGONE!
|
;; Stupid bold font for no reason, BEGONE!
|
||||||
(mapc
|
(mapc
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
|
|
||||||
;; MODES
|
;; MODES
|
||||||
|
|
||||||
;;; No config
|
;;; No config use-packages
|
||||||
(use-package apache-mode)
|
(use-package apache-mode)
|
||||||
(use-package yaml-mode)
|
(use-package yaml-mode)
|
||||||
(use-package raku-mode)
|
(use-package raku-mode)
|
||||||
@@ -177,33 +177,32 @@
|
|||||||
:repo "orzechowskid/tsx-mode.el"
|
:repo "orzechowskid/tsx-mode.el"
|
||||||
:branch "emacs30"))
|
:branch "emacs30"))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;;; With config
|
;;; With config
|
||||||
|
|
||||||
;;;; BEGIN theming
|
;;;; BEGIN theming
|
||||||
;; I install a lot of themes for seemingly no reason :~)
|
|
||||||
(use-package all-the-icons)
|
(use-package all-the-icons)
|
||||||
(use-package nerd-icons)
|
(use-package nerd-icons)
|
||||||
(use-package doom-modeline
|
(use-package doom-modeline
|
||||||
|
:ensure t
|
||||||
:init
|
:init
|
||||||
|
(setq doom-modeline-height 25)
|
||||||
|
(setq doom-modeline-major-mode-icon t)
|
||||||
|
(setq doom-modeline-major-mode-color-icon t)
|
||||||
|
(setq doom-modeline-lsp-icon t)
|
||||||
(doom-modeline-mode +1))
|
(doom-modeline-mode +1))
|
||||||
(use-package doom-themes
|
(use-package doom-themes
|
||||||
:custom
|
:custom
|
||||||
;; Global settings (defaults)
|
;; Global settings (defaults)
|
||||||
(doom-themes-enable-bold t) ; if nil, bold is universally disabled
|
(doom-themes-enable-bold nil) ; if nil, bold is universally disabled
|
||||||
(doom-themes-enable-italic t) ; if nil, italics is universally disabled
|
(doom-themes-enable-italic nil) ; if nil, italics is universally disabled
|
||||||
:config
|
:config
|
||||||
(load-theme 'doom-Iosvkem t)
|
(load-theme 'doom-city-lights t)
|
||||||
;; Enable flashing mode-line on errors
|
;; Enable flashing mode-line on errors
|
||||||
(doom-themes-visual-bell-config)
|
(doom-themes-visual-bell-config)
|
||||||
;; Enable custom neotree theme (nerd-icons must be installed!)
|
;; Enable custom neotree theme (nerd-icons must be installed!)
|
||||||
(doom-themes-neotree-config)
|
(doom-themes-neotree-config)
|
||||||
;; Corrects (and improves) org-mode's native fontification.
|
;; Corrects (and improves) org-mode's native fontification.
|
||||||
(doom-themes-org-config))
|
(doom-themes-org-config))
|
||||||
(use-package darcula-theme
|
|
||||||
:config
|
|
||||||
(load-theme 'darcula t))
|
|
||||||
;;;;
|
;;;;
|
||||||
|
|
||||||
;;;; BEGIN: web-mode
|
;;;; BEGIN: web-mode
|
||||||
@@ -265,57 +264,62 @@
|
|||||||
|
|
||||||
;;;; END cperl-mode
|
;;;; END cperl-mode
|
||||||
|
|
||||||
;;;; BEGIN corfu
|
;;;; BEGIN go-mode
|
||||||
(use-package corfu
|
(use-package go-mode
|
||||||
:ensure t
|
:ensure t
|
||||||
;; Optional customizations
|
|
||||||
:custom
|
|
||||||
(corfu-cycle t) ; Allows cycling through candidates
|
|
||||||
(corfu-auto t) ; Enable auto completion
|
|
||||||
(corfu-auto-prefix 2) ; Minimum length of prefix for completion
|
|
||||||
(corfu-auto-delay 0) ; No delay for completion
|
|
||||||
(corfu-popupinfo-delay '(0.5 . 0.2)) ; Automatically update info popup after that numver of seconds
|
|
||||||
(corfu-preview-current 'insert) ; insert previewed candidate
|
|
||||||
(corfu-preselect 'prompt)
|
|
||||||
(corfu-on-exact-match nil) ; Don't auto expand tempel snippets
|
|
||||||
;; Optionally use TAB for cycling, default is `corfu-complete'.
|
|
||||||
:bind (:map corfu-map
|
|
||||||
("TAB" . corfu-next)
|
|
||||||
([tab] . corfu-next)
|
|
||||||
("S-TAB" . corfu-previous)
|
|
||||||
([backtab] . corfu-previous)
|
|
||||||
("S-<return>" . corfu-insert)
|
|
||||||
("RET" . corfu-insert))
|
|
||||||
|
|
||||||
:init
|
|
||||||
(global-corfu-mode)
|
|
||||||
(corfu-history-mode)
|
|
||||||
(corfu-popupinfo-mode) ; Popup completion info
|
|
||||||
:config
|
:config
|
||||||
(add-hook 'eshell-mode-hook
|
(add-to-list 'auto-mode-alist '("\\.tmpl\\'" . web-mode))
|
||||||
(lambda () (setq-local corfu-quit-at-boundary t
|
:init
|
||||||
corfu-quit-no-match t
|
(add-hook 'before-save-hook #'gofmt-before-save))
|
||||||
corfu-auto nil)
|
;;;; END go-mode
|
||||||
(corfu-mode))
|
|
||||||
nil
|
;;;; BEGIN corfu
|
||||||
t))
|
; (use-package corfu
|
||||||
|
; :ensure t
|
||||||
|
; ;; Optional customizations
|
||||||
|
; :custom
|
||||||
|
; (corfu-cycle t) ; Allows cycling through candidates
|
||||||
|
; (corfu-auto t) ; Enable auto completion
|
||||||
|
; (corfu-auto-prefix 2) ; Minimum length of prefix for completion
|
||||||
|
; (corfu-auto-delay 0) ; No delay for completion
|
||||||
|
; (corfu-popupinfo-delay '(0.5 . 0.2)) ; Automatically update info popup after that numver of seconds
|
||||||
|
; (corfu-preview-current 'insert) ; insert previewed candidate
|
||||||
|
; (corfu-preselect 'prompt)
|
||||||
|
; (corfu-on-exact-match nil) ; Don't auto expand tempel snippets
|
||||||
|
; ;; Optionally use TAB for cycling, default is `corfu-complete'.
|
||||||
|
; :bind (:map corfu-map
|
||||||
|
; ("TAB" . corfu-next)
|
||||||
|
; ([tab] . corfu-next)
|
||||||
|
; ("S-TAB" . corfu-previous)
|
||||||
|
; ([backtab] . corfu-previous)
|
||||||
|
; ("S-<return>" . corfu-insert)
|
||||||
|
; ("RET" . corfu-insert))
|
||||||
|
;
|
||||||
|
; :init
|
||||||
|
; (global-corfu-mode)
|
||||||
|
; (corfu-history-mode)
|
||||||
|
; (corfu-popupinfo-mode) ; Popup completion info
|
||||||
|
; :config
|
||||||
|
; (add-hook 'eshell-mode-hook
|
||||||
|
; (lambda () (setq-local corfu-quit-at-boundary t
|
||||||
|
; corfu-quit-no-match t
|
||||||
|
; corfu-auto nil)
|
||||||
|
; (corfu-mode))
|
||||||
|
; nil
|
||||||
|
; t))
|
||||||
;;;; END corfu
|
;;;; END corfu
|
||||||
|
|
||||||
|
(use-package company
|
||||||
|
:ensure t
|
||||||
|
:init (global-company-mode))
|
||||||
|
|
||||||
;;;; BEGIN lsp
|
;;;; BEGIN lsp
|
||||||
(use-package yasnippet)
|
(use-package yasnippet)
|
||||||
(use-package which-key)
|
(use-package which-key)
|
||||||
(use-package lsp-mode
|
(use-package lsp-mode
|
||||||
:diminish "LSP"
|
|
||||||
:ensure t
|
:ensure t
|
||||||
:hook ((lsp-mode . lsp-diagnostics-mode)
|
|
||||||
(lsp-mode . lsp-enable-which-key-integration)
|
|
||||||
((cperl-mode
|
|
||||||
tsx-ts-mode
|
|
||||||
typescript-ts-mode
|
|
||||||
js-ts-mode) . lsp-deferred))
|
|
||||||
:custom
|
:custom
|
||||||
(lsp-keymap-prefix "C-c l") ; Prefix for LSP actions
|
(lsp-keymap-prefix "C-c l") ; Prefix for LSP actions
|
||||||
(lsp-completion-provider :none) ; Using Corfu as the provider
|
|
||||||
(lsp-diagnostics-provider :flycheck)
|
(lsp-diagnostics-provider :flycheck)
|
||||||
(lsp-session-file (locate-user-emacs-file ".lsp-session"))
|
(lsp-session-file (locate-user-emacs-file ".lsp-session"))
|
||||||
(lsp-log-io nil) ; IMPORTANT! Use only for debugging! Drastically affects performance
|
(lsp-log-io nil) ; IMPORTANT! Use only for debugging! Drastically affects performance
|
||||||
@@ -329,18 +333,15 @@
|
|||||||
(lsp-enable-file-watchers nil)
|
(lsp-enable-file-watchers nil)
|
||||||
(lsp-enable-folding nil) ; I disable folding since I use origami
|
(lsp-enable-folding nil) ; I disable folding since I use origami
|
||||||
(lsp-enable-imenu t)
|
(lsp-enable-imenu t)
|
||||||
(lsp-enable-indentation nil) ; I use prettier
|
|
||||||
(lsp-enable-links nil) ; No need since we have `browse-url'
|
(lsp-enable-links nil) ; No need since we have `browse-url'
|
||||||
(lsp-enable-suggest-server-download t) ; Useful prompt to download LSP providers
|
(lsp-enable-suggest-server-download t) ; Useful prompt to download LSP providers
|
||||||
(lsp-enable-symbol-highlighting t) ; Shows usages of symbol at point in the current buffer
|
(lsp-enable-symbol-highlighting t) ; Shows usages of symbol at point in the current buffer
|
||||||
(lsp-enable-text-document-color nil) ; This is Treesitter's job
|
(lsp-enable-text-document-color nil) ; This is Treesitter's job
|
||||||
|
|
||||||
(lsp-ui-sideline-show-hover nil) ; Sideline used only for diagnostics
|
(lsp-ui-sideline-show-hover nil) ; Sideline used only for diagnostics
|
||||||
(lsp-ui-sideline-diagnostic-max-lines 20) ; 20 lines since typescript errors can be quite big
|
(lsp-ui-sideline-diagnostic-max-lines 20) ; 20 lines since typescript errors can be quite big
|
||||||
;; completion
|
;; completion
|
||||||
(lsp-completion-enable t)
|
(lsp-completion-enable t)
|
||||||
(lsp-completion-enable-additional-text-edit t) ; Ex: auto-insert an import for a completion candidate
|
(lsp-completion-enable-additional-text-edit t) ; Ex: auto-insert an import for a completion candidate
|
||||||
(lsp-enable-snippet t) ; Important to provide full JSX completion
|
|
||||||
(lsp-completion-show-kind t) ; Optional
|
(lsp-completion-show-kind t) ; Optional
|
||||||
;; headerline
|
;; headerline
|
||||||
(lsp-headerline-breadcrumb-enable t) ; Optional, I like the breadcrumbs
|
(lsp-headerline-breadcrumb-enable t) ; Optional, I like the breadcrumbs
|
||||||
@@ -358,14 +359,18 @@
|
|||||||
(lsp-lens-enable nil) ; Optional, I don't need it
|
(lsp-lens-enable nil) ; Optional, I don't need it
|
||||||
;; semantic
|
;; semantic
|
||||||
(lsp-semantic-tokens-enable nil) ; Related to highlighting, and we defer to treesitter
|
(lsp-semantic-tokens-enable nil) ; Related to highlighting, and we defer to treesitter
|
||||||
|
(lsp-format-buffer-on-size-list '(c++-mode))
|
||||||
:init
|
:init
|
||||||
(setq lsp-use-plists t)
|
(setq lsp-use-plists t)
|
||||||
:config
|
:config
|
||||||
|
(setq lsp-warn-no-matched-clients nil) ; Don't warn on unsupported modes.
|
||||||
|
(add-hook 'go-mode-hook 'lsp)
|
||||||
|
(add-hook 'c++-mode-hook 'lsp)
|
||||||
|
(add-hook 'lsp-mode-hook 'lsp-diagnostics-mode)
|
||||||
|
(add-hook 'lsp-mode-hook 'lsp-enable-which-key-integration)
|
||||||
(add-hook 'lsp-mode-hook (lambda ()
|
(add-hook 'lsp-mode-hook (lambda ()
|
||||||
(setq-local completion-styles '(orderless)
|
(setq-local completion-styles '(orderless)
|
||||||
completion-category-defaults nil)))
|
completion-category-defaults nil))))
|
||||||
|
|
||||||
(use-package lsp-ui
|
(use-package lsp-ui
|
||||||
:ensure t
|
:ensure t
|
||||||
:commands
|
:commands
|
||||||
|
|||||||
Reference in New Issue
Block a user