eldoc-box and vertico-posframe

This commit is contained in:
Andrea Ciceri 2023-10-12 15:51:47 +02:00
parent 00170bfef8
commit 9bc321d569
Signed by: aciceri
SSH key fingerprint: SHA256:/AagBweyV4Hlfg9u092n8hbHwD5fcB6A3qhDiDA65Rg

41
init.el
View file

@ -48,6 +48,7 @@
(backup-directory-alist `(("." . ,temporary-file-directory))) (backup-directory-alist `(("." . ,temporary-file-directory)))
(auto-save-files-name-transforms `((".*" ,temporary-file-directory t))) (auto-save-files-name-transforms `((".*" ,temporary-file-directory t)))
(backup-by-copying t) (backup-by-copying t)
(focus-follows-mouse 't)
:config :config
(set-face-background 'vertical-border (face-background 'default)) (set-face-background 'vertical-border (face-background 'default))
(set-display-table-slot standard-display-table 'vertical-border (make-glyph-code ?┃)) (set-display-table-slot standard-display-table 'vertical-border (make-glyph-code ?┃))
@ -83,7 +84,7 @@
(set-face-attribute 'ansi-color-bright-white nil :foreground "grey" :background "grey") (set-face-attribute 'ansi-color-bright-white nil :foreground "grey" :background "grey")
(set-face-attribute 'ansi-color-bright-black nil :foreground "grey" :background "grey") (set-face-attribute 'ansi-color-bright-black nil :foreground "grey" :background "grey")
;; (set-face-attribute 'ansi-color-bright-magenta nil :foreground "magenta" :background "magenta") ;; (set-face-attribute 'ansi-color-bright-magenta nil :foreground "magenta" :background "magenta")
(set-face-background 'match (color-lighten-name (face-background 'menu) 30)) ;; (set-face-background 'match (color-lighten-name (face-background 'menu) 30))
:config :config
;; TODO abstract the following paradigm in a new use-package keyword :after-frame-one-time ;; TODO abstract the following paradigm in a new use-package keyword :after-frame-one-time
(defvar ccr/theme-loaded nil "Indicate if the theme has already been loaded") (defvar ccr/theme-loaded nil "Indicate if the theme has already been loaded")
@ -334,8 +335,8 @@
(use-package vertico (use-package vertico
:custom :custom
(vertico-mouse-mode t) (vertico-mouse-mode t)
(vertico-reverse-mode t) ;; (vertico-reverse-mode t) ;; FIXME breaks vertico-posframe
(vertico-count 12) (vertico-count 16)
(vertico-resize t) (vertico-resize t)
(vertico-cycle t) (vertico-cycle t)
(vertico-mode t) (vertico-mode t)
@ -343,6 +344,23 @@
(("DEL" . vertico-directory-delete-char) (("DEL" . vertico-directory-delete-char)
("C-DEL" . vertico-directory-delete-word)))) ("C-DEL" . vertico-directory-delete-word))))
(use-package vertico-posframe
:after vertico
:config
(vertico-posframe-mode +1)
:custom
(vertico-posframe-min-height 0)
(vertico-posframe-min-width 80)
(vertico-posframe-parameters '((alpha-background . 80)))
;; I'm globally enabling vertico-posframe-mode in spite of being advised against it by the README
;; It seems to work
;;(vertico-multiform-commands
;; '((t
;; posframe
;; (vertico-posframe-poshandler . posframe-poshandler-frame-center)
;; (vertico-posframe-fallback-mode . vertico-buffer-mode))))
)
(use-package marginalia (use-package marginalia
:init :init
(marginalia-mode +1) (marginalia-mode +1)
@ -438,8 +456,9 @@
(use-package agenix (use-package agenix
:after (inheritenv) :after (inheritenv)
:custom :custom
;; FIXME 🤮
((agenix-age-program "/nix/store/d1gkdszgmmcabz4pb06h8pvzkzml69g5-age-1.1.1/bin/age") ((agenix-age-program "/nix/store/d1gkdszgmmcabz4pb06h8pvzkzml69g5-age-1.1.1/bin/age")
(agenix-key-files '("~/.ssh/id_rsa" "~/.ssh/id_ed25519" "~/.ssh/mlabs"))) (agenix-key-files '("~/.ssh/id_rsa" "~/.ssh/id_ed25519" "~/.ssh/mlabs")))
:config :config
(inheritenv-add-advice 'agenix--process-exit-code-and-output) (inheritenv-add-advice 'agenix--process-exit-code-and-output)
) )
@ -450,7 +469,7 @@
(nix-ts-mode . (lambda () (nix-ts-mode . (lambda ()
(require 'eglot) (require 'eglot)
(add-to-list 'eglot-server-programs (add-to-list 'eglot-server-programs
'(nix-ts-mode . ("nil"))) '(nix-ts-mode . ("nixd")))
(eglot-ensure))) (eglot-ensure)))
(nix-ts-mode . electric-pair-mode) (nix-ts-mode . electric-pair-mode)
(nix-ts-mode . (lambda () (setq indent-bars-spacing-override 2) (indent-bars-mode))) (nix-ts-mode . (lambda () (setq indent-bars-spacing-override 2) (indent-bars-mode)))
@ -471,7 +490,9 @@
(haskell-mode . tree-sitter-hl-mode))) (haskell-mode . tree-sitter-hl-mode)))
(use-package purescript-mode (use-package purescript-mode
:hook (purescript-mode . turn-on-purescript-indentation)) :custom ((project-vc-extra-root-markers '("spago.dhall")))
:hook ((purescript-mode . eglot-ensure)
(purescript-mode . turn-on-purescript-indentation)))
(use-package terraform-mode (use-package terraform-mode
:after eglot :after eglot
@ -509,6 +530,14 @@
(use-package eldoc (use-package eldoc
:delight) :delight)
(use-package eldoc-box
:after eglot
:custom
(eldoc-box-only-multiline nil)
(eldoc-box-lighter "ElBox")
:hook ((eglot-managed-mode . eldoc-box-hover-mode)
(emacs-lisp-mode . eldoc-box-hover-mode)))
(use-package diff-hl (use-package diff-hl
:init :init
(global-diff-hl-mode 1) (global-diff-hl-mode 1)