emacs : use-package to straight, base edit evil general hydra treemacs ui vertico yassnippet

This commit is contained in:
2024-09-03 17:32:02 +09:00
parent d6e04936a9
commit fff61a9139
12 changed files with 261 additions and 218 deletions

View File

@ -24,11 +24,11 @@
(push '(ns-transparent-titlebar . t) default-frame-alist)) (push '(ns-transparent-titlebar . t) default-frame-alist))
(setq-default mode-line-format nil) (setq-default mode-line-format nil)
;;(setq inhibit-startup-message nil) ;;(setq inhibit-startup-message nil) ; TODO check.
;; initial load with blue theme ;; initial load with blue theme
;(load-theme 'deeper-blue) ;(load-theme 'deeper-blue)
;;(customize-set-variable 'initial-major-mode 'fundamental-mode) (setq package-enable-at-startup nil)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; early-init.el ends here ;; early-init.el ends here

View File

@ -67,54 +67,54 @@ Otherwise the startup will be very slow. "
(require 'init-yasnippet) (require 'init-yasnippet)
(require 'init-bookmark) ;;(require 'init-bookmark)
(require 'init-dashboard) ;;(require 'init-dashboard)
(require 'init-dired) ;;(require 'init-dired)
(require 'init-highlight) ;;(require 'init-highlight)
(require 'init-ibuffer) ;;(require 'init-ibuffer)
(require 'init-persp) ;;(require 'init-persp)
(require 'init-window) ;;(require 'init-window)
(require 'init-treemacs) (require 'init-treemacs)
;; shell
(require 'init-eshell)
;; markdown
(require 'init-markdown)
(require 'init-org)
(require 'init-reader)
;; ;;
(require 'init-dict) ;;;; shell
;;(require 'init-eshell)
;; docker ;;
(when ON-LINUX ;;;; markdown
(require 'init-docker)) ;;(require 'init-markdown)
;; utils ;;(require 'init-org)
(require 'init-utils) ;;(require 'init-reader)
;;
;; Programming ;;;;
(require 'init-vcs) ;;(require 'init-dict)
(require 'init-flycheck) ;;
(require 'init-eglot) ;;;; docker
(require 'init-ctags) ;;(when ON-LINUX
(require 'init-prog) ;; (require 'init-docker))
;;;; utils
(require 'init-elisp) ;;(require 'init-utils)
(require 'init-c) ;;
(require 'init-rust) ;;;; Programming
(require 'init-python) ;;(require 'init-vcs)
(require 'init-ruby) ;;(require 'init-flycheck)
(require 'init-shell) ;;(require 'init-eglot)
;;(require 'init-ctags)
(require 'init-latex) ;;(require 'init-prog)
(require 'init-verilog) ;;
;;(require 'init-elisp)
(require 'init-debug) ;;(require 'init-c)
;;(require 'init-rust)
(require 'init-extra) ;;(require 'init-python)
(require 'init-chatgpt) ;;(require 'init-ruby)
;;(require 'init-shell)
(require 'init-copilot) ;;
;;(require 'init-latex)
;;(require 'init-verilog)
;;
;;(require 'init-debug)
;;
;;(require 'init-extra)
;;(require 'init-chatgpt)
;;
;;(require 'init-copilot)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; init.el ends here ;;; init.el ends here

View File

@ -1,5 +1,4 @@
;; init-base.el -*- lexical-binding: t -*- ;; init-base.el -*- lexical-binding: t -*-
(require 'init-const) (require 'init-const)
(require 'init-funcs) (require 'init-funcs)
@ -10,6 +9,8 @@
;; ;;
(use-package gcmh (use-package gcmh
:straight t
:ensure t
:diminish :diminish
:hook :hook
(emacs-startup . gcmh-mode) (emacs-startup . gcmh-mode)
@ -28,15 +29,20 @@
(set-selection-coding-system 'utf-8)) (set-selection-coding-system 'utf-8))
(when ON-LINUX (when ON-LINUX
(use-package exec-path-from-shell (use-package exec-path-from-shell
:straight t
:ensure t
:defer t
:init (exec-path-from-shell-initialize))) :init (exec-path-from-shell-initialize)))
;; open file point at where last saved place. ;; open file point at where last saved place.
(use-package saveplace (use-package saveplace
:ensure nil :straight t
:ensure t
:hook (after-init . save-place-mode)) :hook (after-init . save-place-mode))
(use-package recentf (use-package recentf
:ensure nil :straight t
:ensure t
:bind :bind
(("C-x C-r" . recentf-open-files)) (("C-x C-r" . recentf-open-files))
:hook :hook
@ -54,7 +60,8 @@
(add-to-list 'recentf-filename-handlers #'abbreviate-file-name)) (add-to-list 'recentf-filename-handlers #'abbreviate-file-name))
(use-package savehist (use-package savehist
:ensure nil :straight t
:ensure t
:hook :hook
(after-init . savehist-mode) (after-init . savehist-mode)
:init :init
@ -68,7 +75,7 @@
savehist-autosave-interval 300)) savehist-autosave-interval 300))
(use-package simple (use-package simple
:ensure nil :ensure nil ; emacs base package
:hook ((after-init . size-indication-mode) :hook ((after-init . size-indication-mode)
(text-mode . visual-line-mode) (text-mode . visual-line-mode)
((prog-mode markdown-mode conf-mode) . enable-trailing-whitespace)) ((prog-mode markdown-mode conf-mode) . enable-trailing-whitespace))
@ -110,7 +117,7 @@
(concat (concat
" " " "
(nerd-icons-faicon "nf-fa-bolt" :face 'nerd-icons-lblue)) (nerd-icons-faicon "nf-fa-bolt" :face 'nerd-icons-lblue))
;;(all-the-icons-faicon "nf-fa-bolt" :face 'all-the-icons-lblue)) ;;(all-the-icons-faicon "nf-fa-bolt" :face 'all-the-icons-lblue))
" x")) " x"))
(name (aref val 0)) (name (aref val 0))
(pid (aref val 1)) (pid (aref val 1))
@ -150,11 +157,6 @@
sentence-end-double-space nil sentence-end-double-space nil
word-wrap-by-category t) word-wrap-by-category t)
;; use for org-roam?
(when (fboundp 'sqlite-open)
(use-package emacsql-sqlite-builtin))
(provide 'init-base) (provide 'init-base)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; init-base.el ends here ;;; init-base.el ends here

View File

@ -3,10 +3,14 @@
(require 'init-funcs) (require 'init-funcs)
(use-package autorevert (use-package autorevert
:ensure nil :straight t
:ensure t
:diminish :diminish
:hook (after-init . global-auto-revert-mode)) :hook (after-init . global-auto-revert-mode))
(use-package avy (use-package avy
:straight t
:ensure t
:defer t
:hook (after-init . avy-setup-default) :hook (after-init . avy-setup-default)
:config :config
(setq avy-style 'de-bruijn (setq avy-style 'de-bruijn
@ -15,6 +19,8 @@
avy-background t)) avy-background t))
;; Show number of matches in mode-line while searching ;; Show number of matches in mode-line while searching
(use-package anzu (use-package anzu
:straight t
:ensure t
:diminish :diminish
;;:bind (([remap query-replace] . anzu-query-replace) ;;:bind (([remap query-replace] . anzu-query-replace)
;; ([remap query-replace-regexp] . anzu-query-replace-regexp) ;; ([remap query-replace-regexp] . anzu-query-replace-regexp)
@ -22,10 +28,10 @@
;; ([remap isearch-query-replace] . anzu-isearch-query-replace) ;; ([remap isearch-query-replace] . anzu-isearch-query-replace)
;; ([remap isearch-query-replace-regexp] . anzu-isearch-query-replace-regexp)) ;; ([remap isearch-query-replace-regexp] . anzu-isearch-query-replace-regexp))
:hook (after-init . global-anzu-mode)) :hook (after-init . global-anzu-mode))
(use-package ialign)
(use-package undo-tree (use-package undo-tree
:straight t
:ensure t
:diminish :diminish
:hook (after-init . global-undo-tree-mode) :hook (after-init . global-undo-tree-mode)
:custom :custom
@ -42,7 +48,8 @@
undo-outer-limit (* 128 1024 1024))) undo-outer-limit (* 128 1024 1024)))
(use-package hideshow (use-package hideshow
:ensure nil :straight t
:ensure t
:diminish hs-minor-mode :diminish hs-minor-mode
:pretty-hydra :pretty-hydra
((:title (pretty-hydra-title "HideShow" 'octicon "nf-oct-fold") ((:title (pretty-hydra-title "HideShow" 'octicon "nf-oct-fold")
@ -112,6 +119,8 @@
;; Hanlde minified code ;; Hanlde minified code
(use-package so-long (use-package so-long
:straight t
:ensure t
:hook (after-init . global-so-long-mode)) :hook (after-init . global-so-long-mode))
(provide 'init-edit) (provide 'init-edit)

View File

@ -3,7 +3,8 @@
(require 'init-funcs) (require 'init-funcs)
(use-package evil (use-package evil
:ensure nil :straight t
:ensure t
:diminish :diminish
:hook (after-init . evil-mode) :hook (after-init . evil-mode)
:init :init
@ -25,24 +26,28 @@
;; eshell no evil ;; eshell no evil
(dolist (mode '(eshell-mode)) (dolist (mode '(eshell-mode))
(add-to-list 'evil-emacs-state-modes mode))) (add-to-list 'evil-emacs-state-modes mode)))
(with-eval-after-load 'evil (with-eval-after-load 'evil
(defalias #'forward-evil-word #'forward-evil-symbol) (defalias #'forward-evil-word #'forward-evil-symbol)
;; make evil-search-word look for symbol rather than word boundaries ;; make evil-search-word look for symbol rather than word boundaries
(setq-default evil-symbol-word-search t)) (setq-default evil-symbol-word-search t))
(use-package evil-collection (use-package evil-collection
:defer nil :straight t
:ensure t
:config :config
(evil-collection-init)) (evil-collection-init))
(use-package evil-nerd-commenter (use-package evil-nerd-commenter
:defer nil :straight t
:ensure t
:config :config
;; evil nerd commenter ;; evil nerd commenter
(define-key evil-normal-state-map (kbd "g c") 'evilnc-comment-or-uncomment-lines) (define-key evil-normal-state-map (kbd "g c") 'evilnc-comment-or-uncomment-lines)
(define-key evil-visual-state-map (kbd "g c") 'evilnc-comment-or-uncomment-lines)) (define-key evil-visual-state-map (kbd "g c") 'evilnc-comment-or-uncomment-lines))
(use-package evil-numbers (use-package evil-numbers
:defer nil :straight t
:ensure t
:config :config
;; evil numbers ;; evil numbers
;; unfortunately C-x is emacs common key binding. ;; unfortunately C-x is emacs common key binding.

View File

@ -11,10 +11,13 @@
(global-set-key (kbd "C-=") 'text-scale-increase) (global-set-key (kbd "C-=") 'text-scale-increase)
(global-set-key (kbd "C--") 'text-scale-decrease) (global-set-key (kbd "C--") 'text-scale-decrease)
; TODO move to hideshow
(global-set-key (kbd "C-<tab>") 'hs-toggle-hiding) (global-set-key (kbd "C-<tab>") 'hs-toggle-hiding)
;; When you begin a keybind, whichkey will show you all keybinds you can follow the first one with in order to form a full keywords. ;; When you begin a keybind, whichkey will show you all keybinds you can follow the first one with in order to form a full keywords.
(use-package which-key (use-package which-key
:straight t
:ensure t
:defer t :defer t
:init (which-key-mode) :init (which-key-mode)
:diminish which-key-mode :diminish which-key-mode
@ -22,6 +25,9 @@
(setq which-key-idle-delay 0.5)) (setq which-key-idle-delay 0.5))
(use-package general (use-package general
:straight t
:ensure t
:defer t
:init :init
(general-auto-unbind-keys) (general-auto-unbind-keys)
:config :config

View File

@ -2,10 +2,15 @@
(require 'init-const) (require 'init-const)
(require 'init-funcs) (require 'init-funcs)
(use-package hydra (use-package hydra
:straight t
:ensure t
:defer t
:hook (emacs-lisp-mode . hydra-add-imenu)) :hook (emacs-lisp-mode . hydra-add-imenu))
;; TODO
(use-package pretty-hydra (use-package pretty-hydra
:straight t
:ensure t
:defer t
:bind ("<f6>" . toggles-hydra/body) :bind ("<f6>" . toggles-hydra/body)
:hook (emacs-lisp-mode . (lambda () :hook (emacs-lisp-mode . (lambda ()
(add-to-list (add-to-list
@ -23,7 +28,7 @@
(concat (concat
(when (and (icons-displayable-p) icon-type icon-name) (when (and (icons-displayable-p) icon-type icon-name)
(let ((f (intern (format "nerd-icons-%s" icon-type)))) (let ((f (intern (format "nerd-icons-%s" icon-type))))
;;(let ((f (intern (format "all-the-icons-%s" icon-type)))) ;;(let ((f (intern (format "all-the-icons-%s" icon-type))))
(when (fboundp f) (when (fboundp f)
(concat (concat
(apply f (list icon-name :face face :height height :v-adjust v-adjust)) (apply f (list icon-name :face face :height height :v-adjust v-adjust))

View File

@ -8,74 +8,28 @@
(and (file-readable-p custom-file) (load custom-file)) (and (file-readable-p custom-file) (load custom-file))
;; HACK: DO NOT save package-selected-packages to `custom-file'. (defvar bootstrap-version)
;; https://github.com/jwiegley/use-package/issues/383#issuecomment-247801751 (let ((bootstrap-file
(defun my-package--save-selected-packages (&optional value) (expand-file-name
"Set `package-selected-packages' to VALUE but don't save to `custom-file'." "straight/repos/straight.el/bootstrap.el"
(when value (or (bound-and-true-p straight-base-dir)
(setq package-selected-packages value)) user-emacs-directory)))
(unless after-init-time (bootstrap-version 7))
(add-hook 'after-init-hook #'my-package--save-selected-packages))) (unless (file-exists-p bootstrap-file)
(advice-add 'package--save-selected-packages :override #'my-package--save-selected-packages) (with-current-buffer
(url-retrieve-synchronously
(require 'package) "https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) 'silent 'inhibit-cookies)
(goto-char (point-max))
(unless (bound-and-true-p package--initialized) (eval-print-last-sexp)))
(setq package-enable-at-startup nil) (load bootstrap-file nil 'nomessage))
(package-initialize))
;; Setup `use-package'
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))
;; Should set before loading `use-package'
(eval-and-compile
(setq use-package-always-ensure t)
(setq use-package-always-defer t)
(setq use-package-expand-minimally t)
(setq use-package-enable-imenu-support t))
(eval-when-compile
(require 'use-package))
(use-package diminish)
(use-package bind-key)
(use-package paradox
:custom-face
(paradox-archive-face ((t (:inherit font-lock-doc-face))))
(paradox-description-face ((t (:inherit completions-annotations))))
:hook
(emacs-startup . paradox-enable)
:init
(setq paradox-execute-asynchronously t
paradox-github-token nil
paradox-display-star-count nil
paradox-status-face-alist ;
'(("built-in" . font-lock-builtin-face)
("available" . success)
("new" . (success bold))
("held" . font-lock-constant-face)
("disabled" . font-lock-warning-face)
("avail-obso" . font-lock-comment-face)
("installed" . font-lock-comment-face)
("dependency" . font-lock-comment-face)
("incompat" . font-lock-comment-face)
("deleted" . font-lock-comment-face)
("unsigned" . font-lock-warning-face)))
:config
(add-hook 'paradox-after-execute-functions
(lambda (_)
"Display `page-break-lines' in \"*Paradox Report*\" buffer."
(when (fboundp 'page-break-lines-mode)
(let ((buf (get-buffer "*Paradox Report*"))
(inhibit-read-only t))
(when (buffer-live-p buf)
(with-current-buffer buf
(page-break-lines-mode 1))))))
t))
(straight-use-package 'use-package)
(setq use-package-always-ensure t)
; hide info in modeline
(use-package diminish
:straight t)
(provide 'init-package) (provide 'init-package)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

View File

@ -3,6 +3,9 @@
(require 'init-funcs) (require 'init-funcs)
;; A tree layout file explorer ;; A tree layout file explorer
(use-package treemacs (use-package treemacs
:straight t
:ensure t
:defer t
:commands (treemacs-follow-mode :commands (treemacs-follow-mode
treemacs-filewatch-mode treemacs-filewatch-mode
treemacs-git-mode) treemacs-git-mode)
@ -26,28 +29,36 @@
(`(t . t) (`(t . t)
(treemacs-git-mode 'deferred)) (treemacs-git-mode 'deferred))
(`(t . _) (`(t . _)
(treemacs-git-mode 'simple))) (treemacs-git-mode 'simple))))
(use-package treemacs-nerd-icons (use-package treemacs-nerd-icons
:demand :straight t
:custom-face :ensure t
(treemacs-nerd-icons-root-face ((t (:inherit nerd-icons-green :height 1.3)))) :defer t
(treemacs-nerd-icons-file-face ((t (:inherit nerd-icons-dsilver)))) :custom-face
:config (treemacs-load-theme "nerd-icons")) (treemacs-nerd-icons-root-face ((t (:inherit nerd-icons-green :height 1.3))))
(treemacs-nerd-icons-file-face ((t (:inherit nerd-icons-dsilver))))
:config (treemacs-load-theme "nerd-icons"))
(use-package treemacs-magit (use-package treemacs-magit
:after magit :straight t
:autoload treemacs-magit--schedule-update :ensure t
:hook ((magit-post-commit :defer t
git-commit-post-finish :after magit
magit-post-stage :autoload treemacs-magit--schedule-update
magit-post-unstage) :hook ((magit-post-commit
. treemacs-magit--schedule-update)) git-commit-post-finish
magit-post-stage
magit-post-unstage)
. treemacs-magit--schedule-update))
(use-package treemacs-persp (use-package treemacs-persp
:after persp-mode :straight t
:demand t :ensure t
:functions treemacs-set-scope-type :defer t
:config (treemacs-set-scope-type 'Perspectives))) :after persp-mode
:demand t
:functions treemacs-set-scope-type
:config (treemacs-set-scope-type 'Perspectives))
(provide 'init-treemacs) (provide 'init-treemacs)
;;; init-treemacs.el ends here ;;; init-treemacs.el ends here

View File

@ -17,8 +17,15 @@
;; Make certain buffers grossly incandescent ;; Make certain buffers grossly incandescent
(use-package solaire-mode (use-package solaire-mode
:hook (after-load-theme . solaire-global-mode)) :straight t
:ensure t
:demand t
:config
(solaire-global-mode +1))
(use-package doom-themes (use-package doom-themes
:straight t
:ensure t
:init :init
(if (display-graphic-p) (if (display-graphic-p)
(load-theme custom-theme-sel t) (load-theme custom-theme-sel t)
@ -26,6 +33,8 @@
:config :config
(doom-themes-visual-bell-config)) (doom-themes-visual-bell-config))
(use-package doom-modeline (use-package doom-modeline
:straight t
:ensure t
:hook (after-init . doom-modeline-mode) :hook (after-init . doom-modeline-mode)
:init :init
(setq doom-modeline-window-width-limit 110 (setq doom-modeline-window-width-limit 110
@ -48,14 +57,19 @@
;; A minor-mode menu for mode-line ;; A minor-mode menu for mode-line
(use-package minions (use-package minions
:straight t
:ensure t
:hook (doom-modeline-mode . minions-mode)) :hook (doom-modeline-mode . minions-mode))
;; Icons ;; Icons
(use-package nerd-icons) (use-package nerd-icons
:straight t
:ensure t)
;;(use-package all-the-icons) ;;(use-package all-the-icons)
(use-package display-line-numbers (use-package display-line-numbers
:ensure nil :straight t
:ensure t
:hook ((prog-mode yaml-mode conf-mode) . display-line-numbers-mode) :hook ((prog-mode yaml-mode conf-mode) . display-line-numbers-mode)
:init (setq display-line-numbers-width-start t)) :init (setq display-line-numbers-width-start t))
@ -76,7 +90,8 @@
(add-hook 'window-setup-hook #'window-divider-mode) (add-hook 'window-setup-hook #'window-divider-mode)
(use-package time (use-package time
:ensure nil :straight t
:ensure t
:init (setq display-time-24hr-format t :init (setq display-time-24hr-format t
display-time-day-and-date t)) display-time-day-and-date t))
@ -96,22 +111,30 @@
(if (fboundp 'pixel-scroll-precision-mode) (if (fboundp 'pixel-scroll-precision-mode)
(pixel-scroll-precision-mode t) (pixel-scroll-precision-mode t)
(use-package good-scroll (use-package good-scroll
:diminish :straight t
:ensure t
:hook (after-init . good-scroll-mode) :hook (after-init . good-scroll-mode)
:bind (([remap next] . good-scroll-up-full-screen) :bind (([remap next] . good-scroll-up-full-screen)
([remap prior] . good-scroll-down-full-screen)))) ([remap prior] . good-scroll-down-full-screen))))
;; Smooth scrolling over images ;; Smooth scrolling over images
(use-package iscroll (use-package iscroll
:diminish :straight t
:ensure t
:defer t
:hook (image-mode . iscroll-mode)) :hook (image-mode . iscroll-mode))
;; Use fixed pitch where it's sensible ;; Use fixed pitch where it's sensible
(use-package mixed-pitch (use-package mixed-pitch
:diminish) :straight t
:ensure t
:defer t)
;; Display ugly ^L page breaks as tidy horizontal lines ;; Display ugly ^L page breaks as tidy horizontal lines
(use-package page-break-lines (use-package page-break-lines
:straight t
:ensure t
:defer t
:diminish :diminish
:hook (after-init . global-page-break-lines-mode) :hook (after-init . global-page-break-lines-mode)
:config ;; display only half fix. :config ;; display only half fix.
@ -120,15 +143,14 @@
(face-attribute 'default :family))) (face-attribute 'default :family)))
(use-package form-feed (use-package form-feed
:disabled :disabled
:diminish
:hook (after-init . global-form-feed-mode)) :hook (after-init . global-form-feed-mode))
;; emoji ;; emoji
(use-package emojify (use-package emojify
:straight t
:ensure t
:defer t :defer t
:init (global-emojify-mode 1)) :init (global-emojify-mode 1))
(provide 'init-ui) (provide 'init-ui)
;;; init-ui.el ends here. ;;; init-ui.el ends here.

View File

@ -3,6 +3,8 @@
(require 'init-funcs) (require 'init-funcs)
(use-package vertico (use-package vertico
:straight t
:ensure t
:bind (:map vertico-map :bind (:map vertico-map
("C-j" . vertico-next) ("C-j" . vertico-next)
("C-k" . vertico-previous)) ("C-k" . vertico-previous))
@ -10,10 +12,14 @@
:custom :custom
(vertico-cycle t)) (vertico-cycle t))
(use-package nerd-icons-completion (use-package nerd-icons-completion
:straight t
:ensure t
:hook (vertico-mode . nerd-icons-completion-mode)) :hook (vertico-mode . nerd-icons-completion-mode))
(when (display-graphic-p) (when (display-graphic-p)
(use-package vertico-posframe (use-package vertico-posframe
:straight t
:ensure t
:when custom-vertico-posframe :when custom-vertico-posframe
:after vertico :after vertico
:hook (vertico-mode . vertico-posframe-mode) :hook (vertico-mode . vertico-posframe-mode)
@ -25,12 +31,16 @@
;; simple, but effective sorting and filtering for emacs. ;; simple, but effective sorting and filtering for emacs.
(use-package vertico-prescient (use-package vertico-prescient
:straight t
:ensure t
:defer t :defer t
:config :config
(vertico-prescient-mode)) (vertico-prescient-mode))
;; annotations placed at the margin of the minibuffer ;; annotations placed at the margin of the minibuffer
(use-package marginalia (use-package marginalia
:straight t
:ensure t
:after vertico :after vertico
:defer t :defer t
:custom :custom
@ -39,6 +49,8 @@
(use-package consult (use-package consult
:straight t
:ensure t
:demand t :demand t
:bind (:map minibuffer-local-map :bind (:map minibuffer-local-map
("C-r" . consult-history)) ("C-r" . consult-history))
@ -55,6 +67,8 @@
(global-set-key (kbd "C-M-j") #'my/consult-switch-to-buffer))) (global-set-key (kbd "C-M-j") #'my/consult-switch-to-buffer)))
(use-package orderless (use-package orderless
:straight t
:ensure t
:defer t :defer t
:custom :custom
(completion-styles '(orderless basic)) (completion-styles '(orderless basic))
@ -62,6 +76,8 @@
;; Quick action in minibuffer ;; Quick action in minibuffer
(use-package embark (use-package embark
:straight t
:ensure t
:defer t :defer t
:bind (("C-." . embark-act)) :bind (("C-." . embark-act))
:config :config
@ -72,11 +88,15 @@
(setq prefix-help-command #'embark-prefix-help-command)) (setq prefix-help-command #'embark-prefix-help-command))
(use-package embark-consult (use-package embark-consult
:straight t
:ensure t
:defer t :defer t
:after embark) :after embark)
;;; Corfu ;;; Corfu
(use-package corfu (use-package corfu
:straight t
:ensure t
:custom :custom
(corfu-cycle t) ;; Enable cycling for `corfu-next/previous' (corfu-cycle t) ;; Enable cycling for `corfu-next/previous'
(corfu-auto t) ;; Enable auto completion (corfu-auto t) ;; Enable auto completion
@ -97,57 +117,60 @@
(eldoc-add-command #'corfu-insert) (eldoc-add-command #'corfu-insert)
(define-key corfu-map (kbd "M-p") #'corfu-popupinfo-scroll-down) (define-key corfu-map (kbd "M-p") #'corfu-popupinfo-scroll-down)
(define-key corfu-map (kbd "M-n") #'corfu-popupinfo-scroll-up) (define-key corfu-map (kbd "M-n") #'corfu-popupinfo-scroll-up)
(define-key corfu-map (kbd "M-d") #'corfu-popupinfo-toggle) (define-key corfu-map (kbd "M-d") #'corfu-popupinfo-toggle))
(use-package kind-icon (use-package kind-icon
:defer nil :straight t
:custom :ensure t
(kind-icon-default-face 'corfu-default) ; to compute blended backgrounds correctly :custom
:config (kind-icon-default-face 'corfu-default) ; to compute blended backgrounds correctly
(add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter) :config
(when (icons-displayable-p) (add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter)
(setq kind-icon-use-icons nil) (when (icons-displayable-p)
(setq kind-icon-mapping (setq kind-icon-use-icons nil)
`( (setq kind-icon-mapping
(array ,(nerd-icons-codicon "nf-cod-symbol_array") :face font-lock-type-face) `(
(boolean ,(nerd-icons-codicon "nf-cod-symbol_boolean") :face font-lock-builtin-face) (array ,(nerd-icons-codicon "nf-cod-symbol_array") :face font-lock-type-face)
(class ,(nerd-icons-codicon "nf-cod-symbol_class") :face font-lock-type-face) (boolean ,(nerd-icons-codicon "nf-cod-symbol_boolean") :face font-lock-builtin-face)
(color ,(nerd-icons-codicon "nf-cod-symbol_color") :face success) (class ,(nerd-icons-codicon "nf-cod-symbol_class") :face font-lock-type-face)
(command ,(nerd-icons-codicon "nf-cod-terminal") :face default) (color ,(nerd-icons-codicon "nf-cod-symbol_color") :face success)
(constant ,(nerd-icons-codicon "nf-cod-symbol_constant") :face font-lock-constant-face) (command ,(nerd-icons-codicon "nf-cod-terminal") :face default)
(constructor ,(nerd-icons-codicon "nf-cod-triangle_right") :face font-lock-function-name-face) (constant ,(nerd-icons-codicon "nf-cod-symbol_constant") :face font-lock-constant-face)
(enummember ,(nerd-icons-codicon "nf-cod-symbol_enum_member") :face font-lock-builtin-face) (constructor ,(nerd-icons-codicon "nf-cod-triangle_right") :face font-lock-function-name-face)
(enum-member ,(nerd-icons-codicon "nf-cod-symbol_enum_member") :face font-lock-builtin-face) (enummember ,(nerd-icons-codicon "nf-cod-symbol_enum_member") :face font-lock-builtin-face)
(enum ,(nerd-icons-codicon "nf-cod-symbol_enum") :face font-lock-builtin-face) (enum-member ,(nerd-icons-codicon "nf-cod-symbol_enum_member") :face font-lock-builtin-face)
(event ,(nerd-icons-codicon "nf-cod-symbol_event") :face font-lock-warning-face) (enum ,(nerd-icons-codicon "nf-cod-symbol_enum") :face font-lock-builtin-face)
(field ,(nerd-icons-codicon "nf-cod-symbol_field") :face font-lock-variable-name-face) (event ,(nerd-icons-codicon "nf-cod-symbol_event") :face font-lock-warning-face)
(file ,(nerd-icons-codicon "nf-cod-symbol_file") :face font-lock-string-face) (field ,(nerd-icons-codicon "nf-cod-symbol_field") :face font-lock-variable-name-face)
(folder ,(nerd-icons-codicon "nf-cod-folder") :face font-lock-doc-face) (file ,(nerd-icons-codicon "nf-cod-symbol_file") :face font-lock-string-face)
(interface ,(nerd-icons-codicon "nf-cod-symbol_interface") :face font-lock-type-face) (folder ,(nerd-icons-codicon "nf-cod-folder") :face font-lock-doc-face)
(keyword ,(nerd-icons-codicon "nf-cod-symbol_keyword") :face font-lock-keyword-face) (interface ,(nerd-icons-codicon "nf-cod-symbol_interface") :face font-lock-type-face)
(macro ,(nerd-icons-codicon "nf-cod-symbol_misc") :face font-lock-keyword-face) (keyword ,(nerd-icons-codicon "nf-cod-symbol_keyword") :face font-lock-keyword-face)
(magic ,(nerd-icons-codicon "nf-cod-wand") :face font-lock-builtin-face) (macro ,(nerd-icons-codicon "nf-cod-symbol_misc") :face font-lock-keyword-face)
(method ,(nerd-icons-codicon "nf-cod-symbol_method") :face font-lock-function-name-face) (magic ,(nerd-icons-codicon "nf-cod-wand") :face font-lock-builtin-face)
(function ,(nerd-icons-codicon "nf-cod-symbol_method") :face font-lock-function-name-face) (method ,(nerd-icons-codicon "nf-cod-symbol_method") :face font-lock-function-name-face)
(module ,(nerd-icons-codicon "nf-cod-file_submodule") :face font-lock-preprocessor-face) (function ,(nerd-icons-codicon "nf-cod-symbol_method") :face font-lock-function-name-face)
(numeric ,(nerd-icons-codicon "nf-cod-symbol_numeric") :face font-lock-builtin-face) (module ,(nerd-icons-codicon "nf-cod-file_submodule") :face font-lock-preprocessor-face)
(operator ,(nerd-icons-codicon "nf-cod-symbol_operator") :face font-lock-comment-delimiter-face) (numeric ,(nerd-icons-codicon "nf-cod-symbol_numeric") :face font-lock-builtin-face)
(param ,(nerd-icons-codicon "nf-cod-symbol_parameter") :face default) (operator ,(nerd-icons-codicon "nf-cod-symbol_operator") :face font-lock-comment-delimiter-face)
(property ,(nerd-icons-codicon "nf-cod-symbol_property") :face font-lock-variable-name-face) (param ,(nerd-icons-codicon "nf-cod-symbol_parameter") :face default)
(reference ,(nerd-icons-codicon "nf-cod-references") :face font-lock-variable-name-face) (property ,(nerd-icons-codicon "nf-cod-symbol_property") :face font-lock-variable-name-face)
(snippet ,(nerd-icons-codicon "nf-cod-symbol_snippet") :face font-lock-string-face) (reference ,(nerd-icons-codicon "nf-cod-references") :face font-lock-variable-name-face)
(string ,(nerd-icons-codicon "nf-cod-symbol_string") :face font-lock-string-face) (snippet ,(nerd-icons-codicon "nf-cod-symbol_snippet") :face font-lock-string-face)
(struct ,(nerd-icons-codicon "nf-cod-symbol_structure") :face font-lock-variable-name-face) (string ,(nerd-icons-codicon "nf-cod-symbol_string") :face font-lock-string-face)
(text ,(nerd-icons-codicon "nf-cod-text_size") :face font-lock-doc-face) (struct ,(nerd-icons-codicon "nf-cod-symbol_structure") :face font-lock-variable-name-face)
(typeparameter ,(nerd-icons-codicon "nf-cod-list_unordered") :face font-lock-type-face) (text ,(nerd-icons-codicon "nf-cod-text_size") :face font-lock-doc-face)
(type-parameter ,(nerd-icons-codicon "nf-cod-list_unordered") :face font-lock-type-face) (typeparameter ,(nerd-icons-codicon "nf-cod-list_unordered") :face font-lock-type-face)
(unit ,(nerd-icons-codicon "nf-cod-symbol_ruler") :face font-lock-constant-face) (type-parameter ,(nerd-icons-codicon "nf-cod-list_unordered") :face font-lock-type-face)
(value ,(nerd-icons-codicon "nf-cod-symbol_field") :face font-lock-builtin-face) (unit ,(nerd-icons-codicon "nf-cod-symbol_ruler") :face font-lock-constant-face)
(variable ,(nerd-icons-codicon "nf-cod-symbol_variable") :face font-lock-variable-name-face) (value ,(nerd-icons-codicon "nf-cod-symbol_field") :face font-lock-builtin-face)
(t ,(nerd-icons-codicon "nf-cod-code") :face font-lock-warning-face)))))) (variable ,(nerd-icons-codicon "nf-cod-symbol_variable") :face font-lock-variable-name-face)
(t ,(nerd-icons-codicon "nf-cod-code") :face font-lock-warning-face)))))
(use-package corfu-terminal (use-package corfu-terminal
:straight t
:ensure t
:config :config
(unless (display-graphic-p) (unless (display-graphic-p)
(corfu-terminal-mode))) (corfu-terminal-mode)))
@ -155,6 +178,8 @@
;;; Cape ;;; Cape
;; Setup Cape for better completion-at-point support and more ;; Setup Cape for better completion-at-point support and more
(use-package cape (use-package cape
:straight t
:ensure t
:config :config
;; Add useful defaults completion sources from cape ;; Add useful defaults completion sources from cape
(add-to-list 'completion-at-point-functions #'cape-file) (add-to-list 'completion-at-point-functions #'cape-file)
@ -171,6 +196,5 @@
corfu-quit-no-match t corfu-quit-no-match t
corfu-auto nil) corfu-auto nil)
(corfu-mode)))) (corfu-mode))))
(provide 'init-vertico) (provide 'init-vertico)
;;; init-vertico.el ends here ;;; init-vertico.el ends here

View File

@ -1,13 +1,18 @@
;;; init-yasnippet.el -*- lexical-binding: t -*- ;;; init-yasnippet.el -*- lexical-binding: t -*-
;; Yet another snippet extension ;; Yet another snippet extension
(use-package yasnippet (use-package yasnippet
:straight t
:ensure t
:defer t
:diminish yas-minor-mode :diminish yas-minor-mode
:hook (after-init . yas-global-mode) :hook (after-init . yas-global-mode)
:config :config
(setq yas-indent-line nil)) ;; indent does not work properly. (setq yas-indent-line nil)) ;; indent does not work properly.
;; Collection of yasnippet snippets ;; Collection of yasnippet snippets
(use-package yasnippet-snippets) (use-package yasnippet-snippets
:straight t
:ensure t)
(provide 'init-yasnippet) (provide 'init-yasnippet)
;;; init-yasnippet.el ends here ;;; init-yasnippet.el ends here