aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAshton Wiersdorf <mail@wiersdorf.dev>2023-07-25 18:54:52 -0600
committerAshton Wiersdorf <mail@wiersdorf.dev>2023-07-25 18:54:52 -0600
commit9943e143d7a581535a61eb3ce3e0a7aef56a7c39 (patch)
tree32923ccacaea51eac64d4dd2d297d8d967c34b63
parentc784ff61c302017085586075e775dbdbc8735f63 (diff)
Expand modus config; improve Elgot, vertico config; fix corfu load
-rw-r--r--init.el23
-rw-r--r--mixins/base.el32
-rw-r--r--mixins/dev.el12
3 files changed, 52 insertions, 15 deletions
diff --git a/init.el b/init.el
index 4a3900d..1d393ae 100644
--- a/init.el
+++ b/init.el
@@ -184,11 +184,26 @@ If the new path's directories does not exist, create them."
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; We just use the built-in high contrast theme modus-vivendi
-(load-theme 'modus-vivendi)
+(use-package emacs
+ :config
+ (require-theme 'modus-themes)
+
+ (setq modus-themes-italic-constructs nil
+ modus-themes-bold-constructs nil
+ modus-themes-disable-other-themes t
+ modus-themes-prompts '(italic bold)
+ modus-themes-org-blocks 'gray-background
+ modus-themes-completion '((matches . (extrabold))
+ (selection . (semibold italic text-also)))
+ modus-themes-syntax '(green-strings)
+ modus-themes-region '(bg-only))
+
+ (setq modus-themes-common-palette-overrides
+ '((border-mode-line-active unspecified)
+ (border-mode-line-inactive unspecified)))
+
+ (load-theme 'modus-vivendi)) ; for light theme, use modus-operandi
-;; If you like light-mode themes instead, use this:
-;(load-theme 'modus-operandi)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
diff --git a/mixins/base.el b/mixins/base.el
index cf2c0ce..20bb957 100644
--- a/mixins/base.el
+++ b/mixins/base.el
@@ -72,9 +72,14 @@
(use-package vertico
:ensure t
:init
- (fido-mode -1)
+ ;; You'll want to make sure that e.g. fido-mode isn't enabled
(vertico-mode))
+(use-package vertico-directory
+ :after vertico
+ :bind (:map vertico-map
+ ("M-DEL" . vertico-directory-delete-word)))
+
;; Marginalia: annotations for minibuffer
(use-package marginalia
:ensure t
@@ -84,18 +89,23 @@
;; Popup completion-at-point
(use-package corfu
:ensure t
- :config
- (global-corfu-mode))
+ :init
+ (global-corfu-mode)
+ :bind
+ (:map corfu-map
+ ("SPC" . corfu-insert-separator)
+ ("C-n" . corfu-next)
+ ("C-p" . corfu-previous)))
;; Part of corfu
-;; (use-package corfu-popupinfo
-;; :after corfu
-;; :hook (corfu-mode . corfu-popupinfo-mode)
-;; :custom
-;; (corfu-popupinfo-delay '(0.25 . 0.1))
-;; (corfu-popupinfo-hide nil)
-;; :config
-;; (corfu-popupinfo-mode))
+(use-package corfu-popupinfo
+ :after corfu
+ :hook (corfu-mode . corfu-popupinfo-mode)
+ :custom
+ (corfu-popupinfo-delay '(0.25 . 0.1))
+ (corfu-popupinfo-hide nil)
+ :config
+ (corfu-popupinfo-mode))
;; Make corfu popup come up in terminal overlay
(use-package corfu-terminal
diff --git a/mixins/dev.el b/mixins/dev.el
index c92075e..29db907 100644
--- a/mixins/dev.el
+++ b/mixins/dev.el
@@ -10,12 +10,23 @@
;;; Contents:
;;;
+;;; - Built-in config for developers
;;; - Version Control
;;; - Common file types
;;; - Eglot, the built-in LSP client for Emacs
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
+;;; Built-in config for developers
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(use-package emacs
+ :hook
+ ((prog-mode . electric-pair-mode)))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
;;; Version Control
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -60,6 +71,7 @@
(eglot-send-changes-idle-time 0.1)
:config
+ (fset #'jsonrpc--log-event #'ignore) ; massive perf boost---don't log every event
;; Sometimes you need to tell Eglot where to find the language server
; (add-to-list 'eglot-server-programs
; '(haskell-mode . ("haskell-language-server-wrapper" "--lsp")))