2024-12-02 23:56:19 -05:00
|
|
|
(column-number-mode 1)
|
|
|
|
|
|
|
|
(line-number-mode 1)
|
|
|
|
(add-hook 'prog-mode-hook 'display-line-numbers-mode)
|
|
|
|
(setopt display-line-numbers-width 3)
|
|
|
|
|
|
|
|
(add-hook 'text-mode-hook 'visual-line-mode)
|
2024-12-03 20:59:41 -05:00
|
|
|
(add-hook 'text-mode-hook 'hl-line-mode)
|
|
|
|
(add-hook 'prog-mode-hook 'hl-line-mode)
|
2024-12-02 23:56:19 -05:00
|
|
|
|
|
|
|
(setopt x-underline-at-descent-line nil)
|
|
|
|
(setopt switch-to-buffer-obey-display-actions 1)
|
|
|
|
|
2024-12-07 13:12:49 -05:00
|
|
|
; help buffers always open in the same window. mainly this helps make it so
|
|
|
|
; opening links in help buffers doesn't cause them to open in new windows
|
|
|
|
; each time. ugh!
|
|
|
|
; TODO: admittedly this makes initially opening help slightly more annoying as
|
|
|
|
; the first help buffer will *also* open in the same window.
|
|
|
|
(add-to-list 'display-buffer-alist
|
|
|
|
'("*Help*" display-buffer-same-window))
|
|
|
|
|
2024-12-02 23:56:19 -05:00
|
|
|
(setopt show-trailing-whitespace nil)
|
|
|
|
(setopt indicate-buffer-boundaries 'left)
|
2024-12-03 21:35:23 -05:00
|
|
|
|
2024-12-17 18:11:05 -05:00
|
|
|
(setq confirm-nonexistent-file-or-buffer nil)
|
2024-12-03 21:35:23 -05:00
|
|
|
(setq use-short-answers t)
|
2024-12-02 23:56:19 -05:00
|
|
|
|
|
|
|
(unless (display-graphic-p)
|
|
|
|
(xterm-mouse-mode 1))
|
|
|
|
|
|
|
|
(when (display-graphic-p)
|
|
|
|
(pixel-scroll-precision-mode 1))
|
|
|
|
|
|
|
|
(context-menu-mode 1)
|
|
|
|
|
|
|
|
(setopt tab-bar-show 1)
|
|
|
|
|
2025-01-26 14:28:00 -05:00
|
|
|
; this is 99% based off the default value, only the number is changed
|
|
|
|
(setq mouse-wheel-scroll-amount '(3 ((shift) . hscroll) ((meta)) ((control meta) . global-text-scale) ((control) . text-scale)))
|
|
|
|
|
2024-12-02 23:56:19 -05:00
|
|
|
(let ((mono-spaced-font "Cascadia Code")
|
|
|
|
(proportionately-spaced-font "Sans"))
|
2024-12-03 17:50:16 -05:00
|
|
|
(set-face-attribute 'default nil :family mono-spaced-font :height 120)
|
2024-12-02 23:56:19 -05:00
|
|
|
(set-face-attribute 'fixed-pitch nil :family mono-spaced-font :height 1.0)
|
|
|
|
(set-face-attribute 'variable-pitch nil :family proportionately-spaced-font :height 1.0))
|
|
|
|
|
|
|
|
(use-package modus-themes
|
|
|
|
:ensure t
|
2024-12-08 14:00:02 -05:00
|
|
|
:config
|
|
|
|
(setq modus-themes-italic-constructs t)
|
|
|
|
(setq modus-themes-bold-constructs t)
|
|
|
|
(setq modus-themes-common-palette-overrides
|
|
|
|
'(
|
|
|
|
;; highlight numbers!!!!!!
|
|
|
|
(number yellow-warmer)
|
|
|
|
))
|
|
|
|
(load-theme 'modus-vivendi-tinted :no-confirm-loading))
|
2024-12-02 23:56:19 -05:00
|
|
|
|
|
|
|
;; NOTE: Easy way to install the necessary nerd-icons fonts for this to work:
|
|
|
|
;; M-x nerd-icons-install-fonts
|
|
|
|
|
|
|
|
(use-package nerd-icons
|
|
|
|
:ensure t)
|
|
|
|
(use-package nerd-icons-completion
|
|
|
|
:ensure t
|
|
|
|
:after marginalia
|
|
|
|
:config
|
|
|
|
(add-hook 'marginalia-mode-hook #'nerd-icons-completion-marginalia-setup))
|
|
|
|
(use-package nerd-icons-corfu
|
|
|
|
:ensure t
|
|
|
|
:after corfu
|
|
|
|
:config (add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter))
|
|
|
|
(use-package nerd-icons-dired
|
|
|
|
:ensure t
|
|
|
|
:hook (dired-mode . nerd-icons-dired-mode))
|
|
|
|
|
|
|
|
(use-package doom-modeline
|
|
|
|
:ensure t
|
|
|
|
:init (doom-modeline-mode 1))
|
|
|
|
|
|
|
|
(use-package rainbow-delimiters
|
|
|
|
:ensure t
|
|
|
|
:hook (prog-mode . rainbow-delimiters-mode))
|
|
|
|
|
|
|
|
(use-package which-key
|
|
|
|
:ensure t
|
|
|
|
:init (which-key-mode)
|
|
|
|
:diminish which-key-mode
|
|
|
|
:config
|
|
|
|
(setq which-key-idle-delay 1))
|
|
|
|
|
|
|
|
(use-package helpful
|
|
|
|
:ensure t
|
2024-12-03 11:16:34 -05:00
|
|
|
:bind
|
|
|
|
(([remap describe-function] . helpful-callable)
|
|
|
|
([remap describe-variable] . helpful-variable)
|
|
|
|
([remap describe-key] . helpful-key)
|
|
|
|
([remap describe-command] . helpful-command)))
|
2024-12-02 23:56:19 -05:00
|
|
|
|
|
|
|
(use-package kind-icon
|
|
|
|
:ensure t
|
|
|
|
:if (display-graphic-p)
|
|
|
|
:after corfu
|
|
|
|
:config
|
|
|
|
(add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter))
|
2024-12-05 22:02:13 -05:00
|
|
|
|
|
|
|
(use-package window
|
|
|
|
:bind
|
2024-12-07 12:34:53 -05:00
|
|
|
(([remap split-window-below] . gered/split-window-vertically)
|
|
|
|
([remap split-window-right] . gered/split-window-horizontally)
|
2024-12-05 22:02:13 -05:00
|
|
|
("M-o" . other-window)
|
|
|
|
("M-p" . gered/switch-to-previous-buffer)
|
|
|
|
("M-}" . next-buffer)
|
|
|
|
("M-{" . previous-buffer))
|
|
|
|
:init
|
|
|
|
(defun gered/split-window-vertically ()
|
|
|
|
(interactive)
|
|
|
|
(split-window-vertically)
|
|
|
|
(other-window 1 nil)
|
|
|
|
(switch-to-next-buffer))
|
|
|
|
(defun gered/split-window-horizontally ()
|
|
|
|
(interactive)
|
|
|
|
(split-window-horizontally)
|
|
|
|
(other-window 1 nil)
|
|
|
|
(switch-to-next-buffer))
|
|
|
|
(defun gered/switch-to-previous-buffer ()
|
|
|
|
(interactive)
|
|
|
|
(switch-to-buffer (other-buffer (current-buffer) 1))))
|
2024-12-05 22:57:23 -05:00
|
|
|
|
|
|
|
(use-package consult
|
|
|
|
:ensure t
|
|
|
|
:bind
|
|
|
|
(([remap switch-to-buffer] . consult-buffer)
|
|
|
|
([remap yank-pop] . consult-yank-pop)
|
|
|
|
([remap isearch-forward] . consult-line)
|
|
|
|
("C-c M-x" . consult-mode-command)
|
|
|
|
("M-s d" . consult-find)
|
|
|
|
("M-s r" . consult-ripgrep)
|
|
|
|
("M-s l" . consult-line)
|
|
|
|
("M-s s" . consult-line)
|
|
|
|
("M-s L" . consult-line-multi)
|
|
|
|
("M-s o" . consult-outline)
|
|
|
|
:map isearch-mode-map
|
|
|
|
("M-e" . consult-isearch-history)
|
|
|
|
("M-s e" . consult-isearch-history)
|
|
|
|
("M-s l" . consult-line)
|
|
|
|
("M-s L" . consult-line-multi))
|
|
|
|
:config
|
|
|
|
(setq consult-narrow-key "<"))
|
2024-12-07 17:33:42 -05:00
|
|
|
|
|
|
|
(use-package popper
|
|
|
|
:ensure t
|
|
|
|
:bind
|
2025-01-21 17:15:12 -05:00
|
|
|
(("C-\\" . popper-toggle)
|
|
|
|
("M-\\" . popper-cycle)
|
|
|
|
("C-M-\\" . popper-toggle-type))
|
2024-12-07 17:33:42 -05:00
|
|
|
:init
|
|
|
|
(setq popper-reference-buffers
|
|
|
|
'("\\*Messages\\*"
|
|
|
|
"Output\\*$"
|
|
|
|
"\\*Async Shell Command\\*"
|
2024-12-08 19:13:43 -05:00
|
|
|
"^\\*Cargo"
|
2024-12-07 17:33:42 -05:00
|
|
|
;;help-mode
|
|
|
|
compilation-mode))
|
|
|
|
(popper-mode t)
|
|
|
|
(popper-echo-mode t))
|
2025-01-19 16:36:21 -05:00
|
|
|
|
|
|
|
(defcustom gered/buffer-name-skip-regexp
|
|
|
|
(rx bos
|
|
|
|
(or "*Backtrace*"
|
|
|
|
"*Compile-Log*"
|
|
|
|
"*Completions*"
|
|
|
|
"*Messages*"
|
|
|
|
"*package*"
|
|
|
|
"*Warnings*"
|
|
|
|
"*Async-native-compile-log*")
|
|
|
|
eos)
|
|
|
|
"Regular expression matching buffer names to be ignored by `next-buffer' and `previous-buffer'"
|
|
|
|
:type 'regexp)
|
|
|
|
|
|
|
|
(defcustom gered/buffer-mode-skip-regexp
|
|
|
|
(rx bos
|
|
|
|
(or "dired-sidebar-mode")
|
|
|
|
eos)
|
|
|
|
"Regular expression matching buffer major modes to be ignored by `next-buffer' and `previous-buffer'"
|
|
|
|
:type 'regexp)
|
|
|
|
|
|
|
|
(defun gered/buffer-skip-p (window buffer bury-or-kill)
|
|
|
|
(or (string-match-p gered/buffer-name-skip-regexp (buffer-name buffer))
|
|
|
|
(string-match-p gered/buffer-mode-skip-regexp (symbol-name (buffer-mode buffer)))))
|
|
|
|
|
|
|
|
(setq switch-to-prev-buffer-skip 'gered/buffer-skip-p)
|