This commit is contained in:
parent
2150285aea
commit
eb58a51bab
20 changed files with 307 additions and 347 deletions
358
elpaca.lock
358
elpaca.lock
File diff suppressed because it is too large
Load diff
|
|
@ -55,7 +55,7 @@
|
||||||
(setopt gcmh-verbose nil) ;; Do not log GC messages
|
(setopt gcmh-verbose nil) ;; Do not log GC messages
|
||||||
(setopt gcmh-idle-delay 'auto) ;; Compute GC delay based on gcmh-auto-idle-delay-factor
|
(setopt gcmh-idle-delay 'auto) ;; Compute GC delay based on gcmh-auto-idle-delay-factor
|
||||||
(setopt gcmh-auto-idle-delay-factor 10) ;; Original value was 10
|
(setopt gcmh-auto-idle-delay-factor 10) ;; Original value was 10
|
||||||
(setopt gcmh-high-cons-threshold (* 128 1024 1024)))
|
(setopt gcmh-high-cons-threshold (* 256 1024 1024)))
|
||||||
|
|
||||||
;; #====================== Backup config #==============================
|
;; #====================== Backup config #==============================
|
||||||
(setopt backup-directory-alist
|
(setopt backup-directory-alist
|
||||||
|
|
@ -65,8 +65,8 @@
|
||||||
|
|
||||||
(setopt backup-by-copying t)
|
(setopt backup-by-copying t)
|
||||||
(setopt delete-old-versions t
|
(setopt delete-old-versions t
|
||||||
kept-new-versions 6
|
kept-new-versions 10
|
||||||
kept-old-versions 2
|
kept-old-versions 5
|
||||||
version-control t)
|
version-control t)
|
||||||
|
|
||||||
; Do not create .#foo.file lock files
|
; Do not create .#foo.file lock files
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; icejam-complete-at-point.el -- summary -*- lexical-binding: t; -*-
|
;;; icejam-complete-at-point.el -- summary -*- lexical-binding: t; -*-
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;; Company completion framework configuration
|
;;; Completion framework configuration
|
||||||
;;; Code:
|
;;; Code:
|
||||||
(require 'icejam-blocking)
|
(require 'icejam-blocking)
|
||||||
|
|
||||||
|
|
@ -13,28 +13,24 @@
|
||||||
|
|
||||||
(use-package yasnippet-snippets :ensure t :after (yasnippet))
|
(use-package yasnippet-snippets :ensure t :after (yasnippet))
|
||||||
|
|
||||||
|
|
||||||
;; Corfu is the main engine for displaying suggestions.
|
;; Corfu is the main engine for displaying suggestions.
|
||||||
(use-package corfu :ensure t :defer t
|
(use-package corfu :ensure t :defer t
|
||||||
:hook ((elpaca-after-init . global-corfu-mode)
|
:hook ((elpaca-after-init . global-corfu-mode)
|
||||||
(global-corfu-mode . corfu-popupinfo-mode))
|
(global-corfu-mode . corfu-popupinfo-mode))
|
||||||
:config
|
:config
|
||||||
;; Go up to go the the last item on the list
|
;; Go up to go the the last item on the list
|
||||||
(setopt corfu-cycle t)
|
(setopt corfu-cycle t
|
||||||
|
corfu-count 20 ;; Show 20 completion candidates
|
||||||
|
|
||||||
;; Show 20 corfu
|
corfu-max-width 120 ;; Max width of the corfu frame
|
||||||
(setopt corfu-count 20)
|
corfu-right-margin-width 0.5
|
||||||
|
corfu-left-margin-width 0.5
|
||||||
;; Max width of the corfu frame
|
corfu-bar-width 0.5
|
||||||
(setopt corfu-max-width 120)
|
corfu-auto-delay 0.1
|
||||||
|
corfu-popupinfo-delay '(0.4 . 0.2)
|
||||||
(setopt corfu-right-margin-width 0.5)
|
corfu-auto t
|
||||||
(setopt corfu-left-margin-width 0.5)
|
corfu-quit-no-match 'separator
|
||||||
(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
|
;; Allow corfu to work in terminal
|
||||||
(use-package corfu-terminal :ensure t :defer t
|
(use-package corfu-terminal :ensure t :defer t
|
||||||
|
|
@ -44,12 +40,35 @@
|
||||||
;; These are actual completions
|
;; These are actual completions
|
||||||
(use-package cape :ensure t :after corfu
|
(use-package cape :ensure t :after corfu
|
||||||
:config
|
:config
|
||||||
|
(declare-function cape-dabbrev 'cape)
|
||||||
|
(declare-function cape-file 'cape)
|
||||||
|
(declare-function cape-keyword 'cape)
|
||||||
|
|
||||||
;; Set default completion values:
|
;; Set default completion values:
|
||||||
(set-default 'completion-at-point-functions
|
(set-default 'completion-at-point-functions
|
||||||
(list (cape-capf-super #'lsp-completion-at-point
|
(list #'cape-dabbrev #'cape-file #'cape-keyword)))
|
||||||
#'yasnippet-capf)
|
|
||||||
#'cape-dabbrev
|
(defun icejam-set-no-lsp-capfs ()
|
||||||
#'cape-file)))
|
"Set `completion-at-point-function` to non-LSP list."
|
||||||
|
(setq-local completion-at-point-functions
|
||||||
|
(list #'cape-dabbrev #'cape-file #'cape-keyword)))
|
||||||
|
|
||||||
|
(defun icejam-set-lsp-capfs ()
|
||||||
|
"Set `completion-at-point-function` to list where LSP is supported."
|
||||||
|
(setq-local completion-at-point-functions
|
||||||
|
(list (cape-capf-super #'lsp-completion-at-point
|
||||||
|
#'yasnippet-capf)
|
||||||
|
#'cape-dabbrev
|
||||||
|
#'cape-file)))
|
||||||
|
|
||||||
|
(defun icejam-set-elisp-capfs ()
|
||||||
|
"Set `completion-at-point-function` to what is useful in Elisp."
|
||||||
|
(setq-local completion-at-point-functions
|
||||||
|
(list (cape-capf-super #'elisp-completion-at-point
|
||||||
|
#'yasnippet-capf)
|
||||||
|
#'cape-dabbrev
|
||||||
|
#'cape-file
|
||||||
|
#'cape-elisp-symbol)))
|
||||||
|
|
||||||
(use-package yasnippet-capf :ensure t :after corfu
|
(use-package yasnippet-capf :ensure t :after corfu
|
||||||
:config (setopt yasnippet-capf-lookup-by 'name))
|
:config (setopt yasnippet-capf-lookup-by 'name))
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
(use-package orderless :ensure t
|
(use-package orderless :ensure t
|
||||||
:config
|
:config
|
||||||
;; Fallback to basic if orderless does not work.
|
;; Fallback to basic if orderless does not work.
|
||||||
(setopt completion-styles '(orderless partial-completion basic))
|
(setopt completion-styles '(orderless basic))
|
||||||
(setopt completion-category-defaults nil)
|
(setopt completion-category-defaults nil)
|
||||||
(setopt completion-category-overrides '((file (styles partial-completion)))))
|
(setopt completion-category-overrides '((file (styles partial-completion)))))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,11 @@
|
||||||
(use-package gptel :ensure t :defer t
|
(use-package gptel :ensure t :defer t
|
||||||
:config
|
:config
|
||||||
(declare-function gptel-make-anthropic "gptel")
|
(declare-function gptel-make-anthropic "gptel")
|
||||||
|
(declare-function gptel-make-ollama "gptel")
|
||||||
|
(gptel-make-ollama "Ollama@Linux"
|
||||||
|
:host "192.168.88.110:11434"
|
||||||
|
:stream t
|
||||||
|
:models '(qwen2.5-coder:7b qwen2.5-coder:14b))
|
||||||
(setq
|
(setq
|
||||||
gptel-model 'claude-3-5-sonnet-20241022
|
gptel-model 'claude-3-5-sonnet-20241022
|
||||||
gptel-backend (gptel-make-anthropic "Claude"
|
gptel-backend (gptel-make-anthropic "Claude"
|
||||||
|
|
@ -38,19 +43,22 @@
|
||||||
(use-package aider :ensure (:host github :repo "tninja/aider.el" :files ("aider.el"))
|
(use-package aider :ensure (:host github :repo "tninja/aider.el" :files ("aider.el"))
|
||||||
:defer t
|
:defer t
|
||||||
:config
|
:config
|
||||||
|
;; (setenv "OLLAMA_API_BASE" "http://127.0.0.1:11434")
|
||||||
|
(setenv "OLLAMA_API_BASE" "http://192.168.88.110:11434")
|
||||||
(setopt aider-args (list "--model"
|
(setopt aider-args (list "--model"
|
||||||
"anthropic/claude-3-5-sonnet-20241022"
|
"ollama_chat/qwen2.5-coder:14b"
|
||||||
"--anthropic-api-key"
|
"--no-auto-commits"
|
||||||
anthropic-api-key
|
"--no-analytics"
|
||||||
"--no-auto-commits")))
|
"--no-gitignore")))
|
||||||
|
|
||||||
;; Pretend to be 'AI editor' vol 2.
|
;; Pretend to be 'AI editor' vol 2.
|
||||||
(use-package elysium :ensure t :defer t
|
(use-package elysium :ensure t :defer t
|
||||||
:config
|
:config
|
||||||
;; The elysium buffer will be 1/3 your screen
|
(setopt
|
||||||
(setopt elysium-window-size 0.33)
|
;; The elysium buffer will be 1/3 your screen
|
||||||
;; Elysium buffer will be vertical
|
elysium-window-size 0.33
|
||||||
(setopt elysium-window-style 'vertical))
|
;; Elysium buffer will be vertical
|
||||||
|
elysium-window-style 'vertical))
|
||||||
|
|
||||||
;; Merging with SMerge
|
;; Merging with SMerge
|
||||||
(use-package smerge-mode :ensure nil
|
(use-package smerge-mode :ensure nil
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,6 @@
|
||||||
(whitespace whitespace-mode)
|
(whitespace whitespace-mode)
|
||||||
(autorevert auto-revert-mode)
|
(autorevert auto-revert-mode)
|
||||||
(ivy ivy-mode)
|
(ivy ivy-mode)
|
||||||
(company-box company-box-mode)
|
|
||||||
(smerge-mode smerge-mode)
|
(smerge-mode smerge-mode)
|
||||||
(gcmh gcmh-mode)))
|
(gcmh gcmh-mode)))
|
||||||
(let ((package (car package-and-mode))
|
(let ((package (car package-and-mode))
|
||||||
|
|
|
||||||
|
|
@ -25,9 +25,11 @@
|
||||||
;; (defconst icejam-font "Victor Mono Medium" "Default font.")
|
;; (defconst icejam-font "Victor Mono Medium" "Default font.")
|
||||||
;; (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-default-font-family "Iosevka Comfy Motion" "Default font.")
|
||||||
(defconst icejam-variable-font-family "Lexica Ultralegible" "Variable pitch 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.
|
||||||
|
It is different than default font to keep it visually distinct.")
|
||||||
|
|
||||||
;; Require dash functions to be included:
|
;; Require dash functions to be included:
|
||||||
(declare-function -> "dash.el")
|
(declare-function -> "dash.el")
|
||||||
|
|
@ -37,13 +39,13 @@
|
||||||
It is used to calculated the height in relation to the screen
|
It is used to calculated the height in relation to the screen
|
||||||
in `icejam-set-font-to-screen`.")
|
in `icejam-set-font-to-screen`.")
|
||||||
|
|
||||||
(defcustom icejam-mut-font-family
|
(defcustom icejam-mut-default-font-family
|
||||||
icejam-font-family
|
icejam-default-font-family
|
||||||
"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
|
(defcustom icejam-mut-variable-font-family
|
||||||
icejam-font-family
|
icejam-default-font-family
|
||||||
"Current variable-pitch font. Defaults to `icejam-variable-font-family`."
|
"Current variable-pitch font. Defaults to `icejam-variable-font-family`."
|
||||||
:type 'string
|
:type 'string
|
||||||
:group 'icejam)
|
:group 'icejam)
|
||||||
|
|
@ -68,7 +70,7 @@ in `icejam-set-font-to-screen`.")
|
||||||
(add-hook 'lsp-ui-doc-frame-hook
|
(add-hook 'lsp-ui-doc-frame-hook
|
||||||
(lambda (frame _w)
|
(lambda (frame _w)
|
||||||
(set-face-attribute 'default frame
|
(set-face-attribute 'default frame
|
||||||
:family icejam-mut-font-family
|
:family icejam-mut-default-font-family
|
||||||
:height (-> icejam-mut-font-height
|
:height (-> icejam-mut-font-height
|
||||||
(- 2)
|
(- 2)
|
||||||
(* 10))))))
|
(* 10))))))
|
||||||
|
|
@ -82,7 +84,7 @@ slightly smaller than the default face, by 1 point. Those are: `tooltip'.
|
||||||
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-default-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)
|
(setopt icejam-mut-variable-font-family icejam-variable-font-family)
|
||||||
|
|
||||||
|
|
@ -124,15 +126,15 @@ two points smaller."
|
||||||
(cond
|
(cond
|
||||||
;; MacBook 14" built-in screen.
|
;; MacBook 14" built-in screen.
|
||||||
((>= 1080 pixel-height)
|
((>= 1080 pixel-height)
|
||||||
(icejam-set-font icejam-font-family icejam-font-height))
|
(icejam-set-font icejam-default-font-family icejam-font-height))
|
||||||
|
|
||||||
;; LG 27" screen connected to a MacBook.
|
;; LG 27" screen connected to a MacBook.
|
||||||
((>= 1440 pixel-height)
|
((>= 1440 pixel-height)
|
||||||
(icejam-set-font icejam-font-family (+ icejam-font-height 3)))
|
(icejam-set-font icejam-default-font-family (+ icejam-font-height 3)))
|
||||||
|
|
||||||
;; 4K screen on Windows or Linux
|
;; 4K screen on Windows or Linux
|
||||||
((>= 2160 pixel-height)
|
((>= 2160 pixel-height)
|
||||||
(icejam-set-font icejam-font-family (- icejam-font-height 3)))))))
|
(icejam-set-font icejam-default-font-family (- icejam-font-height 3)))))))
|
||||||
|
|
||||||
;; Run the above function once, after elpaca finishes all downloads.
|
;; Run the above function once, after elpaca finishes all downloads.
|
||||||
(add-hook 'elpaca-after-init-hook 'icejam-set-font-to-screen)
|
(add-hook 'elpaca-after-init-hook 'icejam-set-font-to-screen)
|
||||||
|
|
@ -140,12 +142,12 @@ two points smaller."
|
||||||
(defun icejam-set-font-height (height)
|
(defun icejam-set-font-height (height)
|
||||||
"Set font to a specified HEIGHT."
|
"Set font to a specified HEIGHT."
|
||||||
(interactive "nEnter height for font: ")
|
(interactive "nEnter height for font: ")
|
||||||
(icejam-set-font icejam-mut-font-family height))
|
(icejam-set-font icejam-mut-default-font-family height))
|
||||||
|
|
||||||
(defun icejam-set-font-height-for-this-frame (new-height)
|
(defun icejam-set-font-height-for-this-frame (new-height)
|
||||||
"Set font NEW-HEIGHT for this frame only."
|
"Set font NEW-HEIGHT for this frame only."
|
||||||
(interactive "nEnter new height for font in this frame: ")
|
(interactive "nEnter new height for font in this frame: ")
|
||||||
(set-frame-font (format "%s %d" icejam-mut-font-family new-height)))
|
(set-frame-font (format "%s %d" icejam-mut-default-font-family new-height)))
|
||||||
|
|
||||||
(provide 'icejam-fonts)
|
(provide 'icejam-fonts)
|
||||||
;;; icejam-fonts.el ends here
|
;;; icejam-fonts.el ends here
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,10 @@
|
||||||
(conf-mode . whitespace-mode)
|
(conf-mode . whitespace-mode)
|
||||||
(before-save . whitespace-cleanup))
|
(before-save . whitespace-cleanup))
|
||||||
:config
|
:config
|
||||||
(setopt whitespace-style #'(face trailing empty)) ;; New whitespace style
|
(setopt
|
||||||
(setopt require-final-newline 't) ;; Insert newline on save
|
whitespace-style #'(face trailing empty) ;; New whitespace style
|
||||||
)
|
require-final-newline 't ;; Insert newline on save
|
||||||
|
))
|
||||||
|
|
||||||
(setq-default indent-tabs-mode nil)
|
(setq-default indent-tabs-mode nil)
|
||||||
|
|
||||||
|
|
@ -43,11 +44,12 @@
|
||||||
(text-mode . rainbow-mode)))
|
(text-mode . rainbow-mode)))
|
||||||
|
|
||||||
;; Dash integration
|
;; Dash integration
|
||||||
(use-package dash-at-point :ensure t :defer t)
|
(use-package dash-at-point :ensure t :defer t
|
||||||
(with-eval-after-load 'dash-at-point
|
:config
|
||||||
(add-to-list 'dash-at-point-mode-alist '(enh-ruby-mode . "ruby,rubygems,rails"))
|
(add-to-list 'dash-at-point-mode-alist '(enh-ruby-mode . "ruby,rubygems,rails"))
|
||||||
(add-to-list 'dash-at-point-mode-alist '(elixir-ts-mode . "elixir,hex")))
|
(add-to-list 'dash-at-point-mode-alist '(elixir-ts-mode . "elixir,hex")))
|
||||||
|
|
||||||
|
|
||||||
;; By default, use 2 spaces for indentation
|
;; By default, use 2 spaces for indentation
|
||||||
(setopt tab-width 2)
|
(setopt tab-width 2)
|
||||||
(setopt tab-stop-list (number-sequence tab-width 200 tab-width))
|
(setopt tab-stop-list (number-sequence tab-width 200 tab-width))
|
||||||
|
|
@ -59,8 +61,23 @@
|
||||||
(setq-local tab-width step)
|
(setq-local tab-width step)
|
||||||
(setq-local tab-stop-list (number-sequence step 200 step)))
|
(setq-local tab-stop-list (number-sequence step 200 step)))
|
||||||
|
|
||||||
|
(defun icejam-set-indent-2 () "Set indent to 2." (icejam-set-indent 2))
|
||||||
|
(defun icejam-set-indent-4 () "Set indent to 4." (icejam-set-indent 4))
|
||||||
|
(defun icejam-set-indent-8 () "Set indent to 8." (icejam-set-indent 8))
|
||||||
|
|
||||||
(use-package column-enforce-mode :ensure t :defer t
|
(use-package column-enforce-mode :ensure t :defer t
|
||||||
:hook (elpaca-after-init . global-column-enforce-mode))
|
:hook (elpaca-after-init . global-column-enforce-mode)
|
||||||
|
:config
|
||||||
|
(declare-function column-enforce-n 'column-enforce-mode)
|
||||||
|
(defun icejam-column-enforce-80 ()
|
||||||
|
"Enforce 80 columns."
|
||||||
|
(column-enforce-n 80))
|
||||||
|
(defun icejam-column-enforce-100 ()
|
||||||
|
"Enforce 100 columns."
|
||||||
|
(column-enforce-n 100))
|
||||||
|
(defun icejam-column-enforce-98 ()
|
||||||
|
"Enforce 98 columns."
|
||||||
|
(column-enforce-n 98)))
|
||||||
|
|
||||||
;; PCRE to Emacs regex translations
|
;; PCRE to Emacs regex translations
|
||||||
(use-package pcre2el :ensure t :defer t)
|
(use-package pcre2el :ensure t :defer t)
|
||||||
|
|
@ -68,8 +85,9 @@
|
||||||
;; Visual regexp
|
;; Visual regexp
|
||||||
(use-package visual-regexp-steroids :ensure t :after (pcre2el)
|
(use-package visual-regexp-steroids :ensure t :after (pcre2el)
|
||||||
:config
|
:config
|
||||||
(setopt vr/engine 'pcre2el) ;; Use pcre2el for regexes
|
;; Use pcre2el for regexes - so that I can use brackets more naturally with
|
||||||
)
|
;; regexp.
|
||||||
|
(setopt vr/engine 'pcre2el))
|
||||||
|
|
||||||
(provide 'icejam-prog-mode)
|
(provide 'icejam-prog-mode)
|
||||||
;;; icejam-prog-mode.el ends here
|
;;; icejam-prog-mode.el ends here
|
||||||
|
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
;;; common-lisp.el --- summary -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; Author: Maciej Szlosarczyk
|
|
||||||
;; Maintainer: Maciej Szlosarczyk
|
|
||||||
;; Version: 0.1-snapshot
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(require 'icejam-prog-mode)
|
|
||||||
(require 'icejam-complete-at-point)
|
|
||||||
|
|
||||||
(use-package slime :ensure t)
|
|
||||||
(use-package slime-company :ensure t
|
|
||||||
:requires (slime company))
|
|
||||||
|
|
||||||
(setq inferior-lisp-program "sbcl")
|
|
||||||
(slime-setup '(slime-fancy slime-company slime-quicklisp slime-asdf))
|
|
||||||
|
|
||||||
(provide 'icejam-lang-common-lisp)
|
|
||||||
;;; icejam-lang-common-lisp.el ends here
|
|
||||||
|
|
@ -38,6 +38,7 @@
|
||||||
#'cape-elisp-symbol)))
|
#'cape-elisp-symbol)))
|
||||||
|
|
||||||
(add-hook 'emacs-lisp-mode-hook 'icejam-activate-emacs-lisp-mode)
|
(add-hook 'emacs-lisp-mode-hook 'icejam-activate-emacs-lisp-mode)
|
||||||
|
(add-hook 'ielm-mode-hook 'icejam-set-elisp-capfs)
|
||||||
|
|
||||||
(provide 'icejam-lang-elisp)
|
(provide 'icejam-lang-elisp)
|
||||||
;;; icejam-lang-elisp.el ends here
|
;;; icejam-lang-elisp.el ends here
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,7 @@
|
||||||
(use-package elixir-format :defer t
|
(use-package elixir-format :defer t
|
||||||
:ensure (:type git :host github :repo "elixir-editors/emacs-elixir" :files ("elixir-format.el")))
|
:ensure (:type git :host github :repo "elixir-editors/emacs-elixir" :files ("elixir-format.el")))
|
||||||
|
|
||||||
(use-package elixir-ts-mode :ensure t :defer t
|
(use-package elixir-ts-mode :ensure t :defer t :after (elixir-format lsp-mode lsp-ui))
|
||||||
:after (elixir-format lsp-mode lsp-ui))
|
|
||||||
|
|
||||||
(transient-define-prefix icejam-elixir-lang-menu ()
|
(transient-define-prefix icejam-elixir-lang-menu ()
|
||||||
"Elixir Buffer Commands."
|
"Elixir Buffer Commands."
|
||||||
|
|
@ -29,6 +28,12 @@
|
||||||
[""
|
[""
|
||||||
("q" "Quit" keyboard-quit)])
|
("q" "Quit" keyboard-quit)])
|
||||||
|
|
||||||
|
(defun icejam-delete-elixir-snippets ()
|
||||||
|
"This function deletes Elixir snippets I don't use."
|
||||||
|
(-> 'elixir-mode
|
||||||
|
(yas--table-get-create)
|
||||||
|
(yas--remove-template-by-uuid "defmodule")))
|
||||||
|
|
||||||
(add-to-list
|
(add-to-list
|
||||||
'icejam-language-transient-alist '(elixir-ts-mode . icejam-elixir-lang-menu))
|
'icejam-language-transient-alist '(elixir-ts-mode . icejam-elixir-lang-menu))
|
||||||
|
|
||||||
|
|
@ -43,11 +48,8 @@
|
||||||
|
|
||||||
(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 completion-at-point-functions
|
(icejam-set-lsp-capfs)
|
||||||
(list (cape-capf-super #'lsp-completion-at-point
|
(icejam-delete-elixir-snippets))
|
||||||
#'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)
|
||||||
|
|
|
||||||
|
|
@ -13,74 +13,15 @@
|
||||||
:ensure (:depth 1)
|
:ensure (:depth 1)
|
||||||
:after (lsp lsp-ui))
|
:after (lsp lsp-ui))
|
||||||
|
|
||||||
;; (cl-defun icejam-erlang-emacs-path (erlang-version)
|
|
||||||
;; "Find path to Emacs tooling for ERLANG-VERSION."
|
|
||||||
;; (car (split-string
|
|
||||||
;; (shell-command-to-string
|
|
||||||
;; (format "find $HOME/.asdf/installs/erlang/%s/ -name erlang.el"
|
|
||||||
;; erlang-version)) "erlang.el")))
|
|
||||||
|
|
||||||
;; (cl-defun icejam-erlang-path (erlang-version)
|
|
||||||
;; "Find asdf path for ERLANG-VERSION."
|
|
||||||
;; (format "$HOME/.asdf/installs/erlang/%s/" erlang-version))
|
|
||||||
|
|
||||||
;; (defun icejam-erlang-plist (erlang-version)
|
|
||||||
;; "Create property list for ERLANG-VERSION."
|
|
||||||
;; (list :version erlang-version
|
|
||||||
;; :erlang-path (icejam-erlang-path erlang-version)
|
|
||||||
;; :emacs-path (icejam-erlang-emacs-path erlang-version)))
|
|
||||||
|
|
||||||
;; (cl-defun icejam-installed-erlangs ()
|
|
||||||
;; "List Erlang versions installed with asdf."
|
|
||||||
;; (split-string
|
|
||||||
;; (shell-command-to-string
|
|
||||||
;; (format "asdf list erlang"))))
|
|
||||||
|
|
||||||
;; (cl-defun icejam-erlang-available-versions--plist ()
|
|
||||||
;; "Create plist for all installed Erlang versions."
|
|
||||||
;; (mapcar 'icejam-erlang-plist (icejam-installed-erlangs)))
|
|
||||||
|
|
||||||
;; (defvar icejam-erlang-available-versions (icejam-erlang-available-versions--plist))
|
|
||||||
|
|
||||||
;; (cl-defun icejam-erlang-currently-in-use ()
|
|
||||||
;; "Get Erlang version currently in use."
|
|
||||||
;; (car (split-string (shell-command-to-string "asdf current erlang"))))
|
|
||||||
|
|
||||||
;; (cl-defun icejam-erlang-current-version--plistp (erlang-plist)
|
|
||||||
;; "Check if currently in use Erlang is the same as the one in ERLANG-PLIST."
|
|
||||||
;; (equal (plist-get erlang-plist :version) (icejam-erlang-currently-in-use)))
|
|
||||||
|
|
||||||
;; (cl-defun icejam-erlang-current-plist ()
|
|
||||||
;; "Create plist from current Erlang version."
|
|
||||||
;; (seq-find 'icejam-erlang-current-version--plistp icejam-erlang-available-versions))
|
|
||||||
|
|
||||||
(defun icejam-activate-erlang-mode ()
|
(defun icejam-activate-erlang-mode ()
|
||||||
"All things for all Erlang, including header files."
|
|
||||||
;; (when (featurep 'erlang-start) (unload-feature 'erlang-start))
|
|
||||||
|
|
||||||
;; (defvar erlang/current-erlang (icejam-erlang-current-plist))
|
|
||||||
|
|
||||||
;; (add-to-list (make-local-variable 'load-path)
|
|
||||||
;; (plist-get erlang/current-erlang :emacs-path))
|
|
||||||
|
|
||||||
;; (add-to-list (make-local-variable 'exec-path)
|
|
||||||
;; (format "%slib/tools-3.1/emacs"
|
|
||||||
;; (plist-get erlang/current-erlang :erlang-path)))
|
|
||||||
|
|
||||||
;; (setq-local erlang-man-root-dir
|
|
||||||
;; (format "%sman"
|
|
||||||
;; (plist-get erlang/current-erlang :erlang-path)))
|
|
||||||
|
|
||||||
;; (require 'erlang-start)
|
|
||||||
(icejam-set-indent 4)
|
(icejam-set-indent 4)
|
||||||
(column-enforce-n 80)
|
(column-enforce-n 80)
|
||||||
|
|
||||||
;; Start LSP
|
;; Start LSP
|
||||||
(lsp)
|
(lsp)
|
||||||
|
|
||||||
;; Company list override
|
;; Capf override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(icejam-set-lsp-capfs))
|
||||||
'(company-capf company-yasnippet)))
|
|
||||||
|
|
||||||
(add-hook 'erlang-mode-hook 'icejam-activate-erlang-mode)
|
(add-hook 'erlang-mode-hook 'icejam-activate-erlang-mode)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,9 +24,8 @@
|
||||||
(column-enforce-n 100)
|
(column-enforce-n 100)
|
||||||
(lsp-deferred)
|
(lsp-deferred)
|
||||||
|
|
||||||
;; Company list override
|
;; Capf override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(icejam-set-lsp-capfs))
|
||||||
'(company-capf company-yasnippet)))
|
|
||||||
|
|
||||||
(add-hook 'fsharp-mode-hook 'icejam-activate-fsharp-mode)
|
(add-hook 'fsharp-mode-hook 'icejam-activate-fsharp-mode)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,14 +23,13 @@
|
||||||
:after (lsp-mode lsp-ui haskell-mode))
|
: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)
|
(lsp-deferred)
|
||||||
|
|
||||||
;; Company list override
|
;; Capf override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(icejam-set-lsp-capfs))
|
||||||
'(company-capf company-yasnippet)))
|
|
||||||
|
|
||||||
(add-hook 'haskell-mode-hook 'icejam-activate-haskell-mode)
|
(add-hook 'haskell-mode-hook 'icejam-activate-haskell-mode)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
(require 'icejam-lsp)
|
(require 'icejam-lsp)
|
||||||
|
|
||||||
(use-package js2-mode :ensure t :defer t
|
(use-package js2-mode :ensure t :defer t
|
||||||
:after (web-mode company lsp-mode lsp-ui))
|
: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)
|
||||||
|
|
||||||
|
|
@ -47,9 +47,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))
|
||||||
|
|
||||||
;; "Company list override."
|
(icejam-set-lsp-capfs))
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
|
||||||
'(company-capf company-yasnippet)))
|
|
||||||
|
|
||||||
(add-hook 'js2-mode-hook 'icejam-activate-js2-mode)
|
(add-hook 'js2-mode-hook 'icejam-activate-js2-mode)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,9 +21,8 @@
|
||||||
;; Run LSP
|
;; Run LSP
|
||||||
(lsp-deferred)
|
(lsp-deferred)
|
||||||
|
|
||||||
;; Company list override
|
;; Capf override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(icejam-set-lsp-capfs))
|
||||||
'(company-capf company-yasnippet)))
|
|
||||||
|
|
||||||
(add-hook 'lean4-mode-hook 'icejam-activate-lean-mode)
|
(add-hook 'lean4-mode-hook 'icejam-activate-lean-mode)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,9 +38,8 @@
|
||||||
|
|
||||||
(define-key php-mode-map (kbd "C-c l") 'icejam-lang-php/context-menu)
|
(define-key php-mode-map (kbd "C-c l") 'icejam-lang-php/context-menu)
|
||||||
|
|
||||||
;; Company list override
|
;; Capf override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(icejam-set-lsp-capfs))
|
||||||
'(company-capf company-yasnippet)))
|
|
||||||
|
|
||||||
(add-hook 'php-mode-hook 'icejam-lang-activate-php-mode)
|
(add-hook 'php-mode-hook 'icejam-lang-activate-php-mode)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,8 @@
|
||||||
;; Purescript indentation
|
;; Purescript indentation
|
||||||
(purescript-indentation-mode t)
|
(purescript-indentation-mode t)
|
||||||
|
|
||||||
;; Company list override
|
;; Capf override
|
||||||
)
|
(icejam-set-lsp-capfs))
|
||||||
|
|
||||||
(add-hook 'purescript-mode-hook 'icejam-activate-purescript-mode)
|
(add-hook 'purescript-mode-hook 'icejam-activate-purescript-mode)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,9 +30,8 @@
|
||||||
(lsp)
|
(lsp)
|
||||||
(column-enforce-n 99)
|
(column-enforce-n 99)
|
||||||
|
|
||||||
;; Company list override
|
;; Capf override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(icejam-set-lsp-capfs))
|
||||||
'(company-capf company-yasnippet)))
|
|
||||||
|
|
||||||
(add-hook 'python-mode-hook 'icejam-lang-activate-python-mode)
|
(add-hook 'python-mode-hook 'icejam-lang-activate-python-mode)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,8 @@
|
||||||
;; Start LSP
|
;; Start LSP
|
||||||
(lsp)
|
(lsp)
|
||||||
|
|
||||||
;; Company list override
|
;; Capf override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(icejam-set-lsp-capfs))
|
||||||
'(company-capf company-yasnippet)))
|
|
||||||
|
|
||||||
(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)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue