Compare commits
4 commits
b9559eabe0
...
2150285aea
| Author | SHA1 | Date | |
|---|---|---|---|
| 2150285aea | |||
| 3c59ad8bbc | |||
| d7e51e32d5 | |||
| a0500746f4 |
16 changed files with 359 additions and 376 deletions
367
elpaca.lock
367
elpaca.lock
File diff suppressed because it is too large
Load diff
|
|
@ -73,9 +73,11 @@
|
||||||
(setopt create-lockfiles nil)
|
(setopt create-lockfiles nil)
|
||||||
|
|
||||||
;; Enable line numbers and show cursors position
|
;; Enable line numbers and show cursors position
|
||||||
(add-hook 'prog-mode-hook 'display-line-numbers-mode)
|
(dolist (mode '(prog-mode-hook
|
||||||
(add-hook 'text-mode-hook 'display-line-numbers-mode)
|
text-mode-hook
|
||||||
(add-hook 'conf-mode-hook 'display-line-numbers-mode)
|
conf-mode-hook))
|
||||||
|
(add-hook mode 'display-line-numbers-mode))
|
||||||
|
|
||||||
;; (global-display-line-numbers-mode t)
|
;; (global-display-line-numbers-mode t)
|
||||||
(column-number-mode t)
|
(column-number-mode t)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,8 @@
|
||||||
;; These packages are foundational dependency and possibly can be blocking.
|
;; These packages are foundational dependency and possibly can be blocking.
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
|
;; Nice menus
|
||||||
(use-package transient :ensure t)
|
(use-package transient :ensure t)
|
||||||
(use-package company :ensure t)
|
|
||||||
|
|
||||||
;; Finally, wait for installation of these four packages.
|
;; Finally, wait for installation of these four packages.
|
||||||
(if (fboundp 'elpaca-wait)
|
(if (fboundp 'elpaca-wait)
|
||||||
|
|
|
||||||
|
|
@ -1,97 +0,0 @@
|
||||||
;;; icejam-company-yasnippet.el -- summary -*- lexical-binding: t; -*-
|
|
||||||
;;; Commentary:
|
|
||||||
;;; Company completion framework configuration
|
|
||||||
;;; Code:
|
|
||||||
(require 'icejam-blocking)
|
|
||||||
|
|
||||||
(use-package yasnippet :ensure t :defer t
|
|
||||||
:hook ((elpaca-after-init . yas-global-mode))
|
|
||||||
:config
|
|
||||||
(unbind-key "C-c & C-n" yas-minor-mode-map)
|
|
||||||
(unbind-key "C-c & C-s" yas-minor-mode-map)
|
|
||||||
(unbind-key "C-c & C-v" yas-minor-mode-map))
|
|
||||||
|
|
||||||
(use-package yasnippet-snippets :ensure t :after (yasnippet))
|
|
||||||
|
|
||||||
(use-package kind-icon
|
|
||||||
:ensure t
|
|
||||||
:after company
|
|
||||||
:config
|
|
||||||
(let* ((kind-func (lambda (candidate) (company-call-backend 'kind candidate)))
|
|
||||||
(formatter (kind-icon-margin-formatter `((company-kind . ,kind-func)))))
|
|
||||||
(defun icejam-company-kind-icon-margin (candidate _selected)
|
|
||||||
(funcall formatter candidate))
|
|
||||||
(setopt company-format-margin-function #'icejam-company-kind-icon-margin)))
|
|
||||||
|
|
||||||
(with-eval-after-load 'company
|
|
||||||
(global-company-mode t)
|
|
||||||
|
|
||||||
;; Hacks for orderless
|
|
||||||
(defun just-one-face (fn &rest args)
|
|
||||||
(let ((orderless-match-faces [completions-common-part]))
|
|
||||||
(apply fn args)))
|
|
||||||
|
|
||||||
(advice-add 'company-capf--candidates :around #'just-one-face)
|
|
||||||
|
|
||||||
(defun company-completion-styles (capf-fn &rest args)
|
|
||||||
(let ((completion-styles '(partial-completion basic)))
|
|
||||||
(apply capf-fn args)))
|
|
||||||
|
|
||||||
(advice-add 'company-capf :around #'company-completion-styles)
|
|
||||||
|
|
||||||
(setq-default
|
|
||||||
company-minimum-prefix-length 3 ;; minimum prefix character number for auto complete.
|
|
||||||
company-idle-delay 0.1
|
|
||||||
company-require-match nil
|
|
||||||
company-echo-delay 0 ;;;; company-show-numbers t
|
|
||||||
company-tooltip-align-annotations t ;; align annotations to the right tooltip border.
|
|
||||||
company-tooltip-flip-when-above t
|
|
||||||
company-tooltip-limit 10 ;; tooltip candidates max limit.
|
|
||||||
company-tooltip-minimum 2 ;; minimum candidates limit.
|
|
||||||
company-tooltip-minimum-width 10 ;; The minimum width of the tooltip's inner area.
|
|
||||||
;; This doesn't include the margins and the scroll bar.
|
|
||||||
company-tooltip-margin 2 ;; width of margin columns to show around the tooltip
|
|
||||||
company-tooltip-offset-display 'lines ;; 'lines - how to show tooltip unshown candidates number.
|
|
||||||
company-show-numbers nil ;; t: show quick-access numbers for the first ten candidates.
|
|
||||||
company-selection-wrap-around t ;; loop over candidates
|
|
||||||
company-dabbrev-other-buffers t ;; Only offer dabbrev from the same major mode
|
|
||||||
company-dabbrev-downcase nil ;; Preserve case of candidates
|
|
||||||
company-format-margin-function nil
|
|
||||||
;; company-async-wait 0.03
|
|
||||||
;; company-async-timeout 2
|
|
||||||
)
|
|
||||||
|
|
||||||
;; Absolute defaults for company mode
|
|
||||||
(setopt company-backends
|
|
||||||
'((company-files ; files & directory
|
|
||||||
company-keywords ; keywords
|
|
||||||
company-capf)
|
|
||||||
(company-dabbrev company-abbrev)
|
|
||||||
))
|
|
||||||
|
|
||||||
;; Use standard emacs next and previous bindings for navigating company
|
|
||||||
;; suggestions
|
|
||||||
(define-key company-active-map (kbd "C-p") 'company-select-previous-or-abort)
|
|
||||||
(define-key company-active-map (kbd "C-n") 'company-select-next-or-abort)
|
|
||||||
|
|
||||||
(defun icejam-insert-space-and-complete ()
|
|
||||||
"Insert space before trying to complete a section."
|
|
||||||
(interactive)
|
|
||||||
(save-excursion
|
|
||||||
(insert " "))
|
|
||||||
(company-indent-or-complete-common))
|
|
||||||
|
|
||||||
;; Only use RETURN for completion in company
|
|
||||||
(unbind-key "TAB" company-active-map)
|
|
||||||
|
|
||||||
;; Yasnippet configuration
|
|
||||||
(define-key prog-mode-map (kbd "C-c y") 'company-yasnippet)
|
|
||||||
(define-key prog-mode-map (kbd "<f13>") 'icejam-insert-space-and-complete)
|
|
||||||
(define-key prog-mode-map (kbd "TAB") 'company-indent-or-complete-common)
|
|
||||||
|
|
||||||
(define-key text-mode-map (kbd "C-c y") 'company-yasnippet)
|
|
||||||
(define-key text-mode-map (kbd "<f13>") 'icejam-insert-space-and-complete)
|
|
||||||
(define-key text-mode-map (kbd "TAB") 'company-indent-or-complete-common))
|
|
||||||
|
|
||||||
(provide 'icejam-company-yasnippet)
|
|
||||||
;;; icejam-company-yasnippet.el ends here
|
|
||||||
64
lisp/icejam-complete-at-point.el
Normal file
64
lisp/icejam-complete-at-point.el
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
;;; icejam-complete-at-point.el -- summary -*- lexical-binding: t; -*-
|
||||||
|
;;; Commentary:
|
||||||
|
;;; Company completion framework configuration
|
||||||
|
;;; Code:
|
||||||
|
(require 'icejam-blocking)
|
||||||
|
|
||||||
|
(use-package yasnippet :ensure t :defer t
|
||||||
|
:hook ((elpaca-after-init . yas-global-mode))
|
||||||
|
:config
|
||||||
|
(unbind-key "C-c & C-n" yas-minor-mode-map)
|
||||||
|
(unbind-key "C-c & C-s" yas-minor-mode-map)
|
||||||
|
(unbind-key "C-c & C-v" yas-minor-mode-map))
|
||||||
|
|
||||||
|
(use-package yasnippet-snippets :ensure t :after (yasnippet))
|
||||||
|
|
||||||
|
|
||||||
|
;; Corfu is the main engine for displaying suggestions.
|
||||||
|
(use-package corfu :ensure t :defer t
|
||||||
|
:hook ((elpaca-after-init . global-corfu-mode)
|
||||||
|
(global-corfu-mode . corfu-popupinfo-mode))
|
||||||
|
:config
|
||||||
|
;; Go up to go the the last item on the list
|
||||||
|
(setopt corfu-cycle t)
|
||||||
|
|
||||||
|
;; Show 20 corfu
|
||||||
|
(setopt corfu-count 20)
|
||||||
|
|
||||||
|
;; Max width of the corfu frame
|
||||||
|
(setopt corfu-max-width 120)
|
||||||
|
|
||||||
|
(setopt corfu-right-margin-width 0.5)
|
||||||
|
(setopt corfu-left-margin-width 0.5)
|
||||||
|
(setopt corfu-bar-width 0.5)
|
||||||
|
(setopt corfu-auto-delay 0.2)
|
||||||
|
(setopt corfu-popupinfo-delay '(0.4 . 0.2))
|
||||||
|
(setopt corfu-auto t)
|
||||||
|
(setopt corfu-quit-no-match 'separator))
|
||||||
|
|
||||||
|
;; Allow corfu to work in terminal
|
||||||
|
(use-package corfu-terminal :ensure t :defer t
|
||||||
|
:if (not (display-graphic-p))
|
||||||
|
:hook ((elpaca-after-init . corfu-terminal-mode)))
|
||||||
|
|
||||||
|
;; These are actual completions
|
||||||
|
(use-package cape :ensure t :after corfu
|
||||||
|
:config
|
||||||
|
;; Set default completion values:
|
||||||
|
(set-default 'completion-at-point-functions
|
||||||
|
(list (cape-capf-super #'lsp-completion-at-point
|
||||||
|
#'yasnippet-capf)
|
||||||
|
#'cape-dabbrev
|
||||||
|
#'cape-file)))
|
||||||
|
|
||||||
|
(use-package yasnippet-capf :ensure t :after corfu
|
||||||
|
:config (setopt yasnippet-capf-lookup-by 'name))
|
||||||
|
|
||||||
|
(use-package nerd-icons-corfu :ensure t
|
||||||
|
:after corfu
|
||||||
|
:config
|
||||||
|
(declare-function nerd-icons-corfu-formatter 'nerd-icons-corfu)
|
||||||
|
(add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter))
|
||||||
|
|
||||||
|
(provide 'icejam-complete-at-point)
|
||||||
|
;;; icejam-complete-at-point.el ends here
|
||||||
|
|
@ -85,60 +85,59 @@
|
||||||
(defgroup :icejam nil "My customisation group.")
|
(defgroup :icejam nil "My customisation group.")
|
||||||
|
|
||||||
;; General configuration files.
|
;; General configuration files.
|
||||||
(require 'icejam-keys-mode)
|
(use-package icejam-keys-mode :ensure nil)
|
||||||
(require 'icejam-blocking)
|
(use-package icejam-blocking :ensure nil)
|
||||||
(require 'icejam-base)
|
(use-package icejam-base :ensure nil)
|
||||||
(require 'icejam-sys-specific)
|
(use-package icejam-sys-specific :ensure nil)
|
||||||
(require 'icejam-tree-sitter)
|
(use-package icejam-tree-sitter :ensure nil)
|
||||||
(require 'icejam-completing-read)
|
(use-package icejam-completing-read :ensure nil)
|
||||||
(require 'icejam-avy)
|
(use-package icejam-avy :ensure nil)
|
||||||
(require 'icejam-transient)
|
(use-package icejam-transient :ensure nil)
|
||||||
(require 'icejam-prog-mode)
|
(use-package icejam-prog-mode :ensure nil)
|
||||||
(require 'icejam-company-yasnippet)
|
(use-package icejam-complete-at-point :ensure nil)
|
||||||
(require 'icejam-copilot)
|
(use-package icejam-copilot :ensure nil)
|
||||||
(require 'icejam-flycheck)
|
(use-package icejam-flycheck :ensure nil)
|
||||||
(require 'icejam-ispell)
|
(use-package icejam-ispell :ensure nil)
|
||||||
(require 'icejam-deft)
|
(use-package icejam-deft :ensure nil)
|
||||||
(require 'icejam-lsp)
|
(use-package icejam-lsp :ensure nil)
|
||||||
(require 'icejam-dashboard)
|
(use-package icejam-dashboard :ensure nil)
|
||||||
(require 'icejam-magit)
|
(use-package icejam-magit :ensure nil)
|
||||||
(require 'icejam-vundo)
|
(use-package icejam-vundo :ensure nil)
|
||||||
(require 'icejam-speed-type)
|
(use-package icejam-speed-type :ensure nil)
|
||||||
|
|
||||||
;; Themes
|
;; Themes
|
||||||
(require 'icejam-themes)
|
(use-package icejam-themes :ensure nil)
|
||||||
(require 'icejam-fonts)
|
(use-package icejam-fonts :ensure nil)
|
||||||
|
|
||||||
;; Actual supported languages and file syntax.
|
;; Actual supported languages and file syntax.
|
||||||
(require 'icejam-lang-clang)
|
(use-package icejam-lang-clang :ensure nil)
|
||||||
(require 'icejam-lang-clojure)
|
(use-package icejam-lang-clojure :ensure nil)
|
||||||
;; (require 'icejam-lang-common-lisp)
|
(use-package icejam-lang-dart :ensure nil)
|
||||||
(require 'icejam-lang-dart)
|
(use-package icejam-lang-dhall :ensure nil)
|
||||||
(require 'icejam-lang-dhall)
|
(use-package icejam-lang-elisp :ensure nil)
|
||||||
(require 'icejam-lang-elisp)
|
(use-package icejam-lang-elixir :ensure nil)
|
||||||
(require 'icejam-lang-elixir)
|
(use-package icejam-lang-erlang :ensure nil)
|
||||||
(require 'icejam-lang-erlang)
|
(use-package icejam-lang-fsharp :ensure nil)
|
||||||
(require 'icejam-lang-fsharp)
|
(use-package icejam-lang-gleam :ensure nil)
|
||||||
(require 'icejam-lang-gleam)
|
(use-package icejam-lang-golang :ensure nil)
|
||||||
(require 'icejam-lang-golang)
|
(use-package icejam-lang-haskell :ensure nil)
|
||||||
(require 'icejam-lang-haskell)
|
(use-package icejam-lang-javascript :ensure nil)
|
||||||
(require 'icejam-lang-javascript)
|
(use-package icejam-lang-kotlin :ensure nil)
|
||||||
(require 'icejam-lang-kotlin)
|
(use-package icejam-lang-lean :ensure nil)
|
||||||
(require 'icejam-lang-lean)
|
(use-package icejam-lang-markdown :ensure nil)
|
||||||
(require 'icejam-lang-markdown)
|
(use-package icejam-lang-ocaml :ensure nil)
|
||||||
(require 'icejam-lang-ocaml)
|
(use-package icejam-lang-other :ensure nil)
|
||||||
(require 'icejam-lang-other)
|
(use-package icejam-lang-php :ensure nil)
|
||||||
(require 'icejam-lang-php)
|
(use-package icejam-lang-purescript :ensure nil)
|
||||||
(require 'icejam-lang-purescript)
|
(use-package icejam-lang-python :ensure nil)
|
||||||
(require 'icejam-lang-python)
|
(use-package icejam-lang-ruby :ensure nil)
|
||||||
(require 'icejam-lang-ruby)
|
(use-package icejam-lang-rust :ensure nil)
|
||||||
(require 'icejam-lang-rust)
|
(use-package icejam-lang-sh :ensure nil)
|
||||||
(require 'icejam-lang-sh)
|
(use-package icejam-lang-web :ensure nil)
|
||||||
(require 'icejam-lang-web)
|
(use-package icejam-lang-ziglang :ensure nil)
|
||||||
(require 'icejam-lang-ziglang)
|
|
||||||
|
|
||||||
;; Diminish modeline litter
|
;; Diminish modeline litter
|
||||||
(require 'icejam-diminish)
|
(use-package icejam-diminish :ensure nil)
|
||||||
|
|
||||||
;; Restore GC to normal, but still high
|
;; Restore GC to normal, but still high
|
||||||
(setopt gc-cons-threshold 204800000)
|
(setopt gc-cons-threshold 204800000)
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@
|
||||||
(flycheck flycheck-mode)
|
(flycheck flycheck-mode)
|
||||||
(rainbow-mode rainbow-mode)
|
(rainbow-mode rainbow-mode)
|
||||||
(undo-tree undo-tree-mode)
|
(undo-tree undo-tree-mode)
|
||||||
(company company-mode)
|
|
||||||
(which-key which-key-mode)
|
(which-key which-key-mode)
|
||||||
(eldoc eldoc-mode)
|
(eldoc eldoc-mode)
|
||||||
(yasnippet yas-minor-mode)
|
(yasnippet yas-minor-mode)
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@
|
||||||
;; (defconst icejam-font "Iosevka Term" "Default font.")
|
;; (defconst icejam-font "Iosevka Term" "Default font.")
|
||||||
|
|
||||||
(defconst icejam-font-family "Iosevka Comfy Motion" "Default font.")
|
(defconst icejam-font-family "Iosevka Comfy Motion" "Default font.")
|
||||||
|
(defconst icejam-variable-font-family "Lexica Ultralegible" "Variable pitch font.")
|
||||||
(defconst icejam-markdown-font-family "Iosevka Term" "Font used to render code blocks in markdown.")
|
(defconst icejam-markdown-font-family "Iosevka Term" "Font used to render code blocks in markdown.")
|
||||||
|
|
||||||
;; Require dash functions to be included:
|
;; Require dash functions to be included:
|
||||||
|
|
@ -41,6 +42,11 @@ in `icejam-set-font-to-screen`.")
|
||||||
"Current font, defaults to the one loaded in the beginning."
|
"Current font, defaults to the one loaded in the beginning."
|
||||||
:type 'string
|
:type 'string
|
||||||
:group 'icejam)
|
:group 'icejam)
|
||||||
|
(defcustom icejam-mut-variable-font-family
|
||||||
|
icejam-font-family
|
||||||
|
"Current variable-pitch font. Defaults to `icejam-variable-font-family`."
|
||||||
|
:type 'string
|
||||||
|
:group 'icejam)
|
||||||
(defcustom icejam-mut-markdown-font-family
|
(defcustom icejam-mut-markdown-font-family
|
||||||
icejam-markdown-font-family
|
icejam-markdown-font-family
|
||||||
"Current markdown font family, defaults to the one loaded in the beginning."
|
"Current markdown font family, defaults to the one loaded in the beginning."
|
||||||
|
|
@ -71,14 +77,14 @@ in `icejam-set-font-to-screen`.")
|
||||||
"Set font to FAMILY and its HEIGHT to X.
|
"Set font to FAMILY and its HEIGHT to X.
|
||||||
|
|
||||||
Not all faces will be set to this value. Some of them look better with being
|
Not all faces will be set to this value. Some of them look better with being
|
||||||
slightly smaller than the default face, by 1 point. Those are: `tooltip',
|
slightly smaller than the default face, by 1 point. Those are: `tooltip'.
|
||||||
`company-tooltip', `company-tooltip-annotation', `company-tooltip-mouse'.
|
|
||||||
|
|
||||||
Modeline faces (`mode-line' and `mode-line-inactive') look better if they are
|
Modeline faces (`mode-line' and `mode-line-inactive') look better if they are
|
||||||
two points smaller."
|
two points smaller."
|
||||||
(interactive "sNew font: \nnEnter height for %s: ")
|
(interactive "sNew font: \nnEnter height for %s: ")
|
||||||
(setopt icejam-mut-font-family family)
|
(setopt icejam-mut-font-family family)
|
||||||
(setopt icejam-mut-font-height height)
|
(setopt icejam-mut-font-height height)
|
||||||
|
(setopt icejam-mut-variable-font-family icejam-variable-font-family)
|
||||||
|
|
||||||
;; Set default font.
|
;; Set default font.
|
||||||
(set-face-attribute 'default nil
|
(set-face-attribute 'default nil
|
||||||
|
|
@ -86,11 +92,14 @@ two points smaller."
|
||||||
:height (-> height
|
:height (-> height
|
||||||
(* 10)))
|
(* 10)))
|
||||||
|
|
||||||
|
;; Set variable-pitch font
|
||||||
|
(set-face-attribute 'variable-pitch nil
|
||||||
|
:family icejam-mut-variable-font-family
|
||||||
|
:height (-> height
|
||||||
|
(* 10)))
|
||||||
|
|
||||||
;; Some font faces look better when they are 1 point smaller.
|
;; Some font faces look better when they are 1 point smaller.
|
||||||
(dolist (face '(tooltip
|
(dolist (face '(tooltip))
|
||||||
company-tooltip
|
|
||||||
company-tooltip-annotation
|
|
||||||
company-tooltip-mouse))
|
|
||||||
(set-face-attribute face nil :height (-> height
|
(set-face-attribute face nil :height (-> height
|
||||||
(- 1)
|
(- 1)
|
||||||
(* 10))))
|
(* 10))))
|
||||||
|
|
|
||||||
|
|
@ -44,8 +44,6 @@
|
||||||
("r" "Replace" vr/replace)
|
("r" "Replace" vr/replace)
|
||||||
("i" "Indent" indent-region)]
|
("i" "Indent" indent-region)]
|
||||||
["Complete"
|
["Complete"
|
||||||
("y" "Snippet" company-yasnippet)
|
|
||||||
("m" "Any (Company)" company-complete)
|
|
||||||
("g" "Ask GPT" gptel-menu)
|
("g" "Ask GPT" gptel-menu)
|
||||||
("a" "Aider" aider-transient-menu)
|
("a" "Aider" aider-transient-menu)
|
||||||
("e" "Refactor (Elysium)" elysium-query)]
|
("e" "Refactor (Elysium)" elysium-query)]
|
||||||
|
|
|
||||||
|
|
@ -19,10 +19,7 @@
|
||||||
|
|
||||||
(if (boundp 'c-default-style)
|
(if (boundp 'c-default-style)
|
||||||
(setq-local c-default-style "bsd")
|
(setq-local c-default-style "bsd")
|
||||||
(defvar c-default-style "bsd"))
|
(defvar c-default-style "bsd")))
|
||||||
|
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
|
||||||
'(company-etags company-yasnippet)))
|
|
||||||
|
|
||||||
(add-hook 'c-mode-hook 'icejam-lang-activate-clang-mode)
|
(add-hook 'c-mode-hook 'icejam-lang-activate-clang-mode)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(require 'icejam-prog-mode)
|
(require 'icejam-prog-mode)
|
||||||
(require 'icejam-company-yasnippet)
|
(require 'icejam-complete-at-point)
|
||||||
|
|
||||||
(use-package slime :ensure t)
|
(use-package slime :ensure t)
|
||||||
(use-package slime-company :ensure t
|
(use-package slime-company :ensure t
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,14 @@
|
||||||
;;; languages/elisp -- summary -*- lexical-binding: t; -*-
|
;;; languages/elisp -- summary -*- lexical-binding: t; -*-
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(require 'icejam-prog-mode)
|
(require 'icejam-prog-mode)
|
||||||
(require 'icejam-transient)
|
(require 'icejam-transient)
|
||||||
|
|
||||||
;; Dash is a package that creates terse and more natural to me functions to
|
|
||||||
;; do basic things in Elisp.
|
|
||||||
(use-package dash :ensure t :defer t)
|
|
||||||
(use-package lispy :ensure t :defer t)
|
|
||||||
(use-package aggressive-indent :ensure t :defer t)
|
|
||||||
|
|
||||||
(declare-function aggressive-indent-mode "aggressive-indent")
|
|
||||||
(declare-function column-enforce-n "column-enforce-mode" (number))
|
(declare-function column-enforce-n "column-enforce-mode" (number))
|
||||||
(add-to-list 'auto-mode-alist '("/Eask\\'" . emacs-lisp-mode))
|
(add-to-list 'auto-mode-alist '("/Eask\\'" . emacs-lisp-mode))
|
||||||
|
|
||||||
|
(use-package lispy :ensure t :defer t)
|
||||||
|
|
||||||
(transient-define-prefix icejam-elisp-lang-menu ()
|
(transient-define-prefix icejam-elisp-lang-menu ()
|
||||||
"Elisp Buffer Commands."
|
"Elisp Buffer Commands."
|
||||||
[""
|
[""
|
||||||
|
|
@ -29,19 +23,19 @@
|
||||||
(add-to-list
|
(add-to-list
|
||||||
'icejam-language-transient-alist '(emacs-lisp-mode . icejam-elisp-lang-menu))
|
'icejam-language-transient-alist '(emacs-lisp-mode . icejam-elisp-lang-menu))
|
||||||
|
|
||||||
(declare-function lispy-mode "lispy")
|
|
||||||
(defun icejam-activate-emacs-lisp-mode ()
|
(defun icejam-activate-emacs-lisp-mode ()
|
||||||
"Goodies for editing Emacs files."
|
"Goodies for editing Emacs files."
|
||||||
|
|
||||||
(icejam-set-indent 2) ;; Default indentation of 2 characters
|
(icejam-set-indent 2) ;; Default indentation of 2 characters
|
||||||
(column-enforce-n 80)
|
(column-enforce-n 80) ;; Use 80 char limit.
|
||||||
|
(lispy-mode t) ;; Modal editing for Lisp
|
||||||
|
|
||||||
(dash-fontify-mode t) ;; Fontify dash variables
|
(setq-local completion-at-point-functions
|
||||||
(lispy-mode t) ;; Pseudomodal editing for lisp code
|
(list (cape-capf-super #'elisp-completion-at-point
|
||||||
(aggressive-indent-mode) ;; Indent lisp automatically
|
#'yasnippet-capf)
|
||||||
|
#'cape-dabbrev
|
||||||
;; Company list override
|
#'cape-file
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
#'cape-elisp-symbol)))
|
||||||
'(company-yasnippet company-capf)))
|
|
||||||
|
|
||||||
(add-hook 'emacs-lisp-mode-hook 'icejam-activate-emacs-lisp-mode)
|
(add-hook 'emacs-lisp-mode-hook 'icejam-activate-emacs-lisp-mode)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,11 @@
|
||||||
|
|
||||||
(setq-local lsp-eldoc-enable-hover nil)
|
(setq-local lsp-eldoc-enable-hover nil)
|
||||||
(setq-local lsp-completion-enable-additional-text-edit nil)
|
(setq-local lsp-completion-enable-additional-text-edit nil)
|
||||||
(setq-local company-minimum-prefix-length 3))
|
(setq-local completion-at-point-functions
|
||||||
|
(list (cape-capf-super #'lsp-completion-at-point
|
||||||
|
#'yasnippet-capf)
|
||||||
|
#'cape-dabbrev
|
||||||
|
#'cape-file)))
|
||||||
|
|
||||||
(add-hook 'heex-ts-mode-hook 'icejam-activate-elixir-ts-mode)
|
(add-hook 'heex-ts-mode-hook 'icejam-activate-elixir-ts-mode)
|
||||||
(add-hook 'elixir-ts-mode-hook 'icejam-activate-elixir-ts-mode)
|
(add-hook 'elixir-ts-mode-hook 'icejam-activate-elixir-ts-mode)
|
||||||
|
|
|
||||||
|
|
@ -25,8 +25,7 @@
|
||||||
(purescript-indentation-mode t)
|
(purescript-indentation-mode t)
|
||||||
|
|
||||||
;; Company list override
|
;; Company list override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
)
|
||||||
'(company-capf company-yasnippet)))
|
|
||||||
|
|
||||||
(add-hook 'purescript-mode-hook 'icejam-activate-purescript-mode)
|
(add-hook 'purescript-mode-hook 'icejam-activate-purescript-mode)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,11 +22,7 @@
|
||||||
(column-enforce-n 99)
|
(column-enforce-n 99)
|
||||||
|
|
||||||
;; Run LSP
|
;; Run LSP
|
||||||
(lsp-deferred)
|
(lsp-deferred))
|
||||||
|
|
||||||
;; Company list override
|
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
|
||||||
'(company-capf company-yasnippet)))
|
|
||||||
|
|
||||||
(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)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue