fixed lsp, orderless, corfu
irrelevant elements are now correctly filtered out of lsp by orderless,corfu. fixed some whitespace, indentation
This commit is contained in:
@@ -4,9 +4,9 @@
|
||||
;; Custom & Packages Loading
|
||||
;; ============================================================
|
||||
(let ((custom-dir (expand-file-name "custom/" user-emacs-directory)))
|
||||
(when (file-directory-p custom-dir)
|
||||
(dolist (file (directory-files custom-dir nil "\\.el$"))
|
||||
(load (expand-file-name (file-name-sans-extension file) custom-dir)))))
|
||||
(when (file-directory-p custom-dir)
|
||||
(dolist (file (directory-files custom-dir nil "\\.el$"))
|
||||
(load (expand-file-name (file-name-sans-extension file) custom-dir)))))
|
||||
|
||||
(add-to-list 'load-path (expand-file-name "packages/" user-emacs-directory))
|
||||
(add-to-list 'custom-theme-load-path (expand-file-name "themes/" user-emacs-directory))
|
||||
@@ -14,81 +14,84 @@
|
||||
(add-hook
|
||||
'after-init-hook
|
||||
(lambda ()
|
||||
(require 'visuals-packages) ; ui, eye candy
|
||||
(require 'editing-packages) ; text editing
|
||||
(require 'system-packages) ; emacs itself
|
||||
(require 'tutilities-packages) ; tertiary utilities
|
||||
(require 'completion-packages) ; ui, functional
|
||||
(require 'dev-packages) ; lsp, treesitter
|
||||
)
|
||||
(with-demoted-errors "Error in after-init-hook: %S"
|
||||
(require 'visuals-packages) ; ui, eye candy
|
||||
(require 'editing-packages) ; text editing
|
||||
(require 'system-packages) ; emacs itself
|
||||
(require 'tutilities-packages) ; tertiary utilities
|
||||
(require 'completion-packages) ; ui, functional
|
||||
(require 'dev-packages) ; lsp, treesitter
|
||||
))
|
||||
)
|
||||
;; ============================================================
|
||||
;; Keybindings
|
||||
;; ============================================================
|
||||
|
||||
(use-package general
|
||||
:config
|
||||
:config
|
||||
|
||||
(general-define-key
|
||||
:keymaps 'global
|
||||
"C-l" nil ; recenter
|
||||
"C-n" nil ; next line
|
||||
"C-p" nil ; previous line
|
||||
"C-f" nil ; forward chard
|
||||
"C-o" nil ; idk
|
||||
"C-t" nil ; transpose
|
||||
;"C-m" nil can't be rebound because is same as ret
|
||||
"C->" nil ;end of buffer
|
||||
"C-<" nil ;start of buffer
|
||||
)
|
||||
(general-define-key
|
||||
:keymaps 'global
|
||||
"C-l" nil ; recenter
|
||||
"C-n" nil ; next line
|
||||
"C-p" nil ; previous line
|
||||
"C-f" nil ; forward chard
|
||||
"C-o" nil ; idk
|
||||
"C-t" nil ; transpose
|
||||
;"C-m" nil can't be rebound because is same as ret
|
||||
"C->" nil ;end of buffer
|
||||
"C-<" nil ;start of buffer
|
||||
"C-<right>" nil
|
||||
"C-<left>" nil
|
||||
)
|
||||
|
||||
(general-def
|
||||
:keymaps 'global
|
||||
"C-S-c" #'my/system-copy
|
||||
"C-S-x" #'my/system-cut
|
||||
"C-S-v" #'my/system-paste
|
||||
"C-z" #'undo
|
||||
"C-M-z" #'undo-redo
|
||||
"C-k" #'avy-kill-whole-line
|
||||
"C-r" #'recenter-top-bottom
|
||||
"C-b" #'scroll-down-command
|
||||
"C-<backspace>" #'my/delete-word-backward
|
||||
"M-<backspace>" #'my/delete-word-backward
|
||||
"M-s M-s" #'scroll-lock-mode
|
||||
"C-w" #'delete-window
|
||||
(general-def
|
||||
:keymaps 'global
|
||||
"C-S-c" #'my/system-copy
|
||||
"C-S-x" #'my/system-cut
|
||||
"C-S-v" #'my/system-paste
|
||||
"C-z" #'undo
|
||||
"C-M-z" #'undo-redo
|
||||
"C-k" #'avy-kill-whole-line
|
||||
"C-r" #'recenter-top-bottom
|
||||
"C-b" #'scroll-down-command
|
||||
"C-<backspace>" #'my/delete-word-backward
|
||||
"M-<backspace>" #'my/delete-word-backward
|
||||
"M-s M-s" #'scroll-lock-mode
|
||||
"C-w" #'delete-window
|
||||
|
||||
"C-x m" #'switch-to-minibuffer
|
||||
"C-x m" #'switch-to-minibuffer
|
||||
|
||||
"M-w" #'clipetty-kill-ring-save
|
||||
; "C-x S-v" #'shrink-window
|
||||
; "C-x v" #'enlarge-window
|
||||
)
|
||||
(general-def
|
||||
:keymaps 'override
|
||||
"C-s C-s C-f" #'my/avy-char-region ; search select find
|
||||
"C-s C-s C-l" #'my/avy-line-region ; search select line
|
||||
"C-s C-e" #'expreg-expand ; selection expand
|
||||
"C-s C-c" #'expreg-contract ; selection contract
|
||||
"M-w" #'clipetty-kill-ring-save
|
||||
; "C-x S-v" #'shrink-window
|
||||
; "C-x v" #'enlarge-window
|
||||
)
|
||||
(general-def
|
||||
:keymaps 'override
|
||||
"C-s C-s C-f" #'my/avy-char-region ; search select find
|
||||
"C-s C-s C-l" #'my/avy-line-region ; search select line
|
||||
"C-s C-e" #'expreg-expand ; selection expand
|
||||
"C-s C-c" #'expreg-contract ; selection contract
|
||||
|
||||
"C-s f" #'kirigami-toggle-fold ; fold
|
||||
)
|
||||
"C-s f" #'kirigami-toggle-fold ; fold
|
||||
)
|
||||
|
||||
(general-def
|
||||
:keymaps 'override
|
||||
(general-def
|
||||
:keymaps 'override
|
||||
|
||||
"C-f C-r" #'buffer-table ; recent buffer
|
||||
"C-f C-f" #'avy-goto-char-timer ; find
|
||||
"C-f C-l" #'consult-line ; line
|
||||
"C-f g" #'avy-goto-line ; goto
|
||||
"C-f C-r" #'buffer-table ; recent buffer
|
||||
"C-f C-f" #'avy-goto-char-timer ; find
|
||||
"C-f C-l" #'consult-line ; line
|
||||
"C-f g" #'avy-goto-line ; goto
|
||||
|
||||
)
|
||||
|
||||
(general-def
|
||||
:keymaps 'override
|
||||
"C-s s" #'shell-pop ; shell
|
||||
)
|
||||
)
|
||||
|
||||
(general-def
|
||||
:keymaps 'override
|
||||
"C-s s" #'shell-pop ; shell
|
||||
)
|
||||
)
|
||||
|
||||
;; 1. Make single ';' trigger Control for the very next keypress
|
||||
(define-key key-translation-map (kbd ";") 'event-apply-control-modifier)
|
||||
|
||||
@@ -101,28 +104,29 @@
|
||||
;; ============================================================
|
||||
|
||||
(use-package emacs
|
||||
:ensure nil
|
||||
:custom
|
||||
;; --- Completion & Search ---
|
||||
(completion-ignore-case t)
|
||||
(read-file-name-completion-ignore-case t)
|
||||
(read-buffer-completion-ignore-case t)
|
||||
(text-mode-ispell-word-completion nil)
|
||||
:ensure nil
|
||||
:custom
|
||||
;; --- Completion & Search ---
|
||||
(completion-ignore-case t)
|
||||
(read-file-name-completion-ignore-case t)
|
||||
(read-buffer-completion-ignore-case t)
|
||||
(text-mode-ispell-word-completion nil)
|
||||
(completion-category-overrides '((point (styles orderless basic))))
|
||||
|
||||
;; --- Backup & Auto-save ---
|
||||
;; Centralize all backup files to a single directory to avoid cluttering projects
|
||||
(backup-directory-alist '(("." . "~/MyEmacsBackups")))
|
||||
(auto-save-list-file-prefix "~/MyEmacsBackups")
|
||||
(backup-by-copying t)
|
||||
(create-lockfiles nil)
|
||||
(make-backup-files nil)
|
||||
;; --- Backup & Auto-save ---
|
||||
;; Centralize all backup files to a single directory to avoid cluttering projects
|
||||
(backup-directory-alist '(("." . "~/MyEmacsBackups/")))
|
||||
(auto-save-list-file-prefix "~/MyEmacsBackups/")
|
||||
(backup-by-copying t)
|
||||
(create-lockfiles nil)
|
||||
(make-backup-files nil)
|
||||
|
||||
;; --- Miscellaneous ---
|
||||
(tab-always-indent 'complete)
|
||||
;; --- Miscellaneous ---
|
||||
(tab-always-indent 'complete)
|
||||
|
||||
:hook
|
||||
(prog-mode . hs-minor-mode)
|
||||
)
|
||||
:hook
|
||||
(prog-mode . hs-minor-mode)
|
||||
)
|
||||
|
||||
;; ============================================================
|
||||
;; 3. Core Settings & UI
|
||||
@@ -144,7 +148,7 @@
|
||||
truncate-lines nil ; Enable line wrapping
|
||||
fast-but-imprecise-scrolling t
|
||||
ring-bell-function 'ignore ; Silence the system bell
|
||||
|
||||
|
||||
|
||||
;; --- File & Buffer Handling ---
|
||||
find-file-visit-truename t
|
||||
@@ -187,52 +191,52 @@
|
||||
;; 5. Hooks, Modes & Theming
|
||||
;; ============================================================
|
||||
|
||||
(add-hook 'text-mode-hook #'jit-spell-mode)
|
||||
|
||||
(add-hook
|
||||
'after-init-hook
|
||||
(lambda ()
|
||||
;; --- Modes ---
|
||||
(recentf-mode t) ; save/load recent files
|
||||
(global-display-line-numbers-mode 1) ; always display line numbers
|
||||
(global-hl-line-mode 0) (hl-line-mode 0) ; handled by god mode toggle
|
||||
(savehist-mode 1)
|
||||
(global-clipetty-mode t) ; copy-paste in terminal
|
||||
(global-auto-revert-mode t) ; automatically refresh buffer
|
||||
(yas-global-mode t) ; yasnippets
|
||||
(repeat-mode 1) ; repeat key without modifier
|
||||
(electric-pair-mode t) ; automatically handle pairs
|
||||
(jit-spell-mode t) ; spellcheck
|
||||
(fringe-mode '(0 . 8)) ; fringe only on right edge
|
||||
(delete-selection-mode 1)
|
||||
(auto-revert-mode t)
|
||||
;; --- Modes ---
|
||||
(recentf-mode t) ; save/load recent files
|
||||
(global-display-line-numbers-mode 1) ; always display line numbers
|
||||
(global-hl-line-mode 0) (hl-line-mode 0) ; handled by god mode toggle
|
||||
(savehist-mode 1)
|
||||
(global-clipetty-mode t) ; copy-paste in terminal
|
||||
(global-auto-revert-mode t) ; automatically refresh buffer
|
||||
(yas-global-mode t) ; yasnippets
|
||||
(repeat-mode 1) ; repeat key without modifier
|
||||
(electric-pair-mode t) ; automatically handle pairs
|
||||
(fringe-mode '(0 . 8)) ; fringe only on right edge
|
||||
(delete-selection-mode 1)
|
||||
|
||||
;; --- Special UI Settings ---
|
||||
(setq ispell-program-name "hunspell"
|
||||
ispell-dictionary "en_US,nl_NL")
|
||||
;; --- Special UI Settings ---
|
||||
(setq ispell-program-name "hunspell"
|
||||
ispell-dictionary "en_US,nl_NL")
|
||||
|
||||
;; Ensure help opens in a side window rather than replacing current buffer
|
||||
(setq display-buffer-alist
|
||||
(cons '("Help" . (display-buffer-in-side-window
|
||||
:side 'bottom
|
||||
:style 'overriding
|
||||
:window-height 0.3))
|
||||
display-buffer-alist))
|
||||
;; Ensure help opens in a side window rather than replacing current buffer
|
||||
(setq display-buffer-alist
|
||||
(cons '("Help" . (display-buffer-in-side-window
|
||||
:side 'bottom
|
||||
:style 'overriding
|
||||
:window-height 0.3))
|
||||
display-buffer-alist))
|
||||
|
||||
(setq minibuffer-prompt-properties
|
||||
'(read-only t intangible t cursor-intangible t face minibuffer-prompt))
|
||||
)
|
||||
(setq minibuffer-prompt-properties
|
||||
'(read-only t intangible t cursor-intangible t face minibuffer-prompt))
|
||||
)
|
||||
)
|
||||
|
||||
;; Dired Customization
|
||||
(with-eval-after-load 'dired
|
||||
(add-hook 'dired-mode-hook
|
||||
(lambda ()
|
||||
(define-key dired-mode-map (kbd "a") 'dired-up-directory)
|
||||
(define-key dired-mode-map (kbd "v") 'dirvish-move))))
|
||||
(add-hook 'dired-mode-hook
|
||||
(lambda ()
|
||||
(define-key dired-mode-map (kbd "a") 'dired-up-directory)
|
||||
(define-key dired-mode-map (kbd "v") 'dirvish-move))))
|
||||
|
||||
;; Recentf Maintenance
|
||||
(with-eval-after-load 'recentf
|
||||
(run-at-time nil 600 #'recentf-cleanup)
|
||||
(setq recentf-exclude '(".*/$")))
|
||||
(run-at-time nil 600 #'recentf-cleanup)
|
||||
(setq recentf-exclude '(".*/$")))
|
||||
|
||||
;; General Hooks
|
||||
(add-hook 'find-file-hook #'recentf-save-list)
|
||||
@@ -240,7 +244,7 @@
|
||||
|
||||
;; Mode-specific fonts
|
||||
(dolist (hook '(markdown-mode-hook org-mode-hook json-mode-hook))
|
||||
(add-hook hook (lambda () (buffer-face-set '(:family "Noto Sans" :height 140)))))
|
||||
(add-hook hook (lambda () (buffer-face-set '(:family "Noto Sans" :height 140)))))
|
||||
|
||||
;; File Associations
|
||||
(add-to-list 'auto-mode-alist '("\\.qd$" . markdown-mode))
|
||||
@@ -252,10 +256,10 @@
|
||||
(add-hook
|
||||
'window-setup-hook
|
||||
(lambda ()
|
||||
(set-face-attribute 'default nil :family "Noto Sans Mono" :height 110)
|
||||
(set-face-attribute 'variable-pitch nil :family "Noto Sans" :height 120)
|
||||
(load-theme 'cutarv42 t)
|
||||
)
|
||||
(set-face-attribute 'default nil :family "Noto Sans Mono" :height 110)
|
||||
(set-face-attribute 'variable-pitch nil :family "Noto Sans" :height 120)
|
||||
(load-theme 'cutarv42 t)
|
||||
)
|
||||
)
|
||||
|
||||
(setq nerd-icons-font-family "Symbols Nerd Font Mono")
|
||||
(setq nerd-icons-font-family "Symbols Nerd Font Mono")
|
||||
|
||||
Reference in New Issue
Block a user