diff --git a/lisp/icejam-complete-at-point.el b/lisp/icejam-complete-at-point.el index 37981c5..5426c74 100644 --- a/lisp/icejam-complete-at-point.el +++ b/lisp/icejam-complete-at-point.el @@ -57,19 +57,17 @@ #'cape-file #'cape-keyword))) -(defun icejam-set-no-lsp-capfs () +(defun icejam-set-no-eglot-capfs () "Set `completion-at-point-function` to non-LSP list." (setq-local completion-at-point-functions (list (cape-capf-super #'cape-dabbrev #'yasnippet-capf) #'cape-file #'cape-keyword))) -(defun icejam-set-lsp-capfs () +(defun icejam-set-eglot-capfs () "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 - (list (cape-capf-super #'lsp-completion-at-point - #'yasnippet-capf) + (list (cape-capf-super #'yasnippet-capf #'eglot-completion-at-point) #'cape-dabbrev #'cape-file))) diff --git a/lisp/icejam-custom-init.el b/lisp/icejam-custom-init.el index 3674913..fec2c94 100644 --- a/lisp/icejam-custom-init.el +++ b/lisp/icejam-custom-init.el @@ -104,7 +104,7 @@ (use-package icejam-flycheck :ensure nil) (use-package icejam-ispell :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-magit :ensure nil) (use-package icejam-vundo :ensure nil) diff --git a/lisp/icejam-eglot.el b/lisp/icejam-eglot.el new file mode 100644 index 0000000..0bb7faa --- /dev/null +++ b/lisp/icejam-eglot.el @@ -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 diff --git a/lisp/icejam-lsp.el b/lisp/icejam-lsp.el deleted file mode 100644 index 5ec222e..0000000 --- a/lisp/icejam-lsp.el +++ /dev/null @@ -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 diff --git a/lisp/icejam-transient.el b/lisp/icejam-transient.el index 7994260..7dee4b6 100644 --- a/lisp/icejam-transient.el +++ b/lisp/icejam-transient.el @@ -108,9 +108,7 @@ ;; This only appears for emacs-lisp-mode ("d" "Explain thing at point" helpful-at-point :if-mode emacs-lisp-mode) - ;; These only appear for LSP mode - ("m" "LSP iMenu" lsp-ui-imenu - :if (lambda () (bound-and-true-p lsp-mode))) + ("m" "iMenu" consult-imenu) ;; Finally, quit. ("q" "Quit" keyboard-quit)]]) diff --git a/lisp/langs/icejam-lang-dart.el b/lisp/langs/icejam-lang-dart.el index a8e189b..ae80968 100644 --- a/lisp/langs/icejam-lang-dart.el +++ b/lisp/langs/icejam-lang-dart.el @@ -1,14 +1,12 @@ ;;; dart -- summary -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: -(declare-function lsp 'lsp-mode) (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 () "Reconfigure dart mode for your own purposes." - (lsp)) + (eglot-ensure)) (add-hook 'dart-mode-hook 'icejam-lang-activate-dart-mode) diff --git a/lisp/langs/icejam-lang-dhall.el b/lisp/langs/icejam-lang-dhall.el index 0e12db2..f92d9f9 100644 --- a/lisp/langs/icejam-lang-dhall.el +++ b/lisp/langs/icejam-lang-dhall.el @@ -1,13 +1,13 @@ ;;; dhall -- summary -*- lexical-binding: t; -*- ;;; Commentary: ;;; 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 () "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 'display-line-numbers-mode) diff --git a/lisp/langs/icejam-lang-elixir.el b/lisp/langs/icejam-lang-elixir.el index 2916f51..44b055c 100644 --- a/lisp/langs/icejam-lang-elixir.el +++ b/lisp/langs/icejam-lang-elixir.el @@ -3,14 +3,15 @@ ;;; Code: (eval-when-compile + (declare-function transient-define-prefix 'transient) (declare-function column-enforce-n 'column-enforce-mode (number)) (declare-function -> 'dash) - (declare-function lsp 'lsp-mode) (declare-function yas--table-get-create 'yasnippet) (declare-function yas--remove-template-by-uuid 'yasnippet) (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-elixir-lang-menu) (defvar apheleia-mode-alist)) (use-package elixir-ts-mode :ensure t :defer t :after (apheleia) @@ -23,7 +24,7 @@ (concat (propertize "Code actions for " 'face 'transient-heading) (propertize (format "%s" major-mode) 'face 'transient-key) (propertize ":\n" 'face 'transient-heading))) - ("m" "LSP iMenu" lsp-ui-imenu) + ("m" "iMenu" consult-imenu) ("r" "Reload buffer" icejam-revert-buffer-no-confirm) ("e" "Show errors" flymake-show-buffer-diagnostics) ("f" "Format buffer with Elixir formatter" apheleia-format-buffer) @@ -43,14 +44,11 @@ "All things Elixir." (icejam-set-indent 2) (column-enforce-n 98) - (lsp) + (eglot-ensure) ;; If needed, switch the one below to false to disable documentation pop-ups ;; (setq-local lsp-ui-doc-enable t) - - (setq-local lsp-eldoc-enable-hover nil - lsp-completion-enable-additional-text-edit nil) - (icejam-set-lsp-capfs) + (icejam-set-eglot-capfs) (icejam-delete-elixir-snippets)) (add-hook 'heex-ts-mode-hook 'icejam-activate-elixir-ts-mode) diff --git a/lisp/langs/icejam-lang-erlang.el b/lisp/langs/icejam-lang-erlang.el index 58826de..53aea32 100644 --- a/lisp/langs/icejam-lang-erlang.el +++ b/lisp/langs/icejam-lang-erlang.el @@ -2,15 +2,11 @@ ;;; Commentary: ;;; Code: -(declare-function lsp 'lsp-mode) (declare-function column-enforce-n 'column-enforce-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 - :defer t - :ensure (:depth 1) - :after (lsp lsp-ui)) +(use-package erlang :defer t :ensure (:depth 1)) (defun icejam-activate-erlang-mode () "Start Erlang related editing process." @@ -18,10 +14,10 @@ (column-enforce-n 80) ;; Start LSP - (lsp) + (eglot-ensure) ;; Capf override - (icejam-set-lsp-capfs)) + (icejam-set-eglot-capfs)) (add-hook 'erlang-mode-hook 'icejam-activate-erlang-mode) diff --git a/lisp/langs/icejam-lang-fsharp.el b/lisp/langs/icejam-lang-fsharp.el index 45d1334..4417834 100644 --- a/lisp/langs/icejam-lang-fsharp.el +++ b/lisp/langs/icejam-lang-fsharp.el @@ -9,25 +9,20 @@ ;; Fsharp configuration ;;; Code: - -(declare-function lsp-deferred 'lsp-mode) (declare-function icejam-set-indent 'icejam-prog-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 - :requires (lsp-mode lsp-ui) - :ensure t - :defer t) +(use-package fsharp-mode :ensure t :defer t) (defun icejam-activate-fsharp-mode () "Activate F# goodies." (icejam-set-indent 4) (column-enforce-n 100) - (lsp-deferred) + (eglot-ensure) ;; Capf override - (icejam-set-lsp-capfs)) + (icejam-set-eglot-capfs)) (add-hook 'fsharp-mode-hook 'icejam-activate-fsharp-mode) diff --git a/lisp/langs/icejam-lang-gleam.el b/lisp/langs/icejam-lang-gleam.el index 8198432..8ae481a 100644 --- a/lisp/langs/icejam-lang-gleam.el +++ b/lisp/langs/icejam-lang-gleam.el @@ -10,26 +10,22 @@ ;;; Code: (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-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) - :ensure (:type git - :host github - :repo "gleam-lang/gleam-mode" - :files ("gleam-ts-mode.el"))) +(use-package gleam-ts-mode :defer t :ensure t + :mode (rx ".gleam" eos)) -(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 () "All things Gleam." (icejam-set-indent 2) (column-enforce-n 100) - (lsp) - (icejam-set-lsp-capfs)) + (eglot-ensure) + (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) ;;; icejam-lang-gleam.el ends here diff --git a/lisp/langs/icejam-lang-golang.el b/lisp/langs/icejam-lang-golang.el index 2c4ce26..6bc653c 100644 --- a/lisp/langs/icejam-lang-golang.el +++ b/lisp/langs/icejam-lang-golang.el @@ -10,21 +10,17 @@ ;;; Code: (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-lsp-capfs 'icejam-complete-at-point) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) -(use-package go-mode - :requires (lsp-mode lsp-ui) - :defer t - :ensure t) +(use-package go-mode :defer t :ensure t) (defun icejam-activate-golang-mode () "Activate my own Golang mode settings." (icejam-set-indent 8) (column-enforce-n 100) - (lsp) - (icejam-set-lsp-capfs)) + (eglot-ensure) + (icejam-set-eglot-capfs)) (add-hook 'go-mode-hook #'icejam-activate-golang-mode) diff --git a/lisp/langs/icejam-lang-haskell.el b/lisp/langs/icejam-lang-haskell.el index 8630fe3..5dab443 100644 --- a/lisp/langs/icejam-lang-haskell.el +++ b/lisp/langs/icejam-lang-haskell.el @@ -11,27 +11,19 @@ ;;; Code: (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-lsp-capfs 'icejam-complete-at-point) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) -(use-package haskell-mode - :ensure t - :defer t) - -(use-package lsp-haskell - :ensure t - :defer t - :after (lsp-mode lsp-ui haskell-mode)) +(use-package haskell-mode :ensure t :defer t) (defun icejam-activate-haskell-mode () "Run this in `haskell-mode'." (icejam-set-indent 2) (column-enforce-n 80) - (lsp-deferred) + (eglot-ensure) ;; Capf override - (icejam-set-lsp-capfs)) + (icejam-set-eglot-capfs)) (add-hook 'haskell-mode-hook 'icejam-activate-haskell-mode) diff --git a/lisp/langs/icejam-lang-javascript.el b/lisp/langs/icejam-lang-javascript.el index 8b4e50d..cb32e82 100644 --- a/lisp/langs/icejam-lang-javascript.el +++ b/lisp/langs/icejam-lang-javascript.el @@ -3,12 +3,10 @@ ;;; Code: (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-lsp-capfs 'icejam-complete-at-point) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) -(use-package js2-mode :ensure t :defer t - :after (web-mode lsp-mode lsp-ui)) +(use-package js2-mode :ensure t :defer t :after(web-mode)) (use-package typescript-ts-mode :ensure nil :defer t) @@ -18,7 +16,7 @@ (defun icejam-activate-typescript-ts-mode () "Typescript mode overrides." (icejam-set-indent 2) - (lsp-deferred) + (eglot-ensure) (column-enforce-n 100)) (add-hook 'typescript-ts-mode-hook 'icejam-activate-typescript-ts-mode) @@ -36,19 +34,17 @@ (icejam-set-indent 2) (when (not (string-match-p ".json" (buffer-file-name))) - (lsp-deferred)) + (eglot-ensure)) (column-enforce-n 80) (setq-local js2-basic-offset 2) (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-strict-warnings nil) - (setq-local lsp-eldoc-enable-hover nil) (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) diff --git a/lisp/langs/icejam-lang-kotlin.el b/lisp/langs/icejam-lang-kotlin.el index bca404a..706081d 100644 --- a/lisp/langs/icejam-lang-kotlin.el +++ b/lisp/langs/icejam-lang-kotlin.el @@ -10,14 +10,10 @@ ;;; Code: (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-lsp-capfs 'icejam-complete-at-point) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) -(use-package kotlin-ts-mode - :ensure t - :after (lsp-mode lsp-ui) - :defer t) +(use-package kotlin-ts-mode :ensure t :defer t) (add-to-list 'auto-mode-alist '("\\.kt\\'" . kotlin-ts-mode)) (add-to-list 'auto-mode-alist '("\\.kts\\'" . kotlin-ts-mode)) @@ -28,8 +24,8 @@ "All things Kotlin." (icejam-set-indent 2) (column-enforce-n 100) - (lsp) - (icejam-set-lsp-capfs)) + (eglot-ensure) + (icejam-set-eglot-capfs)) (add-hook 'kotlin-ts-mode-hook 'icejam-activate-kotlin-mode) diff --git a/lisp/langs/icejam-lang-lean.el b/lisp/langs/icejam-lang-lean.el index e4a5442..4782e3a 100644 --- a/lisp/langs/icejam-lang-lean.el +++ b/lisp/langs/icejam-lang-lean.el @@ -1,9 +1,7 @@ ;;; lean -- summary -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: - -(declare-function lsp-deferred 'lsp-mode) -(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) (use-package lean4-mode :ensure (lean4-mode @@ -11,7 +9,6 @@ :host github :repo "leanprover/lean4-mode" :files ("*.el" "data")) - :requires (lsp) :defer t) (defun icejam-activate-lean-mode () @@ -19,10 +16,10 @@ (interactive) ;; Run LSP - (lsp-deferred) + (eglot-ensure) ;; Capf override - (icejam-set-lsp-capfs)) + (icejam-set-eglot-capfs)) (add-hook 'lean4-mode-hook #'icejam-activate-lean-mode) diff --git a/lisp/langs/icejam-lang-lua.el b/lisp/langs/icejam-lang-lua.el index 4de5c6f..0666ef2 100644 --- a/lisp/langs/icejam-lang-lua.el +++ b/lisp/langs/icejam-lang-lua.el @@ -1,4 +1,4 @@ -;;; icejam-lang-lua.el --- summary +;;; icejam-lang-lua.el --- summary -*- lexical-binding: t; -*- ;; Author: Maciej Szlosarczyk ;; Maintainer: Maciej Szlosarczyk @@ -11,19 +11,18 @@ ;;; Code: (eval-when-compile (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-lsp-capfs 'icejam-complete-at-point) + (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) (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 () "All things related to Lua." (icejam-set-indent 4) (column-enforce-n 100) - (lsp) - (icejam-set-lsp-capfs)) + (eglot-ensure) + (icejam-set-eglot-capfs)) (add-hook 'lua-mode-hook 'icejam-activate-lua-mode) diff --git a/lisp/langs/icejam-lang-markdown.el b/lisp/langs/icejam-lang-markdown.el index 02e649e..b158e16 100644 --- a/lisp/langs/icejam-lang-markdown.el +++ b/lisp/langs/icejam-lang-markdown.el @@ -6,7 +6,7 @@ (declare-function elpaca-installed-p "elpaca") (declare-function column-enforce-n 'column-enforce-mode (number)) (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")) ;; Markdown is a dependency of LSP mode. By wrapping it in unless we silence diff --git a/lisp/langs/icejam-lang-ocaml.el b/lisp/langs/icejam-lang-ocaml.el index 53ff8a3..d08b3d2 100644 --- a/lisp/langs/icejam-lang-ocaml.el +++ b/lisp/langs/icejam-lang-ocaml.el @@ -1,11 +1,8 @@ ;;; ocaml -- summary -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: - -(declare-function lsp "lsp-mode" nil) - (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)) (use-package merlin :defer t :ensure t) @@ -50,8 +47,8 @@ (icejam-set-indent 2) (opam-switch-mode t) (icejam-load-ocaml-site-packages) - (lsp) - (icejam-set-lsp-capfs)) + (eglot-ensure) + (icejam-set-eglot-capfs)) (add-hook 'tuareg-mode-hook 'icejam-activate-tuareg-mode) diff --git a/lisp/langs/icejam-lang-other.el b/lisp/langs/icejam-lang-other.el index 59adeaf..ffa84d5 100644 --- a/lisp/langs/icejam-lang-other.el +++ b/lisp/langs/icejam-lang-other.el @@ -27,13 +27,12 @@ :mode ("\\.graphqls\\'" . graphql-mode)) ;; Yaml -(declare-function lsp "lsp-mode" nil) -(use-package yaml-mode :ensure t :defer t :requires (lsp)) +(use-package yaml-mode :ensure t :defer t) (with-eval-after-load 'yaml-mode (defun icejam-lang-activate-yaml-mode () "Activate yaml-mode." - (lsp)) + (eglot-ensure)) (add-hook 'yaml-mode-hook 'icejam-lang-activate-yaml-mode)) ;; Other text files diff --git a/lisp/langs/icejam-lang-php.el b/lisp/langs/icejam-lang-php.el index ce41cf6..5a48c4a 100644 --- a/lisp/langs/icejam-lang-php.el +++ b/lisp/langs/icejam-lang-php.el @@ -11,20 +11,19 @@ ;;; Code: (declare-function column-enforce-n 'column-enforce-mode (number)) (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)) -(use-package php-mode :ensure t :defer t - :requires (lsp-mode lsp-ui)) +(use-package php-mode :ensure t :defer t) (transient-define-prefix icejam-lang-php-context-menu () "PHP Buffer Commands." ["" ["LSP" - ("m" "iMenu" lsp-ui-imenu)] + ("m" "iMenu" consult-imenu)] ["Buffer" ("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) ("e" "Show Errors" flymake-show-buffer-diagnostics)]] ["" @@ -39,7 +38,7 @@ (keymap-set php-mode-map "C-c l" #'icejam-lang-php-context-menu) ;; Capf override - (icejam-set-lsp-capfs)) + (icejam-set-eglot-capfs)) (add-hook 'php-mode-hook 'icejam-lang-activate-php-mode) diff --git a/lisp/langs/icejam-lang-purescript.el b/lisp/langs/icejam-lang-purescript.el index d5d48cb..d854719 100644 --- a/lisp/langs/icejam-lang-purescript.el +++ b/lisp/langs/icejam-lang-purescript.el @@ -12,10 +12,9 @@ (declare-function column-enforce-n 'column-enforce-mode (number)) (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 - :after (lsp-mode lsp-ui)) +(use-package purescript-mode :ensure t :defer t) (declare-function purescript-indentation-mode "purescript-mode") @@ -28,7 +27,7 @@ (purescript-indentation-mode t) ;; Capf override - (icejam-set-lsp-capfs)) + (icejam-set-eglot-capfs)) (add-hook 'purescript-mode-hook 'icejam-activate-purescript-mode) diff --git a/lisp/langs/icejam-lang-python.el b/lisp/langs/icejam-lang-python.el index 9820660..b205d8b 100644 --- a/lisp/langs/icejam-lang-python.el +++ b/lisp/langs/icejam-lang-python.el @@ -1,8 +1,7 @@ ;;; python -- summary -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: -(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point) -(declare-function lsp 'lsp-mode) +(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point) (declare-function column-enforce-n "column-enforce-mode" (number)) (declare-function transient-define-prefix 'transient) @@ -14,10 +13,10 @@ "Python Buffer Commands." ["" ["LSP" - ("m" "iMenu" lsp-ui-imenu)] + ("m" "iMenu" consult-imenu)] ["Buffer" ("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) ("e" "Show Errors" flymake-show-buffer-diagnostics)]] ["" @@ -29,11 +28,11 @@ (defun icejam-lang-activate-python-mode () "Activate python mode." - (lsp) + (eglot-ensure) (column-enforce-n 99) ;; Capf override - (icejam-set-lsp-capfs)) + (icejam-set-eglot-capfs)) (add-hook 'python-mode-hook 'icejam-lang-activate-python-mode) diff --git a/lisp/langs/icejam-lang-ruby.el b/lisp/langs/icejam-lang-ruby.el index 1cb3a5e..370c38e 100644 --- a/lisp/langs/icejam-lang-ruby.el +++ b/lisp/langs/icejam-lang-ruby.el @@ -2,9 +2,8 @@ ;;; Commentary: ;;; Code: -(declare-function lsp 'lsp-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)) (use-package rspec-mode :ensure t :defer t :commands (rspec-install-snippets)) @@ -24,10 +23,10 @@ (setq ruby-insert-encoding-magic-comment nil) ;; Start LSP - (lsp) + (eglot-ensure) ;; Capf override - (icejam-set-lsp-capfs)) + (icejam-set-eglot-capfs)) (add-hook 'ruby-ts-mode-hook 'rspec-mode) (add-hook 'ruby-ts-mode-hook 'ruby-end-mode) diff --git a/lisp/langs/icejam-lang-rust.el b/lisp/langs/icejam-lang-rust.el index 90b134c..93f3705 100644 --- a/lisp/langs/icejam-lang-rust.el +++ b/lisp/langs/icejam-lang-rust.el @@ -3,9 +3,8 @@ ;;; Code: (eval-when-compile (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-lsp-capfs 'icejam-complete-at-point)) + (declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)) (use-package rust-mode :ensure t @@ -30,8 +29,8 @@ (column-enforce-n 99) ;; Run LSP - (lsp-deferred) - (icejam-set-lsp-capfs)) + (eglot-ensure) + (icejam-set-eglot-capfs)) (add-hook 'rust-mode-hook 'icejam-activate-rust-mode) (add-hook 'rust-mode-hook 'flycheck-rust-setup) diff --git a/lisp/langs/icejam-lang-web.el b/lisp/langs/icejam-lang-web.el index 38df975..6a46ab3 100644 --- a/lisp/langs/icejam-lang-web.el +++ b/lisp/langs/icejam-lang-web.el @@ -1,10 +1,7 @@ ;;; web -- summary -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: - -(declare-function lsp 'lsp-mode) - -(use-package web-mode :after (lsp flycheck) :ensure t :defer t) +(use-package web-mode :ensure t :defer t) ;; 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 flycheck-check-syntax-automatically '(save mode-enabled)) (when (string-match-p ".vue" (buffer-file-name)) - (lsp))) + (eglot-ensure))) (add-hook 'web-mode-hook 'icejam-activate-web-mode) diff --git a/lisp/langs/icejam-lang-ziglang.el b/lisp/langs/icejam-lang-ziglang.el index 04cb4b7..2b3bb91 100644 --- a/lisp/langs/icejam-lang-ziglang.el +++ b/lisp/langs/icejam-lang-ziglang.el @@ -10,11 +10,10 @@ ;;; Code: (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-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 () "Goodies for editing zig files." @@ -24,8 +23,8 @@ ;; Set indentation to 4 chars (icejam-set-indent 4) - (lsp) - (icejam-set-lsp-capfs)) + (eglot-ensure) + (icejam-set-eglot-capfs)) (add-hook 'zig-mode-hook 'icejam-activate-zig-mode) diff --git a/lisp/themes/icejam-base16-modus-operandi-tinted.el b/lisp/themes/icejam-base16-modus-operandi-tinted.el new file mode 100644 index 0000000..b0196c4 --- /dev/null +++ b/lisp/themes/icejam-base16-modus-operandi-tinted.el @@ -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