Replace lsp-mode with eglot
Some checks failed
/ Test config on 20 (push) Failing after 49s

This commit is contained in:
Maciej 2025-09-18 15:06:30 +03:00
parent f03cae68b3
commit 2ef1340e6c
Signed by: maciej
GPG key ID: 28243AF437E32F99
28 changed files with 140 additions and 220 deletions

View file

@ -57,19 +57,17 @@
#'cape-file #'cape-file
#'cape-keyword))) #'cape-keyword)))
(defun icejam-set-no-lsp-capfs () (defun icejam-set-no-eglot-capfs ()
"Set `completion-at-point-function` to non-LSP list." "Set `completion-at-point-function` to non-LSP list."
(setq-local completion-at-point-functions (setq-local completion-at-point-functions
(list (cape-capf-super #'cape-dabbrev #'yasnippet-capf) (list (cape-capf-super #'cape-dabbrev #'yasnippet-capf)
#'cape-file #'cape-file
#'cape-keyword))) #'cape-keyword)))
(defun icejam-set-lsp-capfs () (defun icejam-set-eglot-capfs ()
"Set `completion-at-point-function` to list where LSP is supported." "Set `completion-at-point-function` to list where LSP is supported."
(declare-function lsp-completion-at-point 'lsp-mode)
(setq-local completion-at-point-functions (setq-local completion-at-point-functions
(list (cape-capf-super #'lsp-completion-at-point (list (cape-capf-super #'yasnippet-capf #'eglot-completion-at-point)
#'yasnippet-capf)
#'cape-dabbrev #'cape-dabbrev
#'cape-file))) #'cape-file)))

View file

@ -104,7 +104,7 @@
(use-package icejam-flycheck :ensure nil) (use-package icejam-flycheck :ensure nil)
(use-package icejam-ispell :ensure nil) (use-package icejam-ispell :ensure nil)
(use-package icejam-deft :ensure nil) (use-package icejam-deft :ensure nil)
(use-package icejam-lsp :ensure nil) (use-package icejam-eglot :ensure nil)
(use-package icejam-dashboard :ensure nil) (use-package icejam-dashboard :ensure nil)
(use-package icejam-magit :ensure nil) (use-package icejam-magit :ensure nil)
(use-package icejam-vundo :ensure nil) (use-package icejam-vundo :ensure nil)

13
lisp/icejam-eglot.el Normal file
View file

@ -0,0 +1,13 @@
;;; icejam-eglot -- summary -*- lexical-binding: t; -*-
;;; Commentary:
;;; Global Language Server Protocol Config
;;; Code:
(use-package eldoc-box :ensure t
:hook ((emacs-lisp-mode . eldoc-box-hover-at-point-mode)
(eglot--managed-mode . eldoc-box-hover-at-point-mode))
:custom-face
(eldoc-box-markdown-separator ((t (:inherit (fringe))))))
(provide 'icejam-eglot)
;;; icejam-eglot.el ends here

View file

@ -1,76 +0,0 @@
;;; icejam-lsp -- summary -*- lexical-binding: t; -*-
;;; Commentary:
;;; Global Language Server Protocol Config
;;; Code:
;; https://emacs-lsp.github.io/lsp-mode/page/performance/#use-plists-for-deserialization
;; This supposedly makes it faster.
(setenv "LSP_USE_PLISTS" "true")
(use-package lsp-mode :ensure t :defer t
:config
(add-to-list 'lsp-disabled-clients '(typescript-ts-mode . vue-semantic-server))
(add-to-list 'lsp-disabled-clients '(js-mode . vue-semantic-server))
(add-to-list 'lsp-disabled-clients '(css-mode . vue-semantic-server))
(setq-default lsp-file-watch-threshold 10000
lsp-restart 'auto-restart
lsp-prefer-capf t
lsp-completion-provider :capf
lsp-server-trace nil
lsp-lens-enable nil
lsp-diagnostics-provider :flymake
lsp-lens-mode nil
read-process-output-max (* 1024 1024 4)
lsp-log-io nil
;; Do not use Vue language server for everything .JS/TS/TSX
lsp-volar-take-over-mode nil
lsp-enable-file-watchers nil)
(unbind-key "s-l =" lsp-mode-map)
(unbind-key "s-l G" lsp-mode-map)
(unbind-key "s-l T" lsp-mode-map)
(unbind-key "s-l a" lsp-mode-map)
(unbind-key "s-l g" lsp-mode-map)
(unbind-key "s-l r" lsp-mode-map)
(unbind-key "C-S-SPC" lsp-mode-map)
(unbind-key "s-l G g" lsp-mode-map)
(unbind-key "s-l G r" lsp-mode-map)
(unbind-key "s-l G s" lsp-mode-map)
(unbind-key "s-l h g" lsp-mode-map)
(unbind-key "s-l h h" lsp-mode-map)
(unbind-key "s-l h s" lsp-mode-map)
(unbind-key "s-l g a" lsp-mode-map)
(unbind-key "s-l g e" lsp-mode-map)
(unbind-key "s-l g g" lsp-mode-map)
(unbind-key "s-l g h" lsp-mode-map)
(unbind-key "s-l g r" lsp-mode-map)
(unbind-key "s-l T D" lsp-mode-map)
(unbind-key "s-l T L" lsp-mode-map)
(unbind-key "s-l T S" lsp-mode-map)
(unbind-key "s-l T T" lsp-mode-map)
(unbind-key "s-l T b" lsp-mode-map)
(unbind-key "s-l T d" lsp-mode-map)
(unbind-key "s-l T f" lsp-mode-map)
(unbind-key "s-l T l" lsp-mode-map)
(unbind-key "s-l T s" lsp-mode-map)
(unbind-key "s-l F a" lsp-mode-map)
(unbind-key "s-l F b" lsp-mode-map)
(unbind-key "s-l F r" lsp-mode-map)
(unbind-key "s-l = =" lsp-mode-map)
(unbind-key "s-l s D" lsp-mode-map)
(unbind-key "s-l s d" lsp-mode-map)
(unbind-key "s-l s q" lsp-mode-map)
(unbind-key "s-l s r" lsp-mode-map)
(unbind-key "s-l s s" lsp-mode-map))
(use-package lsp-ui :ensure t :after (lsp-mode) :defer t
:config
(setopt lsp-ui-doc-enable t
lsp-ui-doc-delay 0.5 ;; Wait half a second to display documentation
lsp-ui-doc-position 'at-point
lsp-ui-doc-include-signature t))
;; Lsp debugger mode
(use-package dap-mode :ensure t :after (lsp-mode) :defer t)
(provide 'icejam-lsp)
;;; icejam-lsp.el ends here

View file

@ -108,9 +108,7 @@
;; This only appears for emacs-lisp-mode ;; This only appears for emacs-lisp-mode
("d" "Explain thing at point" helpful-at-point :if-mode emacs-lisp-mode) ("d" "Explain thing at point" helpful-at-point :if-mode emacs-lisp-mode)
;; These only appear for LSP mode ("m" "iMenu" consult-imenu)
("m" "LSP iMenu" lsp-ui-imenu
:if (lambda () (bound-and-true-p lsp-mode)))
;; Finally, quit. ;; Finally, quit.
("q" "Quit" keyboard-quit)]]) ("q" "Quit" keyboard-quit)]])

View file

@ -1,14 +1,12 @@
;;; dart -- summary -*- lexical-binding: t; -*- ;;; dart -- summary -*- lexical-binding: t; -*-
;;; Commentary: ;;; Commentary:
;;; Code: ;;; Code:
(declare-function lsp 'lsp-mode)
(use-package dart-mode :ensure t :defer t) (use-package dart-mode :ensure t :defer t)
(use-package lsp-dart :defer t :ensure t :requires (dart-mode lsp))
(defun icejam-lang-activate-dart-mode () (defun icejam-lang-activate-dart-mode ()
"Reconfigure dart mode for your own purposes." "Reconfigure dart mode for your own purposes."
(lsp)) (eglot-ensure))
(add-hook 'dart-mode-hook 'icejam-lang-activate-dart-mode) (add-hook 'dart-mode-hook 'icejam-lang-activate-dart-mode)

View file

@ -1,13 +1,13 @@
;;; dhall -- summary -*- lexical-binding: t; -*- ;;; dhall -- summary -*- lexical-binding: t; -*-
;;; Commentary: ;;; Commentary:
;;; Code: ;;; Code:
(declare-function lsp 'lsp-mode)
(use-package dhall-mode :ensure t :defer t :requires (lsp)) (use-package dhall-mode :ensure t :defer t)
(defun icejam-lang-activate-dhall-mode () (defun icejam-lang-activate-dhall-mode ()
"Reconfigure dhall mode for your own purposes." "Reconfigure dhall mode for your own purposes."
(lsp)) (eglot-ensure)
(icejam-set-eglot-capfs))
(add-hook 'dhall-mode-hook 'icejam-lang-activate-dhall-mode) (add-hook 'dhall-mode-hook 'icejam-lang-activate-dhall-mode)
(add-hook 'dhall-mode-hook 'display-line-numbers-mode) (add-hook 'dhall-mode-hook 'display-line-numbers-mode)

View file

@ -3,14 +3,15 @@
;;; Code: ;;; Code:
(eval-when-compile (eval-when-compile
(declare-function transient-define-prefix 'transient)
(declare-function column-enforce-n 'column-enforce-mode (number)) (declare-function column-enforce-n 'column-enforce-mode (number))
(declare-function -> 'dash) (declare-function -> 'dash)
(declare-function lsp 'lsp-mode)
(declare-function yas--table-get-create 'yasnippet) (declare-function yas--table-get-create 'yasnippet)
(declare-function yas--remove-template-by-uuid 'yasnippet) (declare-function yas--remove-template-by-uuid 'yasnippet)
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(defvar icejam-language-transient-alist) (defvar icejam-language-transient-alist)
(defvar icejam-elixir-lang-menu)
(defvar apheleia-mode-alist)) (defvar apheleia-mode-alist))
(use-package elixir-ts-mode :ensure t :defer t :after (apheleia) (use-package elixir-ts-mode :ensure t :defer t :after (apheleia)
@ -23,7 +24,7 @@
(concat (propertize "Code actions for " 'face 'transient-heading) (concat (propertize "Code actions for " 'face 'transient-heading)
(propertize (format "%s" major-mode) 'face 'transient-key) (propertize (format "%s" major-mode) 'face 'transient-key)
(propertize ":\n" 'face 'transient-heading))) (propertize ":\n" 'face 'transient-heading)))
("m" "LSP iMenu" lsp-ui-imenu) ("m" "iMenu" consult-imenu)
("r" "Reload buffer" icejam-revert-buffer-no-confirm) ("r" "Reload buffer" icejam-revert-buffer-no-confirm)
("e" "Show errors" flymake-show-buffer-diagnostics) ("e" "Show errors" flymake-show-buffer-diagnostics)
("f" "Format buffer with Elixir formatter" apheleia-format-buffer) ("f" "Format buffer with Elixir formatter" apheleia-format-buffer)
@ -43,14 +44,11 @@
"All things Elixir." "All things Elixir."
(icejam-set-indent 2) (icejam-set-indent 2)
(column-enforce-n 98) (column-enforce-n 98)
(lsp) (eglot-ensure)
;; If needed, switch the one below to false to disable documentation pop-ups ;; If needed, switch the one below to false to disable documentation pop-ups
;; (setq-local lsp-ui-doc-enable t) ;; (setq-local lsp-ui-doc-enable t)
(icejam-set-eglot-capfs)
(setq-local lsp-eldoc-enable-hover nil
lsp-completion-enable-additional-text-edit nil)
(icejam-set-lsp-capfs)
(icejam-delete-elixir-snippets)) (icejam-delete-elixir-snippets))
(add-hook 'heex-ts-mode-hook 'icejam-activate-elixir-ts-mode) (add-hook 'heex-ts-mode-hook 'icejam-activate-elixir-ts-mode)

View file

@ -2,15 +2,11 @@
;;; Commentary: ;;; Commentary:
;;; Code: ;;; Code:
(declare-function lsp 'lsp-mode)
(declare-function column-enforce-n 'column-enforce-mode) (declare-function column-enforce-n 'column-enforce-mode)
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(use-package erlang (use-package erlang :defer t :ensure (:depth 1))
:defer t
:ensure (:depth 1)
:after (lsp lsp-ui))
(defun icejam-activate-erlang-mode () (defun icejam-activate-erlang-mode ()
"Start Erlang related editing process." "Start Erlang related editing process."
@ -18,10 +14,10 @@
(column-enforce-n 80) (column-enforce-n 80)
;; Start LSP ;; Start LSP
(lsp) (eglot-ensure)
;; Capf override ;; Capf override
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'erlang-mode-hook 'icejam-activate-erlang-mode) (add-hook 'erlang-mode-hook 'icejam-activate-erlang-mode)

View file

@ -9,25 +9,20 @@
;; Fsharp configuration ;; Fsharp configuration
;;; Code: ;;; Code:
(declare-function lsp-deferred 'lsp-mode)
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function column-enforce-n 'column-enforce-mode) (declare-function column-enforce-n 'column-enforce-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(use-package fsharp-mode (use-package fsharp-mode :ensure t :defer t)
:requires (lsp-mode lsp-ui)
:ensure t
:defer t)
(defun icejam-activate-fsharp-mode () (defun icejam-activate-fsharp-mode ()
"Activate F# goodies." "Activate F# goodies."
(icejam-set-indent 4) (icejam-set-indent 4)
(column-enforce-n 100) (column-enforce-n 100)
(lsp-deferred) (eglot-ensure)
;; Capf override ;; Capf override
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'fsharp-mode-hook 'icejam-activate-fsharp-mode) (add-hook 'fsharp-mode-hook 'icejam-activate-fsharp-mode)

View file

@ -10,26 +10,22 @@
;;; Code: ;;; Code:
(declare-function column-enforce-n 'column-enforce-mode (number)) (declare-function column-enforce-n 'column-enforce-mode (number))
(declare-function lsp 'lsp-mode)
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(use-package gleam-ts-mode :defer t :after (lsp) (use-package gleam-ts-mode :defer t :ensure t
:ensure (:type git :mode (rx ".gleam" eos))
:host github
:repo "gleam-lang/gleam-mode"
:files ("gleam-ts-mode.el")))
(add-to-list 'auto-mode-alist '("\\.gleam\\'" . gleam-ts-mode)) ;; (add-to-list 'auto-mode-alist '("\\.gleam\\'" . gleam-ts-mode))
(defun icejam-lang-activate-gleam-mode () (defun icejam-lang-activate-gleam-mode ()
"All things Gleam." "All things Gleam."
(icejam-set-indent 2) (icejam-set-indent 2)
(column-enforce-n 100) (column-enforce-n 100)
(lsp) (eglot-ensure)
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'gleam-mode-hook 'icejam-lang-activate-gleam-mode) (add-hook 'gleam-ts-mode-hook 'icejam-lang-activate-gleam-mode)
(provide 'icejam-lang-gleam) (provide 'icejam-lang-gleam)
;;; icejam-lang-gleam.el ends here ;;; icejam-lang-gleam.el ends here

View file

@ -10,21 +10,17 @@
;;; Code: ;;; Code:
(declare-function column-enforce-n 'column-enforce-mode (number)) (declare-function column-enforce-n 'column-enforce-mode (number))
(declare-function lsp 'lsp-mode)
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(use-package go-mode (use-package go-mode :defer t :ensure t)
:requires (lsp-mode lsp-ui)
:defer t
:ensure t)
(defun icejam-activate-golang-mode () (defun icejam-activate-golang-mode ()
"Activate my own Golang mode settings." "Activate my own Golang mode settings."
(icejam-set-indent 8) (icejam-set-indent 8)
(column-enforce-n 100) (column-enforce-n 100)
(lsp) (eglot-ensure)
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'go-mode-hook #'icejam-activate-golang-mode) (add-hook 'go-mode-hook #'icejam-activate-golang-mode)

View file

@ -11,27 +11,19 @@
;;; Code: ;;; Code:
(declare-function column-enforce-n 'column-enforce-mode (number)) (declare-function column-enforce-n 'column-enforce-mode (number))
(declare-function lsp-deferred 'lsp-mode)
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(use-package haskell-mode (use-package haskell-mode :ensure t :defer t)
:ensure t
:defer t)
(use-package lsp-haskell
:ensure t
:defer t
:after (lsp-mode lsp-ui haskell-mode))
(defun icejam-activate-haskell-mode () (defun icejam-activate-haskell-mode ()
"Run this in `haskell-mode'." "Run this in `haskell-mode'."
(icejam-set-indent 2) (icejam-set-indent 2)
(column-enforce-n 80) (column-enforce-n 80)
(lsp-deferred) (eglot-ensure)
;; Capf override ;; Capf override
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'haskell-mode-hook 'icejam-activate-haskell-mode) (add-hook 'haskell-mode-hook 'icejam-activate-haskell-mode)

View file

@ -3,12 +3,10 @@
;;; Code: ;;; Code:
(declare-function column-enforce-n 'column-enforce-mode (number)) (declare-function column-enforce-n 'column-enforce-mode (number))
(declare-function lsp-deferred 'lsp-mode)
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(use-package js2-mode :ensure t :defer t (use-package js2-mode :ensure t :defer t :after(web-mode))
:after (web-mode lsp-mode lsp-ui))
(use-package typescript-ts-mode :ensure nil :defer t) (use-package typescript-ts-mode :ensure nil :defer t)
@ -18,7 +16,7 @@
(defun icejam-activate-typescript-ts-mode () (defun icejam-activate-typescript-ts-mode ()
"Typescript mode overrides." "Typescript mode overrides."
(icejam-set-indent 2) (icejam-set-indent 2)
(lsp-deferred) (eglot-ensure)
(column-enforce-n 100)) (column-enforce-n 100))
(add-hook 'typescript-ts-mode-hook 'icejam-activate-typescript-ts-mode) (add-hook 'typescript-ts-mode-hook 'icejam-activate-typescript-ts-mode)
@ -36,19 +34,17 @@
(icejam-set-indent 2) (icejam-set-indent 2)
(when (not (string-match-p ".json" (buffer-file-name))) (when (not (string-match-p ".json" (buffer-file-name)))
(lsp-deferred)) (eglot-ensure))
(column-enforce-n 80) (column-enforce-n 80)
(setq-local js2-basic-offset 2) (setq-local js2-basic-offset 2)
(setq-local js2-strict-missing-semi-warning nil) (setq-local js2-strict-missing-semi-warning nil)
(setq-local lsp-eldoc-enable-hover nil)
(setq js2-mode-show-parse-errors nil) (setq js2-mode-show-parse-errors nil)
(setq js2-mode-show-strict-warnings nil) (setq js2-mode-show-strict-warnings nil)
(setq-local lsp-eldoc-enable-hover nil)
(setq-local flycheck-check-syntax-automatically '(save mode-enabled)) (setq-local flycheck-check-syntax-automatically '(save mode-enabled))
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'js2-mode-hook 'icejam-activate-js2-mode) (add-hook 'js2-mode-hook 'icejam-activate-js2-mode)

View file

@ -10,14 +10,10 @@
;;; Code: ;;; Code:
(declare-function column-enforce-n 'column-enforce-mode (number)) (declare-function column-enforce-n 'column-enforce-mode (number))
(declare-function lsp 'lsp-mode)
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(use-package kotlin-ts-mode (use-package kotlin-ts-mode :ensure t :defer t)
:ensure t
:after (lsp-mode lsp-ui)
:defer t)
(add-to-list 'auto-mode-alist '("\\.kt\\'" . kotlin-ts-mode)) (add-to-list 'auto-mode-alist '("\\.kt\\'" . kotlin-ts-mode))
(add-to-list 'auto-mode-alist '("\\.kts\\'" . kotlin-ts-mode)) (add-to-list 'auto-mode-alist '("\\.kts\\'" . kotlin-ts-mode))
@ -28,8 +24,8 @@
"All things Kotlin." "All things Kotlin."
(icejam-set-indent 2) (icejam-set-indent 2)
(column-enforce-n 100) (column-enforce-n 100)
(lsp) (eglot-ensure)
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'kotlin-ts-mode-hook 'icejam-activate-kotlin-mode) (add-hook 'kotlin-ts-mode-hook 'icejam-activate-kotlin-mode)

View file

@ -1,9 +1,7 @@
;;; lean -- summary -*- lexical-binding: t; -*- ;;; lean -- summary -*- lexical-binding: t; -*-
;;; Commentary: ;;; Commentary:
;;; Code: ;;; Code:
(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(declare-function lsp-deferred 'lsp-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point)
(use-package lean4-mode (use-package lean4-mode
:ensure (lean4-mode :ensure (lean4-mode
@ -11,7 +9,6 @@
:host github :host github
:repo "leanprover/lean4-mode" :repo "leanprover/lean4-mode"
:files ("*.el" "data")) :files ("*.el" "data"))
:requires (lsp)
:defer t) :defer t)
(defun icejam-activate-lean-mode () (defun icejam-activate-lean-mode ()
@ -19,10 +16,10 @@
(interactive) (interactive)
;; Run LSP ;; Run LSP
(lsp-deferred) (eglot-ensure)
;; Capf override ;; Capf override
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'lean4-mode-hook #'icejam-activate-lean-mode) (add-hook 'lean4-mode-hook #'icejam-activate-lean-mode)

View file

@ -1,4 +1,4 @@
;;; icejam-lang-lua.el --- summary ;;; icejam-lang-lua.el --- summary -*- lexical-binding: t; -*-
;; Author: Maciej Szlosarczyk ;; Author: Maciej Szlosarczyk
;; Maintainer: Maciej Szlosarczyk ;; Maintainer: Maciej Szlosarczyk
@ -11,19 +11,18 @@
;;; Code: ;;; Code:
(eval-when-compile (eval-when-compile
(declare-function column-enforce-n 'column-enforce-mode (number)) (declare-function column-enforce-n 'column-enforce-mode (number))
(declare-function lsp 'lsp-mode)
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(defvar icejam-language-transient-alist)) (defvar icejam-language-transient-alist))
(use-package lua-mode :ensure t :defer t :after (lsp-mode)) (use-package lua-mode :ensure t :defer t)
(defun icejam-activate-lua-mode () (defun icejam-activate-lua-mode ()
"All things related to Lua." "All things related to Lua."
(icejam-set-indent 4) (icejam-set-indent 4)
(column-enforce-n 100) (column-enforce-n 100)
(lsp) (eglot-ensure)
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'lua-mode-hook 'icejam-activate-lua-mode) (add-hook 'lua-mode-hook 'icejam-activate-lua-mode)

View file

@ -6,7 +6,7 @@
(declare-function elpaca-installed-p "elpaca") (declare-function elpaca-installed-p "elpaca")
(declare-function column-enforce-n 'column-enforce-mode (number)) (declare-function column-enforce-n 'column-enforce-mode (number))
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-no-lsp-capfs 'icejam-prog-mode) (declare-function icejam-set-no-eglot-capfs 'icejam-prog-mode)
(declare-function rxt--re-builder-switch-pcre-mode "pcre2el")) (declare-function rxt--re-builder-switch-pcre-mode "pcre2el"))
;; Markdown is a dependency of LSP mode. By wrapping it in unless we silence ;; Markdown is a dependency of LSP mode. By wrapping it in unless we silence

View file

@ -1,11 +1,8 @@
;;; ocaml -- summary -*- lexical-binding: t; -*- ;;; ocaml -- summary -*- lexical-binding: t; -*-
;;; Commentary: ;;; Commentary:
;;; Code: ;;; Code:
(declare-function lsp "lsp-mode" nil)
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(eval-when-compile (defvar icejam-language-transient-alist)) (eval-when-compile (defvar icejam-language-transient-alist))
(use-package merlin :defer t :ensure t) (use-package merlin :defer t :ensure t)
@ -50,8 +47,8 @@
(icejam-set-indent 2) (icejam-set-indent 2)
(opam-switch-mode t) (opam-switch-mode t)
(icejam-load-ocaml-site-packages) (icejam-load-ocaml-site-packages)
(lsp) (eglot-ensure)
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'tuareg-mode-hook 'icejam-activate-tuareg-mode) (add-hook 'tuareg-mode-hook 'icejam-activate-tuareg-mode)

View file

@ -27,13 +27,12 @@
:mode ("\\.graphqls\\'" . graphql-mode)) :mode ("\\.graphqls\\'" . graphql-mode))
;; Yaml ;; Yaml
(declare-function lsp "lsp-mode" nil) (use-package yaml-mode :ensure t :defer t)
(use-package yaml-mode :ensure t :defer t :requires (lsp))
(with-eval-after-load 'yaml-mode (with-eval-after-load 'yaml-mode
(defun icejam-lang-activate-yaml-mode () (defun icejam-lang-activate-yaml-mode ()
"Activate yaml-mode." "Activate yaml-mode."
(lsp)) (eglot-ensure))
(add-hook 'yaml-mode-hook 'icejam-lang-activate-yaml-mode)) (add-hook 'yaml-mode-hook 'icejam-lang-activate-yaml-mode))
;; Other text files ;; Other text files

View file

@ -11,20 +11,19 @@
;;; Code: ;;; Code:
(declare-function column-enforce-n 'column-enforce-mode (number)) (declare-function column-enforce-n 'column-enforce-mode (number))
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(eval-when-compile (defvar icejam-language-transient-alist)) (eval-when-compile (defvar icejam-language-transient-alist))
(use-package php-mode :ensure t :defer t (use-package php-mode :ensure t :defer t)
:requires (lsp-mode lsp-ui))
(transient-define-prefix icejam-lang-php-context-menu () (transient-define-prefix icejam-lang-php-context-menu ()
"PHP Buffer Commands." "PHP Buffer Commands."
["" [""
["LSP" ["LSP"
("m" "iMenu" lsp-ui-imenu)] ("m" "iMenu" consult-imenu)]
["Buffer" ["Buffer"
("r" "Reload" icejam-revert-buffer-no-confirm) ("r" "Reload" icejam-revert-buffer-no-confirm)
("f" "Format" lsp-format-buffer) ("f" "Format" eglot-format-buffer)
("i" "Indent" icejam-mark-and-indent-whole-buffer) ("i" "Indent" icejam-mark-and-indent-whole-buffer)
("e" "Show Errors" flymake-show-buffer-diagnostics)]] ("e" "Show Errors" flymake-show-buffer-diagnostics)]]
["" [""
@ -39,7 +38,7 @@
(keymap-set php-mode-map "C-c l" #'icejam-lang-php-context-menu) (keymap-set php-mode-map "C-c l" #'icejam-lang-php-context-menu)
;; Capf override ;; Capf override
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'php-mode-hook 'icejam-lang-activate-php-mode) (add-hook 'php-mode-hook 'icejam-lang-activate-php-mode)

View file

@ -12,10 +12,9 @@
(declare-function column-enforce-n 'column-enforce-mode (number)) (declare-function column-enforce-n 'column-enforce-mode (number))
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(use-package purescript-mode :ensure t :defer t (use-package purescript-mode :ensure t :defer t)
:after (lsp-mode lsp-ui))
(declare-function purescript-indentation-mode "purescript-mode") (declare-function purescript-indentation-mode "purescript-mode")
@ -28,7 +27,7 @@
(purescript-indentation-mode t) (purescript-indentation-mode t)
;; Capf override ;; Capf override
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'purescript-mode-hook 'icejam-activate-purescript-mode) (add-hook 'purescript-mode-hook 'icejam-activate-purescript-mode)

View file

@ -1,8 +1,7 @@
;;; python -- summary -*- lexical-binding: t; -*- ;;; python -- summary -*- lexical-binding: t; -*-
;;; Commentary: ;;; Commentary:
;;; Code: ;;; Code:
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(declare-function lsp 'lsp-mode)
(declare-function column-enforce-n "column-enforce-mode" (number)) (declare-function column-enforce-n "column-enforce-mode" (number))
(declare-function transient-define-prefix 'transient) (declare-function transient-define-prefix 'transient)
@ -14,10 +13,10 @@
"Python Buffer Commands." "Python Buffer Commands."
["" [""
["LSP" ["LSP"
("m" "iMenu" lsp-ui-imenu)] ("m" "iMenu" consult-imenu)]
["Buffer" ["Buffer"
("r" "Reload" icejam-revert-buffer-no-confirm) ("r" "Reload" icejam-revert-buffer-no-confirm)
("f" "Format" lsp-format-buffer) ("f" "Format" eglot-format-buffer)
("i" "Indent" icejam-mark-and-indent-whole-buffer) ("i" "Indent" icejam-mark-and-indent-whole-buffer)
("e" "Show Errors" flymake-show-buffer-diagnostics)]] ("e" "Show Errors" flymake-show-buffer-diagnostics)]]
["" [""
@ -29,11 +28,11 @@
(defun icejam-lang-activate-python-mode () (defun icejam-lang-activate-python-mode ()
"Activate python mode." "Activate python mode."
(lsp) (eglot-ensure)
(column-enforce-n 99) (column-enforce-n 99)
;; Capf override ;; Capf override
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'python-mode-hook 'icejam-lang-activate-python-mode) (add-hook 'python-mode-hook 'icejam-lang-activate-python-mode)

View file

@ -2,9 +2,8 @@
;;; Commentary: ;;; Commentary:
;;; Code: ;;; Code:
(declare-function lsp 'lsp-mode)
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(eval-when-compile (defvar icejam-language-transient-alist)) (eval-when-compile (defvar icejam-language-transient-alist))
(use-package rspec-mode :ensure t :defer t :commands (rspec-install-snippets)) (use-package rspec-mode :ensure t :defer t :commands (rspec-install-snippets))
@ -24,10 +23,10 @@
(setq ruby-insert-encoding-magic-comment nil) (setq ruby-insert-encoding-magic-comment nil)
;; Start LSP ;; Start LSP
(lsp) (eglot-ensure)
;; Capf override ;; Capf override
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'ruby-ts-mode-hook 'rspec-mode) (add-hook 'ruby-ts-mode-hook 'rspec-mode)
(add-hook 'ruby-ts-mode-hook 'ruby-end-mode) (add-hook 'ruby-ts-mode-hook 'ruby-end-mode)

View file

@ -3,9 +3,8 @@
;;; Code: ;;; Code:
(eval-when-compile (eval-when-compile
(declare-function column-enforce-n 'column-enforce-mode (number)) (declare-function column-enforce-n 'column-enforce-mode (number))
(declare-function lsp-deferred 'lsp-mode)
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point)) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point))
(use-package rust-mode (use-package rust-mode
:ensure t :ensure t
@ -30,8 +29,8 @@
(column-enforce-n 99) (column-enforce-n 99)
;; Run LSP ;; Run LSP
(lsp-deferred) (eglot-ensure)
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'rust-mode-hook 'icejam-activate-rust-mode) (add-hook 'rust-mode-hook 'icejam-activate-rust-mode)
(add-hook 'rust-mode-hook 'flycheck-rust-setup) (add-hook 'rust-mode-hook 'flycheck-rust-setup)

View file

@ -1,10 +1,7 @@
;;; web -- summary -*- lexical-binding: t; -*- ;;; web -- summary -*- lexical-binding: t; -*-
;;; Commentary: ;;; Commentary:
;;; Code: ;;; Code:
(use-package web-mode :ensure t :defer t)
(declare-function lsp 'lsp-mode)
(use-package web-mode :after (lsp flycheck) :ensure t :defer t)
;; Eex Web mode ;; Eex Web mode
(add-to-list 'auto-mode-alist '("\\.eex\\'" . web-mode)) (add-to-list 'auto-mode-alist '("\\.eex\\'" . web-mode))
@ -31,7 +28,7 @@
(setq-local lsp-eldoc-enable-hover nil) (setq-local lsp-eldoc-enable-hover nil)
(setq-local flycheck-check-syntax-automatically '(save mode-enabled)) (setq-local flycheck-check-syntax-automatically '(save mode-enabled))
(when (string-match-p ".vue" (buffer-file-name)) (when (string-match-p ".vue" (buffer-file-name))
(lsp))) (eglot-ensure)))
(add-hook 'web-mode-hook 'icejam-activate-web-mode) (add-hook 'web-mode-hook 'icejam-activate-web-mode)

View file

@ -10,11 +10,10 @@
;;; Code: ;;; Code:
(declare-function column-enforce-n 'column-enforce-mode (number)) (declare-function column-enforce-n 'column-enforce-mode (number))
(declare-function lsp 'lsp-mode)
(declare-function icejam-set-indent 'icejam-prog-mode) (declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
(use-package zig-mode :ensure t :defer t :requires (lsp)) (use-package zig-mode :ensure t :defer t)
(defun icejam-activate-zig-mode () (defun icejam-activate-zig-mode ()
"Goodies for editing zig files." "Goodies for editing zig files."
@ -24,8 +23,8 @@
;; Set indentation to 4 chars ;; Set indentation to 4 chars
(icejam-set-indent 4) (icejam-set-indent 4)
(lsp) (eglot-ensure)
(icejam-set-lsp-capfs)) (icejam-set-eglot-capfs))
(add-hook 'zig-mode-hook 'icejam-activate-zig-mode) (add-hook 'zig-mode-hook 'icejam-activate-zig-mode)

View file

@ -0,0 +1,41 @@
;;; base16-modus-operandi-tinded.el --- summary
;;; Commentary:
;; Author: Maciej Szlosarczyk
;; Maintainer: Maciej Szlosarczyk
;; Version: 0.1-snapshot
;;; Code:
(use-package icejam-themes :ensure nil)
(defvar base16-modus-operandi-tinted-colors
'(:base00 "#fbf7f0"
:base01 "#efe9dd"
:base02 "#c9b9b0"
:base03 "#595959"
:base04 "#595959"
:base05 "#000000"
:base06 "#193668"
:base07 "#193668"
:base08 "#a60000"
:base09 "#006300"
:base0A "#006300"
:base0B "#0031a9"
:base0C "#721045"
:base0D "#00598b"
:base0E "#731c52"
:base0F "#80601f")
"All colors for Base16 Modus Operandi are defined here.")
;; Define the theme
(deftheme base16-modus-operandi-tinted)
;; Add all the faces to the theme
(declare-function base16-theme-define 'base16-theme)
(base16-theme-define 'base16-modus-operandi-tinted base16-modus-operandi-tinted-colors)
;; Mark the theme as provided
(provide-theme 'base16-modus-operandi-tinted)
(provide 'icejam-base16-modus-operandi-tinted)
;;; icejam-base16-modus-operandi-tinted.el ends here