This commit is contained in:
parent
1fe168ccc6
commit
f21f3dcc77
25 changed files with 883 additions and 984 deletions
1181
elpaca.lock
1181
elpaca.lock
File diff suppressed because it is too large
Load diff
|
|
@ -11,11 +11,11 @@
|
|||
;;; Code:
|
||||
(require 'icejam-keys-mode)
|
||||
|
||||
(use-package avy :ensure t)
|
||||
(with-eval-after-load 'avy
|
||||
(setq avy-timeout-seconds 1)
|
||||
;; Jump to text in sight with CMD-j
|
||||
(define-key icejam-keys-mode-map [(hyper j)] 'avy-goto-char-timer))
|
||||
(use-package avy :ensure t :defer t
|
||||
:custom (avy-timeout-seconds 1 "Wait for 1 second for candidates")
|
||||
:bind (:map icejam-keys-mode-map
|
||||
;; Jump to text in sight with CMD-j
|
||||
([(hyper j)] . avy-goto-char-timer)))
|
||||
|
||||
(provide 'icejam-avy)
|
||||
;;; icejam-avy.el ends here
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
;; pkg/base defines basic packages and environment.
|
||||
|
||||
;;; Code:
|
||||
(require 'icejam-keys-mode)
|
||||
|
||||
;;;;;;;; Other optimizations ;;;;;;;;;;;;;;;;;
|
||||
;;;;;;;; Stolen from Doom Emacs. ;;;;;;;;;;;;;
|
||||
|
|
@ -40,20 +41,19 @@
|
|||
(global-set-key (kbd "RET") 'newline)
|
||||
|
||||
;;;;;;;;; Easy copying of data ;;;;;;;;;;;;;;;
|
||||
(use-package easy-kill :ensure t)
|
||||
(with-eval-after-load 'easy-kill
|
||||
(global-set-key [remap kill-ring-save] 'easy-kill))
|
||||
(use-package easy-kill :ensure t
|
||||
:bind ([remap kill-ring-save] . easy-kill))
|
||||
|
||||
;; Move buffers around with buffer keys
|
||||
(use-package buffer-move :ensure t :defer t)
|
||||
|
||||
;; Garbage collection magic hack
|
||||
(use-package gcmh :ensure t)
|
||||
(with-eval-after-load 'gcmh
|
||||
(gcmh-mode 1)
|
||||
(setq gcmh-verbose nil
|
||||
gcmh-idle-delay 'auto
|
||||
gcmh-auto-idle-delay-factor 10))
|
||||
(use-package gcmh :ensure t
|
||||
:custom ((gcmh-verbose nil "Do not log GC messages.")
|
||||
(gcmh-idle-delay 'auto "Compute GC delay based on gcmh-auto-idle-delay-factor")
|
||||
(gcmh-auto-idle-delay-factor 10 "Original value was 10"))
|
||||
:config
|
||||
(gcmh-mode t))
|
||||
|
||||
;; #====================== Backup config #==============================
|
||||
(setq backup-directory-alist
|
||||
|
|
@ -97,16 +97,16 @@
|
|||
;; Allow to execute path from shell
|
||||
(use-package exec-path-from-shell
|
||||
:if (memq window-system '(x mac ns))
|
||||
:ensure t)
|
||||
|
||||
(with-eval-after-load 'exec-path-from-shell
|
||||
:ensure t
|
||||
:config
|
||||
(add-to-list 'exec-path "/usr/local/bin")
|
||||
(dolist (var '("DEFT_PATH" "LANG" "LC_CTYPE"))
|
||||
(add-to-list 'exec-path-from-shell-variables var))
|
||||
(exec-path-from-shell-initialize))
|
||||
(dolist (var '("DEFT_PATH" "LANG" "LC_CTYPE"))
|
||||
(add-to-list 'exec-path-from-shell-variables var))
|
||||
(exec-path-from-shell-initialize))
|
||||
|
||||
(use-package direnv :ensure t)
|
||||
(with-eval-after-load 'direnv
|
||||
(use-package direnv :ensure t
|
||||
:config
|
||||
(declare-function direnv-mode "direnv")
|
||||
(direnv-mode t))
|
||||
|
||||
;; Draw underline lower
|
||||
|
|
@ -119,30 +119,34 @@
|
|||
indicate-empty-lines nil)
|
||||
|
||||
;;;;;;;;;;;;;;;;; Treemacs
|
||||
(use-package treemacs :ensure t)
|
||||
(with-eval-after-load 'treemacs
|
||||
(use-package treemacs :ensure t
|
||||
:commands (treemacs-follow-mode treemacs-project-follow-mode treemacs)
|
||||
:bind (:map icejam-keys-mode-map
|
||||
([(hyper b)] . treemacs))
|
||||
:config
|
||||
(treemacs-follow-mode t)
|
||||
(treemacs-project-follow-mode t)
|
||||
(define-key icejam-keys-mode-map [(hyper b)] 'treemacs))
|
||||
(treemacs-project-follow-mode t))
|
||||
|
||||
(use-package treemacs-all-the-icons :ensure t :requires (treemacs))
|
||||
(with-eval-after-load 'treemacs-all-the-icons
|
||||
(treemacs-load-theme "all-the-icons"))
|
||||
(use-package treemacs-all-the-icons :ensure t :defer t
|
||||
:requires (treemacs)
|
||||
:commands (treemacs-load-theme)
|
||||
:config (treemacs-load-theme "all-the-icons"))
|
||||
|
||||
;;;;;;;;;;;;;;;;; Record frequency of different commands. Review them later
|
||||
(use-package keyfreq :ensure t)
|
||||
(with-eval-after-load 'keyfreq
|
||||
(use-package keyfreq :ensure t
|
||||
:config
|
||||
(declare-function keyfreq-mode "keyfreq")
|
||||
(declare-function keyfreq-autosave-mode "keyfreq")
|
||||
(keyfreq-mode t)
|
||||
(keyfreq-autosave-mode t))
|
||||
|
||||
;;;;;;;;;;;;;;;;; Show hints about key combinations
|
||||
(use-package which-key :ensure t)
|
||||
(with-eval-after-load 'which-key
|
||||
(setq which-key-idle-delay 0.5)
|
||||
(which-key-mode t))
|
||||
(use-package which-key :ensure t
|
||||
:custom (which-key-idle-delay 0.5)
|
||||
:config (which-key-mode t))
|
||||
|
||||
;;;;;;;;;;;;;;;;; Use C-n to create a new line
|
||||
(setq next-line-add-newlines t)
|
||||
(setopt next-line-add-newlines t)
|
||||
|
||||
;;;;;;;;;;;;;;;;; Speed up long line display by disabling bidirectional text
|
||||
(setq-default bidi-paragraph-direction 'left-to-right
|
||||
|
|
|
|||
21
lisp/icejam-blocking.el
Normal file
21
lisp/icejam-blocking.el
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
;;; icejam-blocking.el --- summary
|
||||
|
||||
;; Author: Maciej Szlosarczyk
|
||||
;; Maintainer: Maciej Szlosarczyk
|
||||
;; Version: 0.1-snapshot
|
||||
|
||||
;;; Commentary:
|
||||
;; These packages are foundational dependency and possibly can be blocking.
|
||||
;;; Code:
|
||||
|
||||
(use-package transient :ensure (:wait t))
|
||||
(use-package diminish :ensure (:wait t))
|
||||
(use-package company :ensure (:wait t))
|
||||
|
||||
;; 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 (:wait t))
|
||||
|
||||
(provide 'icejam-blocking)
|
||||
;;; icejam-blocking.el ends here
|
||||
|
|
@ -2,18 +2,19 @@
|
|||
;;; Commentary:
|
||||
;;; Company completion framework configuration
|
||||
;;; Code:
|
||||
(require 'icejam-blocking)
|
||||
|
||||
(use-package yasnippet :ensure t)
|
||||
(use-package yasnippet-snippets :ensure t :requires (yasnippet))
|
||||
(use-package company :ensure t :requires (yasnippet yasnippet-snippets))
|
||||
(use-package company-box :ensure t :requires (company))
|
||||
|
||||
(with-eval-after-load 'yasnippet
|
||||
(use-package yasnippet :ensure t
|
||||
:config
|
||||
(yas-global-mode t)
|
||||
(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 company-box :ensure t :after (company)
|
||||
:hook (company-mode . company-box-mode))
|
||||
|
||||
(with-eval-after-load 'company
|
||||
(global-company-mode t)
|
||||
|
||||
|
|
@ -85,7 +86,5 @@
|
|||
(define-key text-mode-map (kbd "<f13>") 'icejam-insert-space-and-complete)
|
||||
(define-key text-mode-map (kbd "TAB") 'company-indent-or-complete-common))
|
||||
|
||||
(with-eval-after-load 'company-box (add-hook 'company-mode-hook #'company-box-mode))
|
||||
|
||||
(provide 'icejam-company-yasnippet)
|
||||
;;; icejam-company-yasnippet.el ends here
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
;;; icejam-completing-read -- Functions related to completing-read -*- lexical-binding: t; -*-
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; completing-read is the way of completing things in minibuffer. This module
|
||||
;;; provides all of that functionality, everything related to minbuffer being helpful.
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
(require 'icejam-keys-mode)
|
||||
|
|
@ -27,36 +30,30 @@
|
|||
(add-hook 'minibuffer-setup-hook #'cursor-intangible-mode)
|
||||
|
||||
;; Actual orderless
|
||||
(use-package vertico :ensure t)
|
||||
(use-package orderless :ensure t)
|
||||
(use-package marginalia :ensure t)
|
||||
(use-package consult :ensure t)
|
||||
(use-package vertico :ensure t
|
||||
:custom ((vertico-scroll-margin 1 "Scroll on N-1")
|
||||
(vertico-count 15 "Show 5 more candidates")
|
||||
(vertico-resize t "Grow and shrink the vertico minibufffer")
|
||||
(vertico-cycle t "Cycle completion"))
|
||||
:config
|
||||
(vertico-mode t))
|
||||
|
||||
(use-package orderless :ensure t
|
||||
:custom ((completion-styles '(orderless partial-completion basic)
|
||||
"Fallback to basic if orderless does not work.")
|
||||
(completion-category-defaults nil)
|
||||
(completion-category-overrides
|
||||
'((file (styles partial-completion))))))
|
||||
|
||||
|
||||
(use-package marginalia :ensure t
|
||||
:config (marginalia-mode t))
|
||||
(use-package consult :ensure t
|
||||
:bind (:map icejam-keys-mode-map
|
||||
("C-c t" . find-file)
|
||||
("M-g" . consult-goto-line)
|
||||
("C-c a" . consult-ripgrep)))
|
||||
(use-package helpful :ensure t)
|
||||
|
||||
(with-eval-after-load 'vertico
|
||||
(setq
|
||||
vertico-scroll-margin 0 ;; Different scroll margin
|
||||
vertico-count 15 ;; Show more candidates
|
||||
vertico-resize t ;; Grow and shrink the Vertico minibuffer
|
||||
vertico-cycle t ;; Enable cycling for `vertico-next/previous'
|
||||
)
|
||||
(vertico-mode))
|
||||
|
||||
(with-eval-after-load 'orderless
|
||||
(setq
|
||||
;; Configure a custom style dispatcher (see the Consult wiki)
|
||||
;; (orderless-style-dispatchers '(+orderless-consult-dispatch orderless-affix-dispatch))
|
||||
;; (orderless-component-separator #'orderless-escapable-split-on-space)
|
||||
completion-styles '(orderless basic) ;; Fallback to basic
|
||||
completion-category-defaults nil
|
||||
completion-category-overrides '((file (styles partial-completion)))))
|
||||
|
||||
(with-eval-after-load 'marginalia
|
||||
(marginalia-mode t))
|
||||
|
||||
(with-eval-after-load 'consult
|
||||
(define-key icejam-keys-mode-map (kbd "C-c a") 'consult-ripgrep)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c t") 'find-file))
|
||||
|
||||
(provide 'icejam-completing-read)
|
||||
;;; icejam-completing-read.el ends here
|
||||
|
|
|
|||
|
|
@ -9,14 +9,14 @@
|
|||
;;; Copilot and other GPT stuff
|
||||
|
||||
;;; Code:
|
||||
(use-package copilot
|
||||
:ensure (:host github :repo "copilot-emacs/copilot.el" :files ("*.el")))
|
||||
|
||||
(with-eval-after-load 'copilot
|
||||
;; Do not enable copilot by default because it sorta sucks?
|
||||
;; (add-hook 'prog-mode-hook 'copilot-mode)
|
||||
(define-key copilot-completion-map (kbd "<tab>") 'copilot-accept-completion)
|
||||
(define-key copilot-completion-map (kbd "TAB") 'copilot-accept-completion))
|
||||
(use-package copilot :ensure (:host github :repo "copilot-emacs/copilot.el" :files ("*.el"))
|
||||
:defer t
|
||||
;; It sort of sucks so let's disable it.
|
||||
;; :hook ((prog-mode . copilot-mode))
|
||||
:bind (:map copilot-completion-map
|
||||
([tab] . copilot-accept-completion))
|
||||
:config
|
||||
(add-to-list 'copilot-indentation-alist '(emacs-lisp-mode . 2)))
|
||||
|
||||
;; Enable Anthropic Claude LLM support for chat (it also sucks)
|
||||
(defcustom anthropic-api-key "api-key" "The value of your Anthropic API key."
|
||||
|
|
@ -24,26 +24,22 @@
|
|||
:group 'icejam
|
||||
:initialize 'custom-initialize-set)
|
||||
|
||||
(use-package gptel :ensure t)
|
||||
(with-eval-after-load 'gptel
|
||||
(use-package gptel :ensure t :defer t
|
||||
:config
|
||||
(setq
|
||||
gptel-model "claude-3-5-sonnet-20241022"
|
||||
gptel-model 'claude-3-5-sonnet-20241022
|
||||
gptel-backend (gptel-make-anthropic "Claude"
|
||||
:stream t :key (lambda () anthropic-api-key))))
|
||||
|
||||
;; Pretend to be 'AI editor'.
|
||||
(use-package elysium :ensure t)
|
||||
(with-eval-after-load 'elysium
|
||||
(setq
|
||||
;; The elysium buffer will be 1/3 your screen
|
||||
elysium-window-size 0.33
|
||||
;; Elysium buffer will be vertical
|
||||
elysium-window-style 'vertical))
|
||||
(use-package elysium :ensure t :defer t
|
||||
:custom
|
||||
((elysium-window-size 0.33 "The elysium buffer will be 1/3 your screen")
|
||||
(elysium-window-style 'vertical "Elysium buffer will be vertical")))
|
||||
|
||||
;; Merging with SMerge
|
||||
(use-package smerge-mode :ensure nil)
|
||||
(with-eval-after-load 'smerge-mode
|
||||
(add-hook 'prog-mode-hook #'smerge-mode))
|
||||
(use-package smerge-mode :ensure nil
|
||||
:hook ((prog-mode . smerge-mode)))
|
||||
|
||||
(provide 'icejam-copilot)
|
||||
;;; icejam-copilot.el ends here
|
||||
|
|
|
|||
|
|
@ -14,6 +14,9 @@
|
|||
(setq gc-cons-threshold 500000000)
|
||||
(setq gc-cons-percentage 0.6)
|
||||
|
||||
;; Allow for deeper stacktraces / recursion
|
||||
(setq max-lisp-eval-depth 10000)
|
||||
|
||||
;;; Use elpaca for package management.
|
||||
(defvar elpaca-installer-version 0.7)
|
||||
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
|
||||
|
|
@ -54,11 +57,12 @@
|
|||
(add-hook 'after-init-hook #'elpaca-process-queues)
|
||||
(elpaca `(,@elpaca-order))
|
||||
|
||||
(setq use-package-verbose t)
|
||||
(setq use-package-compute-statistics t)
|
||||
(elpaca elpaca-use-package
|
||||
;; Enable use-package :ensure support for Elpaca.
|
||||
(elpaca-use-package-mode))
|
||||
|
||||
|
||||
(defun icejam-elpaca-write-lock ()
|
||||
"Write elpaca lock file."
|
||||
(interactive)
|
||||
|
|
@ -73,6 +77,7 @@
|
|||
|
||||
;; General configuration files.
|
||||
(require 'icejam-keys-mode)
|
||||
(require 'icejam-blocking)
|
||||
(require 'icejam-base)
|
||||
(require 'icejam-sys-specific)
|
||||
(require 'icejam-tree-sitter)
|
||||
|
|
|
|||
|
|
@ -10,21 +10,19 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(use-package dashboard
|
||||
:ensure (:wait t)
|
||||
:config
|
||||
(dashboard-setup-startup-hook)
|
||||
|
||||
(setq dashboard-footer-messages
|
||||
'("Happy coding!" "I showed you my source code, pls respond"))
|
||||
|
||||
(setq dashboard-startup-banner 'logo)
|
||||
|
||||
(setq dashboard-items '((recents . 5)
|
||||
;; (bookmarks . 5)
|
||||
;; (agenda . 5)
|
||||
;; (registers . 5)
|
||||
(projects . 5))))
|
||||
(use-package dashboard :ensure t :demand t
|
||||
:commands dashboard-setup-startup-hook
|
||||
:hook
|
||||
((elpaca-after-init . dashboard-open))
|
||||
:custom
|
||||
((dashboard-footer-messages '("Happy coding!" "I showed you my source code, pls respond"))
|
||||
(dashboard-startup-banner 'logo)
|
||||
(dashboard-items '((recents . 5)
|
||||
;; (bookmarks . 5)
|
||||
;; (agenda . 5)
|
||||
;; (registers . 5)
|
||||
(projects . 5))))
|
||||
:config (dashboard-setup-startup-hook))
|
||||
|
||||
(provide 'icejam-dashboard)
|
||||
;;; icejam-dashboard.el ends here
|
||||
|
|
|
|||
|
|
@ -6,25 +6,21 @@
|
|||
(require 'icejam-keys-mode)
|
||||
(require 'icejam-transient)
|
||||
|
||||
(use-package deft
|
||||
:ensure t
|
||||
:defer t
|
||||
:config (setq
|
||||
deft-directory (substitute-in-file-name "$DEFT_PATH")
|
||||
deft-default-extension "md"
|
||||
;; NB! deft returns absolute paths as filenames, so
|
||||
;; ignore works slightly differently.
|
||||
deft-ignore-file-regexp "\\._[0-9-A-Z_]+\\.md$"
|
||||
deft-strip-summary-regexp (concat "\\("
|
||||
"[\n\t]" ;; blank
|
||||
"\\|^:[[:ascii:]]+:.*$" ;; org-mode properties string
|
||||
"\\|^Title:.*$" ;; Title string
|
||||
"\\|^title:.*$" ;; title string
|
||||
"\\|^\\[\\[file:.*$" ;; org-mode inline-images
|
||||
;; org-mode properties
|
||||
;; "\\|:PROPERTIES:\n\\(.+\n\\)+:END:\n" ;;
|
||||
"\\)")
|
||||
deft-auto-save-interval 30.0))
|
||||
(use-package deft :ensure t
|
||||
:custom
|
||||
((deft-directory (substitute-in-file-name "$DEFT_PATH"))
|
||||
(deft-default-extension "md")
|
||||
(deft-ignore-file-regexp "\\._[0-9-A-Z_]+\\.md$")
|
||||
(deft-strip-summary-regexp (concat "\\("
|
||||
"[\n\t]" ;; blank
|
||||
"\\|^:[[:ascii:]]+:.*$" ;; org-mode properties string
|
||||
"\\|^Title:.*$" ;; Title string
|
||||
"\\|^title:.*$" ;; title string
|
||||
"\\|^\\[\\[file:.*$" ;; org-mode inline-images
|
||||
;; org-mode properties
|
||||
;; "\\|:PROPERTIES:\n\\(.+\n\\)+:END:\n" ;;
|
||||
"\\)"))
|
||||
(deft-auto-save-interval 30.0)))
|
||||
|
||||
(provide 'icejam-deft)
|
||||
;;; icejam-deft.el ends here
|
||||
|
|
|
|||
|
|
@ -9,20 +9,24 @@
|
|||
;; diminish minor modes
|
||||
|
||||
;;; Code:
|
||||
(use-package diminish :ensure (:wait t))
|
||||
(require 'icejam-blocking)
|
||||
;; (use-package diminish :ensure t)
|
||||
|
||||
(eval-after-load 'flyspell '(diminish 'flyspell-mode))
|
||||
(eval-after-load 'flycheck '(diminish 'flycheck-mode))
|
||||
(eval-after-load 'rainbow-mode '(diminish 'rainbow-mode))
|
||||
(eval-after-load 'undo-tree '(diminish 'undo-tree-mode))
|
||||
(eval-after-load 'company '(diminish 'company-mode))
|
||||
(eval-after-load 'which-key '(diminish 'which-key-mode))
|
||||
(eval-after-load 'eldoc '(diminish 'eldoc-mode))
|
||||
(eval-after-load 'yasnippet '(diminish 'yas-minor-mode))
|
||||
(eval-after-load 'whitespace '(diminish 'whitespace-mode))
|
||||
(eval-after-load 'autorevert '(diminish 'auto-revert-mode))
|
||||
(eval-after-load 'ivy '(diminish 'ivy-mode))
|
||||
(eval-after-load 'gcmh '(diminish 'gcmh-mode))
|
||||
(with-eval-after-load 'diminish
|
||||
(with-eval-after-load 'flyspell (diminish 'flyspell-mode))
|
||||
(with-eval-after-load 'flycheck (diminish 'flycheck-mode))
|
||||
(with-eval-after-load 'rainbow-mode (diminish 'rainbow-mode))
|
||||
(with-eval-after-load 'undo-tree (diminish 'undo-tree-mode))
|
||||
(with-eval-after-load 'company (diminish 'company-mode))
|
||||
(with-eval-after-load 'which-key (diminish 'which-key-mode))
|
||||
(with-eval-after-load 'eldoc (diminish 'eldoc-mode))
|
||||
(with-eval-after-load 'yasnippet (diminish 'yas-minor-mode))
|
||||
(with-eval-after-load 'whitespace (diminish 'whitespace-mode))
|
||||
(with-eval-after-load 'autorevert (diminish 'auto-revert-mode))
|
||||
(with-eval-after-load 'ivy (diminish 'ivy-mode))
|
||||
(with-eval-after-load 'company-box (diminish 'company-box-mode))
|
||||
(with-eval-after-load 'smerge-mode (diminish 'smerge-mode))
|
||||
(with-eval-after-load 'gcmh (diminish 'gcmh-mode)))
|
||||
|
||||
(provide 'icejam-diminish)
|
||||
;;; icejam-diminish.el ends here
|
||||
|
|
|
|||
|
|
@ -3,8 +3,9 @@
|
|||
;;; Code:
|
||||
|
||||
;; Use flycheck globally to check syntax and compile languages
|
||||
(use-package flycheck :ensure t)
|
||||
(with-eval-after-load 'flycheck
|
||||
(use-package flycheck :ensure t
|
||||
:custom ((flycheck-emacs-lisp-load-path 'inherit))
|
||||
:config
|
||||
(global-flycheck-mode t)
|
||||
(setq flycheck-emacs-lisp-load-path 'inherit)
|
||||
(unbind-key "C-c ! C-c" flycheck-mode-map)
|
||||
|
|
|
|||
|
|
@ -3,23 +3,24 @@
|
|||
;;; Highlight misspelled words
|
||||
;;; Code:
|
||||
|
||||
(use-package ispell :ensure nil)
|
||||
|
||||
|
||||
(use-package ispell :ensure nil
|
||||
:custom
|
||||
((ispell-program-name "aspell")
|
||||
(ispell-extra-args '("--run-together" "--run-together-limit=5" "--run-together-min=2"))))
|
||||
|
||||
(use-package flyspell :ensure nil
|
||||
:hook ((prog-mode . flyspell-mode)
|
||||
(text-mode . flyspell-mode)
|
||||
(markdown-mode . flyspell-mode))
|
||||
:config
|
||||
(unbind-key "C-," flyspell-mode-map)
|
||||
(unbind-key "C-." flyspell-mode-map)
|
||||
(unbind-key "C-;" flyspell-mode-map)
|
||||
(unbind-key "C-c $" flyspell-mode-map)
|
||||
(unbind-key "C-M-i" flyspell-mode-map))
|
||||
|
||||
(use-package flyspell-correct :ensure t :after flyspell :defer t)
|
||||
(use-package flyspell-correct-ivy :ensure t :after flyspell-correct :defer t)
|
||||
|
||||
(with-eval-after-load 'ispell
|
||||
(setq
|
||||
ispell-program-name "aspell"
|
||||
ispell-extra-args '("--run-together" "--run-together-limit=5" "--run-together-min=2"))
|
||||
(add-hook 'prog-mode-hook #'flyspell-mode)
|
||||
(add-hook 'text-mode-hook #'flyspell-mode)
|
||||
(add-hook 'markdown-mode-hook #'flyspell-mode)
|
||||
(add-hook 'flyspell-mode-hook (lambda ()
|
||||
(unbind-key "C-," flyspell-mode-map)
|
||||
(unbind-key "C-." flyspell-mode-map)
|
||||
(unbind-key "C-;" flyspell-mode-map)
|
||||
(unbind-key "C-c $" flyspell-mode-map)
|
||||
(unbind-key "C-M-i" flyspell-mode-map))))
|
||||
|
||||
(provide 'icejam-ispell)
|
||||
;;; icejam-ispell.el ends here
|
||||
|
|
|
|||
|
|
@ -3,14 +3,8 @@
|
|||
;;; 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 (:depth 5)
|
||||
:requires (company)
|
||||
:config
|
||||
;; (use-package lsp-mode :ensure (:depth 5) :requires (company))
|
||||
(with-eval-after-load 'lsp-mode
|
||||
(setq-default lsp-file-watch-threshold 10000
|
||||
lsp-restart 'auto-restart
|
||||
lsp-prefer-capf t
|
||||
|
|
@ -65,14 +59,10 @@
|
|||
(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)
|
||||
:hook ((typescript-mode . lsp-deferred)))
|
||||
(unbind-key "s-l s s" lsp-mode-map))
|
||||
|
||||
(use-package lsp-ui
|
||||
:ensure t
|
||||
:requires (lsp-mode)
|
||||
:defer t
|
||||
:config
|
||||
(use-package lsp-ui :ensure t :after (lsp-mode))
|
||||
(with-eval-after-load 'lsp-ui
|
||||
(setq lsp-ui-doc-enable t
|
||||
lsp-ui-header t
|
||||
lsp-ui-delay 0.5 ;; Wait half a second to display documentation
|
||||
|
|
@ -80,10 +70,7 @@
|
|||
lsp-ui-doc-include-signature t))
|
||||
|
||||
;; Lsp debugger mode
|
||||
(use-package dap-mode
|
||||
:ensure t
|
||||
:defer t
|
||||
:requires (lsp-mode lsp-ui))
|
||||
(use-package dap-mode :ensure t :after (lsp-mode lsp-ui))
|
||||
|
||||
(provide 'icejam-lsp)
|
||||
;;; icejam-lsp.el ends here
|
||||
|
|
|
|||
|
|
@ -12,40 +12,33 @@
|
|||
(global-eldoc-mode t)
|
||||
|
||||
;; Revert tag tables without asking
|
||||
(use-package etags :ensure nil)
|
||||
(with-eval-after-load 'etags
|
||||
(setq tags-revert-without-query t))
|
||||
(use-package etags :ensure nil
|
||||
:custom (tags-revert-without-query t "Revert tag tables without asking"))
|
||||
|
||||
;;; Show trailing whitespace and remove whitespace on save
|
||||
(use-package whitespace :ensure nil)
|
||||
|
||||
(with-eval-after-load 'whitespace
|
||||
(setq
|
||||
;; Change whitespace style
|
||||
whitespace-style #'(face trailing empty)
|
||||
;; Insert newline on save
|
||||
require-final-newline 't)
|
||||
|
||||
(add-hook 'prog-mode-hook #'whitespace-mode)
|
||||
(add-hook 'text-mode-hook #'whitespace-mode)
|
||||
(add-hook 'conf-mode-hook #'whitespace-mode)
|
||||
(add-hook 'before-save-hook #'whitespace-cleanup))
|
||||
(use-package whitespace :ensure nil
|
||||
:custom ((whitespace-style #'(face trailing empty) "New whitespace style.")
|
||||
(require-final-newline 't "Insert newline on save"))
|
||||
:hook ((prog-mode . whitespace-mode)
|
||||
(text-mode . whitespace-mode)
|
||||
(conf-mode . whitespace-mode)
|
||||
(before-save . whitespace-cleanup)))
|
||||
|
||||
(setq-default indent-tabs-mode nil)
|
||||
|
||||
;; Use colorful, matching parens
|
||||
(use-package rainbow-delimiters :ensure t)
|
||||
(with-eval-after-load 'rainbow-delimiters
|
||||
;; Rework the code below to enumerate each hook separately:
|
||||
(use-package rainbow-delimiters :ensure t
|
||||
:hook ((prog-mode . rainbow-delimiters-mode)
|
||||
(text-mode . rainbow-delimiters-mode))
|
||||
:config
|
||||
(electric-pair-mode t)
|
||||
(show-paren-mode t)
|
||||
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)
|
||||
(add-hook 'text-mode-hook #'rainbow-delimiters-mode))
|
||||
(show-paren-mode t))
|
||||
|
||||
;;; Show hex (#aaa) colors as colors
|
||||
(use-package rainbow-mode :ensure t)
|
||||
(with-eval-after-load 'rainbow-mode
|
||||
(add-hook 'prog-mode-hook #'rainbow-mode)
|
||||
(add-hook 'text-mode-hook #'rainbow-mode))
|
||||
(use-package rainbow-mode :ensure t
|
||||
:hook ((prog-mode . rainbow-mode)
|
||||
(text-mode . rainbow-mode)))
|
||||
|
||||
;; Dash integration
|
||||
(use-package dash-at-point :ensure t)
|
||||
|
|
@ -64,17 +57,17 @@
|
|||
(setq-local tab-width step)
|
||||
(setq-local tab-stop-list (number-sequence step 200 step)))
|
||||
|
||||
(use-package column-enforce-mode :ensure t)
|
||||
(with-eval-after-load 'column-enforce-mode
|
||||
(use-package column-enforce-mode :ensure t
|
||||
:config
|
||||
(declare-function global-column-enforce-mode "column-enforce-mode")
|
||||
(global-column-enforce-mode t))
|
||||
|
||||
;; PCRE to emacs regex translations
|
||||
;; PCRE to Emacs regex translations
|
||||
(use-package pcre2el :ensure t)
|
||||
|
||||
;; Visual regexp
|
||||
(use-package visual-regexp-steroids :ensure t :requires (pcre2el))
|
||||
(with-eval-after-load 'visual-regexp-steroids
|
||||
(setq vr/engine 'pcre2el))
|
||||
(use-package visual-regexp-steroids :ensure t :requires (pcre2el)
|
||||
:custom (vr/engine 'pcre2el "Use pcre2el for regexes"))
|
||||
|
||||
(provide 'icejam-prog-mode)
|
||||
;;; icejam-prog-mode.el ends here
|
||||
|
|
|
|||
|
|
@ -10,9 +10,7 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(use-package speed-type
|
||||
:ensure t
|
||||
:defer t)
|
||||
(use-package speed-type :ensure t :defer t)
|
||||
|
||||
(provide 'icejam-speed-type)
|
||||
;;; icejam-speed-type.el ends here
|
||||
|
|
|
|||
|
|
@ -2,56 +2,52 @@
|
|||
;;; Commentary:
|
||||
;;; Code:
|
||||
|
||||
(use-package spaceline :ensure t :defer t)
|
||||
(use-package spaceline :ensure t
|
||||
:hook ((elpaca-after-init . spaceline-emacs-theme)))
|
||||
|
||||
(use-package base16-theme :ensure t
|
||||
:init
|
||||
(load-theme 'base16-atelier-forest-light t t)
|
||||
(load-theme 'base16-harmonic16-light t t)
|
||||
(load-theme 'base16-horizon-light t t)
|
||||
(load-theme 'base16-humanoid-light t t)
|
||||
(load-theme 'base16-zenburn t)
|
||||
(load-theme 'base16-tomorrow-night-eighties t t)
|
||||
(load-theme 'base16-darcula t t)
|
||||
(load-theme 'base16-solarflare t t)
|
||||
(load-theme 'base16-snazzy t t)
|
||||
(load-theme 'base16-onedark t t)
|
||||
(load-theme 'base16-gruvbox-dark-hard t t)
|
||||
(load-theme 'modus-vivendi t t)
|
||||
(load-theme 'base16-zenbones t t)
|
||||
:config
|
||||
;; Set themes for terminal mode
|
||||
(setq base16-theme-256-color-source "colors"))
|
||||
;; :config
|
||||
;; (load-theme 'base16-atelier-forest-light t t)
|
||||
;; (load-theme 'base16-harmonic16-light t t)
|
||||
;; (load-theme 'base16-horizon-light t t)
|
||||
;; (load-theme 'base16-humanoid-light t t)
|
||||
;; (load-theme 'base16-zenburn t)
|
||||
;; (load-theme 'base16-tomorrow-night-eighties t t)
|
||||
;; (load-theme 'base16-darcula t t)
|
||||
;; (load-theme 'base16-solarflare t t)
|
||||
;; (load-theme 'base16-snazzy t t)
|
||||
;; (load-theme 'base16-onedark t t)
|
||||
;; (load-theme 'base16-gruvbox-dark-hard t t)
|
||||
;; (load-theme 'modus-vivendi t t)
|
||||
;; (load-theme 'base16-zenbones t t)
|
||||
)
|
||||
|
||||
(use-package apropospriate-theme :ensure t
|
||||
:init (load-theme 'apropospriate-light t t))
|
||||
(use-package leuven-theme :ensure t
|
||||
:init
|
||||
(load-theme 'leuven t t))
|
||||
(use-package modus-themes :ensure t)
|
||||
(use-package darktooth-theme :ensure t
|
||||
:init
|
||||
(load-theme 'darktooth t t))
|
||||
;; (use-package apropospriate-theme :ensure t
|
||||
;; :config (load-theme 'apropospriate-light t t))
|
||||
;; (use-package leuven-theme :ensure t
|
||||
;; :config
|
||||
;; (load-theme 'leuven t t))
|
||||
;; (use-package modus-themes :ensure t )
|
||||
;; (use-package darktooth-theme :ensure t
|
||||
;; :config
|
||||
;; (load-theme 'darktooth t t))
|
||||
|
||||
(use-package cyberpunk-theme :ensure t
|
||||
:init
|
||||
(load-theme 'cyberpunk t t))
|
||||
|
||||
(use-package color-theme-sanityinc-tomorrow :ensure t
|
||||
:init
|
||||
;; Dark themes
|
||||
(load-theme 'sanityinc-tomorrow-eighties t t)
|
||||
(load-theme 'sanityinc-tomorrow-night t t)
|
||||
;; Light theme
|
||||
(load-theme 'sanityinc-tomorrow-day t t))
|
||||
|
||||
(use-package zenburn-theme :ensure t
|
||||
:init
|
||||
(load-theme 'zenburn t t))
|
||||
(use-package catppuccin-theme :ensure t
|
||||
:init (load-theme 'catppuccin t t)
|
||||
:config (setq catppuccin-flavor 'frappe))
|
||||
;; (use-package color-theme-sanityinc-tomorrow :ensure t
|
||||
;; :config
|
||||
;; ;; Dark themes
|
||||
;; (load-theme 'sanityinc-tomorrow-eighties t t)
|
||||
;; (load-theme 'sanityinc-tomorrow-night t t)
|
||||
;; ;; Light theme
|
||||
;; (load-theme 'sanityinc-tomorrow-day t t))
|
||||
|
||||
;; (use-package zenburn-theme :ensure t
|
||||
;; :config
|
||||
;; (load-theme 'zenburn t t))
|
||||
;; (use-package catppuccin-theme :ensure t
|
||||
;; :custom
|
||||
;; ((catpuccin-flavor 'frappe))
|
||||
;; :config
|
||||
;; (load-theme 'catppuccin t t))
|
||||
|
||||
;; Disable cursor blinking
|
||||
(blink-cursor-mode 0)
|
||||
|
|
@ -61,12 +57,10 @@
|
|||
(setq base16-theme-256-color-source "colors")
|
||||
(require 'icejam-base16-zenburn)
|
||||
(require 'icejam-base16-harmonic-light)
|
||||
(enable-theme 'icejam-base16-zenburn))
|
||||
|
||||
;; This is spacemacs modeline but I have disabled it for now.
|
||||
;; It doesn't seem like I need it for anything.
|
||||
;; (spaceline-emacs-theme)
|
||||
(declare-function spaceline-emacs-theme nil)
|
||||
(if (memq window-system '(x mac ns))
|
||||
(enable-theme 'icejam-base16-zenburn)
|
||||
(enable-theme 'icejam-base16-zenburn)))
|
||||
|
||||
(provide 'icejam-themes)
|
||||
;;; icejam-themes.el ends here
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@
|
|||
|
||||
(require 'icejam-avy)
|
||||
(require 'icejam-keys-mode)
|
||||
(use-package transient :ensure (:wait t))
|
||||
(require 'icejam-blocking)
|
||||
;; (use-package transient :ensure (:wait t) :demand t)
|
||||
|
||||
(defun icejam-mark-and-indent-whole-buffer ()
|
||||
"Mark and indent whole buffer."
|
||||
|
|
@ -39,18 +40,18 @@
|
|||
"Code Commands."
|
||||
[""
|
||||
["Manipulate"
|
||||
("c" "Toggle Comment" comment-line)
|
||||
("r" "Replace" vr/replace)
|
||||
("i" "Indent" indent-region)
|
||||
("a" "Align" align-regexp)]
|
||||
("c" "Toggle Comment" comment-line)
|
||||
("r" "Replace" vr/replace)
|
||||
("i" "Indent" indent-region)]
|
||||
["Complete"
|
||||
("y" "Snippet" company-yasnippet)
|
||||
("m" "Any (Company)" company-complete)
|
||||
("g" "Ask GPT" gptel-menu)]
|
||||
("y" "Snippet" company-yasnippet)
|
||||
("m" "Any (Company)" company-complete)
|
||||
("g" "Ask GPT" gptel-menu)
|
||||
("e" "Refactor (Elysium)" elysium-query)]
|
||||
["Find"
|
||||
("s" "Swiper" consult-line)
|
||||
("u" "Vundo" vundo)
|
||||
("d" "Dash" dash-at-point)]])
|
||||
("s" "Swiper" consult-line)
|
||||
("u" "Vundo" vundo)
|
||||
("d" "Dash" dash-at-point)]])
|
||||
|
||||
(transient-define-prefix icejam-window-menu ()
|
||||
"Windows Commands."
|
||||
|
|
@ -103,8 +104,7 @@
|
|||
"Font Commands."
|
||||
[""
|
||||
["Everywhere"
|
||||
("R" "Reset to default" set-font-to-screen)
|
||||
("s" "Set size" set-font-size)]
|
||||
("s" "Adjust font size" global-text-scale-adjust)]
|
||||
["In this buffer"
|
||||
("i" "Bigger" (lambda () (interactive) (text-scale-increase 1)))
|
||||
("d" "Smaller" (lambda () (interactive) (text-scale-decrease 1)))
|
||||
|
|
|
|||
|
|
@ -6,29 +6,30 @@
|
|||
|
||||
;;; Commentary:
|
||||
|
||||
;; Load treesitter grammars automatically
|
||||
;; Load treesitter grammars automatically, based on the grammars provided by the
|
||||
;; community.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defun icejam-tree-sitter-symlink-grammar-objects ()
|
||||
"Tree-sitter-langs-build releases grammars as LANG.so, but treesit needs libtree-sitter-LANG.so."
|
||||
(interactive)
|
||||
(dolist (file (directory-files (tree-sitter-langs--bin-dir) 'full
|
||||
(concat "\\" (car tree-sitter-load-suffixes) "$")))
|
||||
;; make symlink (or copy) libtree-sitter-c.so -> c.so
|
||||
(let ((target (concat (file-name-as-directory (file-name-directory file))
|
||||
"libtree-sitter-"
|
||||
(file-name-nondirectory file))))
|
||||
(if (memq system-type '(ms-dos windows-nt cygwin))
|
||||
(copy-file file target)
|
||||
(make-symbolic-link file target)))))
|
||||
(use-package tree-sitter-langs :ensure t
|
||||
:config
|
||||
(declare-function tree-sitter-langs--bin-dir "tree-sitter-langs")
|
||||
(add-to-list 'treesit-extra-load-path (tree-sitter-langs--bin-dir))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;; Tree sitter ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(use-package tree-sitter-langs :ensure t)
|
||||
(with-eval-after-load 'tree-sitter-langs
|
||||
(add-to-list 'treesit-extra-load-path (tree-sitter-langs--bin-dir)))
|
||||
|
||||
;; (use-package tree-sitter-indent :ensure t)
|
||||
(add-hook 'tree-sitter-after-on-hook 'tree-sitter-hl-mode)
|
||||
(defun icejam-tree-sitter-symlink-grammar-objects ()
|
||||
"Create symlinks for treesitter grammars.
|
||||
Tree-sitter-langs-build releases grammars as LANG.so. Treesit needs
|
||||
libtree-sitter-LANG.so"
|
||||
(interactive)
|
||||
(dolist (file (directory-files (tree-sitter-langs--bin-dir) 'full
|
||||
(concat "\\" (car tree-sitter-load-suffixes) "$")))
|
||||
;; make symlink (or copy) libtree-sitter-c.so -> c.so
|
||||
(let ((target (concat (file-name-as-directory (file-name-directory file))
|
||||
"libtree-sitter-"
|
||||
(file-name-nondirectory file))))
|
||||
(if (memq system-type '(ms-dos windows-nt cygwin))
|
||||
(copy-file file target)
|
||||
(make-symbolic-link file target))))))
|
||||
|
||||
(provide 'icejam-tree-sitter)
|
||||
;;; icejam-tree-sitter.el ends here
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
(require 'icejam-prog-mode)
|
||||
(require 'icejam-transient)
|
||||
|
||||
(use-package lispy :ensure (:wait t) :defer t)
|
||||
(use-package lispy :ensure t)
|
||||
|
||||
(declare-function column-enforce-n "column-enforce-mode" (number))
|
||||
(add-to-list 'auto-mode-alist '("/Eask\\'" . emacs-lisp-mode))
|
||||
|
|
@ -24,18 +24,21 @@
|
|||
(add-to-list
|
||||
'icejam-language-transient-alist '(emacs-lisp-mode . icejam-elisp-lang-menu))
|
||||
|
||||
(defun icejam-activate-emacs-lisp-mode ()
|
||||
"Goodies for editing Emacs files."
|
||||
(icejam-set-indent 2) ;; Default indentation of 2 characters
|
||||
(column-enforce-n 80)
|
||||
(lispy-mode)
|
||||
(setq-default indent-tabs-mode nil)
|
||||
(with-eval-after-load 'lispy
|
||||
(declare-function lispy-mode "lispy")
|
||||
(defun icejam-activate-emacs-lisp-mode ()
|
||||
"Goodies for editing Emacs files."
|
||||
(icejam-set-indent 2) ;; Default indentation of 2 characters
|
||||
(column-enforce-n 80)
|
||||
|
||||
;; Company list override
|
||||
(add-to-list (make-local-variable 'company-backends)
|
||||
'(company-yasnippet company-capf)))
|
||||
(lispy-mode t)
|
||||
(setq-default indent-tabs-mode nil)
|
||||
|
||||
(add-hook 'emacs-lisp-mode-hook 'icejam-activate-emacs-lisp-mode)
|
||||
;; Company list override
|
||||
(add-to-list (make-local-variable 'company-backends)
|
||||
'(company-yasnippet company-capf)))
|
||||
|
||||
(add-hook 'emacs-lisp-mode-hook 'icejam-activate-emacs-lisp-mode))
|
||||
|
||||
(provide 'icejam-lang-elisp)
|
||||
;;; icejam-lang-elisp.el ends here
|
||||
|
|
|
|||
|
|
@ -9,13 +9,12 @@
|
|||
(declare-function lsp "lsp-mode" nil)
|
||||
(declare-function column-enforce-n "column-enforce-mode" (number))
|
||||
|
||||
(use-package elixir-mode :defer t :ensure t)
|
||||
(use-package elixir-mode :ensure t)
|
||||
(use-package elixir-ts-mode :ensure t :requires (elixir-mode lsp-mode lsp-ui))
|
||||
|
||||
(use-package elixir-ts-mode :ensure t
|
||||
:requires (elixir-mode lsp-mode lsp-ui)
|
||||
:mode
|
||||
("\\.exs\\'" . elixir-ts-mode)
|
||||
("\\.ex\\'" . elixir-ts-mode))
|
||||
(with-eval-after-load 'elixir-ts-mode
|
||||
(add-to-list 'auto-mode-alist '("\\.exs\\'" . elixir-ts-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.ex\\'" . elixir-ts-mode)))
|
||||
|
||||
(transient-define-prefix icejam-elixir-lang-menu ()
|
||||
"Elixir Buffer Commands."
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
(use-package erlang
|
||||
:defer t
|
||||
:ensure (:depth 1)
|
||||
:requires (lsp-mode lsp-ui))
|
||||
:after (lsp lsp-ui))
|
||||
|
||||
(cl-defun icejam-erlang-emacs-path (erlang-version)
|
||||
"Find path to Emacs tooling for ERLANG-VERSION."
|
||||
|
|
@ -54,17 +54,6 @@
|
|||
"Create plist from current Erlang version."
|
||||
(seq-find 'icejam-erlang-current-version--plistp icejam-erlang-available-versions))
|
||||
|
||||
;; Flycheck checker for Erlang
|
||||
(flycheck-define-checker erlang-otp
|
||||
"An Erlang syntax checker using the Erlang interpreter."
|
||||
:command ("erlc" "-o" temporary-directory "-Wall"
|
||||
"-I" "../include" "-I" "../../include"
|
||||
"-I" "../../../include" source)
|
||||
:error-patterns
|
||||
((warning line-start (file-name) ":" line ": Warning:" (message) line-end)
|
||||
(error line-start (file-name) ":" line ": " (message) line-end))
|
||||
:modes (my-erlang-mode))
|
||||
|
||||
(defun icejam-activate-erlang-mode ()
|
||||
"All things for all Erlang, including header files."
|
||||
(when (featurep 'erlang-start) (unload-feature 'erlang-start))
|
||||
|
|
@ -86,25 +75,12 @@
|
|||
(icejam-set-indent 4)
|
||||
(column-enforce-n 80)
|
||||
|
||||
;; Add include path so that Erlang does not complain about
|
||||
;; missing header files.
|
||||
(setq-local flycheck-erlang-include-path
|
||||
(list (format "%sdeps" (project-root (project-current)))
|
||||
(format "%s_build/default/lib" (project-root (project-current)))
|
||||
(format "%sinclude" (project-root (project-current)))
|
||||
(format "%sapps" (project-root (project-current)))))
|
||||
|
||||
(setq-local flycheck-erlang-library-path
|
||||
(list (format "%sdeps" (project-root (project-current)))
|
||||
(format "%s_build/default/lib" (project-root (project-current)))
|
||||
(format "%sapps" (project-root (project-current)))))
|
||||
;; Start LSP
|
||||
(lsp)
|
||||
|
||||
;; Company list override
|
||||
(add-to-list (make-local-variable 'company-backends)
|
||||
'(company-capf company-yasnippet))
|
||||
|
||||
;; Start LSP server
|
||||
(lsp))
|
||||
'(company-capf company-yasnippet)))
|
||||
|
||||
(add-hook 'erlang-mode-hook 'icejam-activate-erlang-mode)
|
||||
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@
|
|||
;;; Code:
|
||||
|
||||
(require 'icejam-prog-mode)
|
||||
|
||||
(declare-function elpaca-installed-p "elpacs")
|
||||
(unless (elpaca-installed-p 'markdown-mode)
|
||||
(use-package markdown-mode
|
||||
:ensure t
|
||||
:defer t
|
||||
:init (setq-default markdown-command "pandoc")))
|
||||
(use-package markdown-mode :ensure t))
|
||||
|
||||
(with-eval-after-load 'markdown-mode
|
||||
(setq-default markdown-command "pandoc"))
|
||||
|
||||
(defun icejam-lang-activate-markdown-mode ()
|
||||
"Reconfigure markdown mode for your own purposes."
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@
|
|||
(declare-function lsp "lsp-mode" nil)
|
||||
|
||||
(use-package merlin :defer t :ensure t)
|
||||
(use-package opam-switch-mode :ensure t :defer t)
|
||||
(use-package opam-switch-mode :defer t :ensure t)
|
||||
(use-package dune :defer t :ensure t)
|
||||
(use-package tuareg
|
||||
:defer t
|
||||
:ensure t
|
||||
:config (add-hook 'tuareg-mode-hook 'merlin-mode))
|
||||
(use-package tuareg :defer t :ensure t)
|
||||
|
||||
(with-eval-after-load 'tuareg
|
||||
(add-hook 'tuareg-mode-hook 'merlin-mode))
|
||||
|
||||
(transient-define-prefix icejam-ocaml-lang-menu ()
|
||||
"Ocaml Actions."
|
||||
|
|
|
|||
|
|
@ -31,17 +31,12 @@
|
|||
(defun icejam-lang-activate-yaml-mode ()
|
||||
"Activate yaml-mode."
|
||||
(lsp))
|
||||
|
||||
(add-hook 'yaml-mode-hook 'icejam-lang-activate-yaml-mode))
|
||||
|
||||
|
||||
;; Other text files
|
||||
(use-package json-mode :ensure t :defer t)
|
||||
(use-package git-modes
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook ((gitignore-mode . whitespace-mode)
|
||||
(before-save . whitespace-cleanup)))
|
||||
(use-package git-modes :ensure t :defer t
|
||||
:hook (gitignore . whitespace-mode-hook))
|
||||
|
||||
(provide 'icejam-lang-other)
|
||||
;;; icejam-lang-other.el ends here
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue