Compare commits
No commits in common. "377b95bd7fe45b20f5a71dc3adda7abdca603f2c" and "ad216be727c1833f87c395edac18483ff59e42a2" have entirely different histories.
377b95bd7f
...
ad216be727
57 changed files with 47 additions and 111 deletions
|
|
@ -3,18 +3,16 @@
|
|||
;;; Completion framework configuration
|
||||
;;; Code:
|
||||
(eval-when-compile
|
||||
(declare-function cape-capf-prefix-length 'cape)
|
||||
(declare-function cape-capf-super 'cape)
|
||||
(defvar corfu-terminal-mode 'corfu-terminal)
|
||||
(declare-function cape-dabbrev 'cape)
|
||||
(declare-function cape-elisp-symbol 'cape)
|
||||
(declare-function cape-file 'cape)
|
||||
(declare-function cape-keyword 'cape)
|
||||
(declare-function eglot-completion-at-point 'eglot)
|
||||
(declare-function nerd-icons-corfu-formatter 'nerd-icons-corfu)
|
||||
(declare-function cape-elisp-symbol 'cape)
|
||||
(declare-function cape-capf-prefix-length 'cape)
|
||||
(declare-function cape-capf-super 'cape)
|
||||
(declare-function yasnippet-capf 'yasnippet)
|
||||
(defvar corfu-margin-formatters)
|
||||
(defvar corfu-terminal-mode 'corfu-terminal)
|
||||
(defvar yas-minor-mode-map))
|
||||
(declare-function nerd-icons-corfu-formatter 'nerd-icons-corfu)
|
||||
(declare-function eglot-completion-at-point 'eglot))
|
||||
|
||||
(use-package yasnippet :ensure t :defer t
|
||||
:hook ((elpaca-after-init . yas-global-mode))
|
||||
|
|
@ -33,9 +33,6 @@
|
|||
(advice-add #'completing-read-multiple :filter-args #'crm-indicator)
|
||||
(add-hook 'minibuffer-setup-hook #'cursor-intangible-mode)
|
||||
|
||||
;; Vertico relies on Emacs 31 compatibility
|
||||
(use-package compat :ensure t)
|
||||
|
||||
;; Actual orderless
|
||||
(use-package vertico :ensure t :defer t
|
||||
:hook ((elpaca-after-init . vertico-mode))
|
||||
|
|
@ -11,10 +11,10 @@
|
|||
;;; Code:
|
||||
(eval-when-compile
|
||||
(declare-function elpaca 'elpaca)
|
||||
(declare-function elpaca-generate-autoloads 'elpaca)
|
||||
(declare-function elpaca-process-queues 'elpaca)
|
||||
(declare-function elpaca-use-package-mode 'elpaca-use-package)
|
||||
(declare-function elpaca-write-lock-file 'elpaca))
|
||||
(declare-function elpaca-generate-autoloads 'elpaca)
|
||||
(declare-function elpaca-write-lock-file 'elpaca)
|
||||
(declare-function elpaca-use-package-mode 'elpaca-use-package))
|
||||
|
||||
;; Set GC at 500 MB for startup
|
||||
(setopt gc-cons-threshold 500000000)
|
||||
|
|
@ -101,9 +101,9 @@
|
|||
|
||||
;; I don't know why this needs to be here and with a lisp directory, but
|
||||
;; normal subdirs.el file doesn't work.
|
||||
(add-to-list 'load-path (concat user-emacs-directory "user-lisp"))
|
||||
(add-to-list 'load-path (concat user-emacs-directory "user-lisp/themes"))
|
||||
(add-to-list 'load-path (concat user-emacs-directory "user-lisp/langs"))
|
||||
(add-to-list 'load-path (concat user-emacs-directory "lisp"))
|
||||
(add-to-list 'load-path (concat user-emacs-directory "lisp/themes"))
|
||||
(add-to-list 'load-path (concat user-emacs-directory "lisp/langs"))
|
||||
|
||||
(defgroup icejam nil
|
||||
"My customisation group."
|
||||
|
|
@ -146,7 +146,6 @@
|
|||
(use-package icejam-lang-golang :ensure nil)
|
||||
(use-package icejam-lang-haskell :ensure nil)
|
||||
(use-package icejam-lang-javascript :ensure nil)
|
||||
(use-package icejam-lang-java :ensure nil)
|
||||
(use-package icejam-lang-kotlin :ensure nil)
|
||||
(use-package icejam-lang-lua :ensure nil)
|
||||
(use-package icejam-lang-markdown :ensure nil)
|
||||
|
|
@ -164,8 +163,5 @@
|
|||
;; Diminish modeline litter
|
||||
(use-package icejam-diminish :ensure nil)
|
||||
|
||||
;; This is a temporary workaround for elpaca not working properly:
|
||||
(progn (elpaca-process-queues) (run-hooks 'elpaca-after-init-hook))
|
||||
|
||||
(provide 'icejam-custom-init)
|
||||
;;; icejam-custom-init.el ends here
|
||||
|
|
@ -12,35 +12,22 @@
|
|||
;; Use Ruby-Lsp instead of Solargraph
|
||||
(add-to-list 'eglot-server-programs '((ruby-mode ruby-ts-mode) "ruby-lsp"))
|
||||
|
||||
;; Use gleam LSP
|
||||
(add-to-list 'eglot-server-programs '((gleam-ts-mode) "gleam" "lsp"))
|
||||
|
||||
;; Use Kotlin-LSP provided by Jetbrains
|
||||
(add-to-list 'eglot-server-programs
|
||||
'((kotlin-mode kotlin-ts-mode) "kotlin-lsp" "--stdio"))
|
||||
|
||||
(setopt eglot-advertise-cancellation t)
|
||||
|
||||
;; Automatically kill eglot when last buffer associated with a project is
|
||||
;; closed.
|
||||
(setopt eglot-autoshutdown t)
|
||||
|
||||
(setopt eglot-connect-timeout 60)
|
||||
(setopt eglot-extend-to-xref t)
|
||||
|
||||
;; Set up server specific switches globally
|
||||
(setq-default eglot-workspace-configuration
|
||||
;; Elixir configuration
|
||||
'(
|
||||
:elixirLS (
|
||||
'(:elixirLS (
|
||||
:autoBuild t
|
||||
:dialyzerEnabled t
|
||||
:incrementalDialyzer :json-false
|
||||
:autoInsertRequiredAlias :json-false
|
||||
:suggestSpecs t
|
||||
)
|
||||
)
|
||||
)
|
||||
)))
|
||||
|
||||
;; Eglot insists on adding itself to the completion-at-point-functions but
|
||||
;; that means that it overrides our combined value of (eglot + yasnippet)
|
||||
|
|
@ -3,30 +3,23 @@
|
|||
;;; Code:
|
||||
|
||||
;; Use flycheck checks with flymake.
|
||||
(eval-when-compile
|
||||
(declare-function cape-capf-super 'cape)
|
||||
(declare-function cape-dabbrev 'cape)
|
||||
(declare-function cape-file 'cape)
|
||||
(declare-function cape-keyword 'cape)
|
||||
(declare-function el-patch-defun 'el-patch)
|
||||
(declare-function el-patch-feature 'el-patch)
|
||||
(declare-function flymake--diagnostics-buffer-name 'flymake)
|
||||
(declare-function flymake--project-diagnostics-buffer 'flymake)
|
||||
(declare-function flymake-diagnostics-buffer-mode 'flymake)
|
||||
(declare-function flymake-project-diagnostics-mode 'flymake)
|
||||
(declare-function project-root 'project)
|
||||
(declare-function yasnippet-capf 'yasnippet-capf)
|
||||
(defvar flymake--diagnostics-buffer-source)
|
||||
(defvar flymake-mode)
|
||||
(defvar flymake-show-buffer-diagnostics)
|
||||
(defvar flymake-show-project-diagnostics))
|
||||
|
||||
(use-package flymake-flycheck :ensure t :defer t :config
|
||||
(setq-default
|
||||
flycheck-disabled-checkers
|
||||
(append (default-value 'flycheck-disabled-checkers)
|
||||
'(emacs-lisp emacs-lisp-checkdoc emacs-lisp-package sh-shellcheck))))
|
||||
|
||||
(eval-when-compile
|
||||
(declare-function flymake--project-diagnostics-buffer 'flymake)
|
||||
(declare-function flymake--diagnostics-buffer-name 'flymake)
|
||||
(declare-function flymake-project-diagnostics-mode 'flymake)
|
||||
(declare-function flymake-diagnostics-buffer-mode 'flymake)
|
||||
(declare-function cape-capf-super 'cape)
|
||||
(declare-function cape-dabbrev 'cape)
|
||||
(declare-function cape-file 'cape)
|
||||
(declare-function cape-keyword 'cape)
|
||||
(declare-function yasnippet-capf 'yasnippet-capf))
|
||||
|
||||
(use-package el-patch :ensure t :defer t
|
||||
:config
|
||||
;; Show the diagnostics from flymake in a second window (usually on the
|
||||
|
|
@ -3,10 +3,10 @@
|
|||
;;; Code:
|
||||
|
||||
(eval-when-compile
|
||||
(declare-function git-commit-setup-capf 'git-commit)
|
||||
(defvar git-commit-setup-hook)
|
||||
(defvar icejam-keys-mode-map)
|
||||
(defvar magit-blame-mode-map))
|
||||
(defvar magit-blame-mode-map)
|
||||
(defvar git-commit-setup-hook)
|
||||
(declare-function git-commit-setup-capf 'git-commit))
|
||||
|
||||
(use-package magit
|
||||
:ensure t
|
||||
|
|
@ -3,16 +3,11 @@
|
|||
;;; Code:
|
||||
|
||||
(eval-when-compile
|
||||
(declare-function column-enforce-n "column-enforce-mode" (number))
|
||||
(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
|
||||
(declare-function icejam-set-indent 'icejam-prog-mode)
|
||||
(declare-function icejam-start-eglot 'icejam-eglot)
|
||||
(declare-function lispy-mode 'lispy-mode)
|
||||
(declare-function transient-define-prefix 'transient)
|
||||
(defvar cider-annotate-completion-function)
|
||||
(defvar cider-show-error-buffer)
|
||||
(defvar icejam-language-transient-alist)
|
||||
(defvar icejam-clojure-lang-menu)
|
||||
(defvar icejam-language-transient-alist))
|
||||
(declare-function column-enforce-n "column-enforce-mode" (number))
|
||||
(declare-function icejam-set-indent 'icejam-prog-mode)
|
||||
(declare-function transient-define-prefix 'transient))
|
||||
|
||||
(use-package clojure-mode :defer t :ensure t)
|
||||
|
||||
|
|
@ -37,7 +32,7 @@
|
|||
("t" "Test" cider-test-run-loaded-tests)]
|
||||
["Buffer"
|
||||
("r" "Reload" icejam-revert-buffer-no-confirm)
|
||||
("f" "Format" eglot-format-buffer)
|
||||
("f" "Format" cider-format-buffer)
|
||||
("l" "Load" cider-load-buffer)
|
||||
("e" "Show Errors" flymake-show-buffer-diagnostics)]]
|
||||
[""
|
||||
|
|
@ -49,21 +44,15 @@
|
|||
(defun icejam-lang-activate-clojure-mode ()
|
||||
"Goodies for clojure files."
|
||||
(icejam-set-indent 2) ;; Default indentation of 2 characters
|
||||
(column-enforce-n 100)
|
||||
(column-enforce-n 80)
|
||||
(cider-mode 1)
|
||||
|
||||
;; Use lispy mode in Clojure
|
||||
(lispy-mode t)
|
||||
|
||||
;; Use LSP in clojure
|
||||
(icejam-set-eglot-capfs)
|
||||
(icejam-start-eglot)
|
||||
|
||||
;; Do not enable paredit for clojure
|
||||
;; (paredit-mode 1)
|
||||
;; Do not show separate error window when in REPL
|
||||
(setq cider-show-error-buffer 'except-in-repl))
|
||||
|
||||
(add-hook 'clojure-mode-hook 'icejam-lang-activate-clojure-mode)
|
||||
(add-hook 'edn-mode-hook 'icejam-lang-activate-clojure-mode)
|
||||
|
||||
(defun icejam-lang-clojure-repl-config ()
|
||||
"Do not show stacktrace when in REPL."
|
||||
|
|
@ -3,17 +3,17 @@
|
|||
;;; Code:
|
||||
|
||||
(eval-when-compile
|
||||
(declare-function -> 'dash)
|
||||
(declare-function column-enforce-n 'column-enforce-mode (number))
|
||||
(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
|
||||
(declare-function icejam-set-indent 'icejam-prog-mode)
|
||||
(declare-function icejam-start-eglot 'icejam-eglot)
|
||||
(declare-function transient-define-prefix 'transient)
|
||||
(declare-function yas--remove-template-by-uuid 'yasnippet)
|
||||
(declare-function column-enforce-n 'column-enforce-mode (number))
|
||||
(declare-function -> 'dash)
|
||||
(declare-function yas--table-get-create 'yasnippet)
|
||||
(defvar apheleia-mode-alist)
|
||||
(declare-function yas--remove-template-by-uuid 'yasnippet)
|
||||
(declare-function icejam-set-indent 'icejam-prog-mode)
|
||||
(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point)
|
||||
(declare-function icejam-start-eglot 'icejam-eglot)
|
||||
(defvar icejam-language-transient-alist)
|
||||
(defvar icejam-elixir-lang-menu)
|
||||
(defvar icejam-language-transient-alist))
|
||||
(defvar apheleia-mode-alist))
|
||||
|
||||
(use-package elixir-ts-mode :ensure t :defer t :after (apheleia)
|
||||
:config
|
||||
|
|
@ -14,7 +14,8 @@
|
|||
(declare-function icejam-set-indent 'icejam-prog-mode)
|
||||
(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point))
|
||||
|
||||
(use-package gleam-ts-mode :defer t :ensure t :mode (rx ".gleam" eos))
|
||||
(use-package gleam-ts-mode :defer t :ensure t
|
||||
:mode (rx ".gleam" eos))
|
||||
|
||||
;; (add-to-list 'auto-mode-alist '("\\.gleam\\'" . gleam-ts-mode))
|
||||
|
||||
|
|
@ -22,7 +23,7 @@
|
|||
"All things Gleam."
|
||||
(icejam-set-indent 2)
|
||||
(column-enforce-n 100)
|
||||
(icejam-start-eglot)
|
||||
(eglot-ensure)
|
||||
(icejam-set-eglot-capfs))
|
||||
|
||||
(add-hook 'gleam-ts-mode-hook 'icejam-lang-activate-gleam-mode)
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
;;; java -- summary -*- lexical-binding: t; -*-
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
|
||||
(eval-when-compile
|
||||
(declare-function column-enforce-n 'column-enforce-mode (number))
|
||||
(declare-function icejam-set-indent 'icejam-prog-mode)
|
||||
(declare-function icejam-set-eglot-capfs 'icejam-complete-at-point))
|
||||
|
||||
(add-to-list 'auto-mode-alist '("\\.java\\'" . java-ts-mode))
|
||||
|
||||
;; (use-package eglot-java :ensure t)
|
||||
|
||||
(defun icejam-activate-java-mode ()
|
||||
"Java mode overrides."
|
||||
(icejam-set-indent 2)
|
||||
(eglot-ensure)
|
||||
(column-enforce-n 80)
|
||||
(icejam-set-eglot-capfs))
|
||||
|
||||
;; (add-hook 'java-ts-mode-hook 'eglot-java-mode)
|
||||
(add-hook 'java-ts-mode-hook 'icejam-activate-java-mode)
|
||||
|
||||
(provide 'icejam-lang-java)
|
||||
;;; icejam-lang-java.el ends here
|
||||
Loading…
Add table
Add a link
Reference in a new issue