Replace projectile with project.el and counsel with vertico
This commit is contained in:
parent
00fe42ad44
commit
ebdea386c3
11 changed files with 100 additions and 103 deletions
|
|
@ -33,23 +33,35 @@
|
|||
|
||||
(global-company-mode t)
|
||||
|
||||
(defun just-one-face (fn &rest args)
|
||||
(let ((orderless-match-faces [completions-common-part]))
|
||||
(apply fn args)))
|
||||
|
||||
(advice-add 'company-capf--candidates :around #'just-one-face)
|
||||
|
||||
(defun company-completion-styles (capf-fn &rest args)
|
||||
(let ((completion-styles '(basic partial-match)))
|
||||
(apply capf-fn args)))
|
||||
|
||||
(advice-add 'company-capf :around #'company-completion-styles)
|
||||
|
||||
(setq-default
|
||||
company-minimum-prefix-length 3 ;; minimum prefix character number for auto complete.
|
||||
company-minimum-prefix-length 3 ;; minimum prefix character number for auto complete.
|
||||
company-idle-delay 0.1
|
||||
company-require-match nil
|
||||
company-echo-delay 0 ;;;; company-show-numbers t
|
||||
company-tooltip-align-annotations t ;; align annotations to the right tooltip border.
|
||||
company-tooltip-flip-when-above t
|
||||
company-tooltip-limit 10 ;; tooltip candidates max limit.
|
||||
company-tooltip-minimum 2 ;; minimum candidates limit.
|
||||
company-tooltip-minimum-width 10 ;; The minimum width of the tooltip's inner area.
|
||||
;; This doesn't include the margins and the scroll bar.
|
||||
company-tooltip-margin 2 ;; width of margin columns to show around the tooltip
|
||||
company-tooltip-limit 10 ;; tooltip candidates max limit.
|
||||
company-tooltip-minimum 2 ;; minimum candidates limit.
|
||||
company-tooltip-minimum-width 10 ;; The minimum width of the tooltip's inner area.
|
||||
;; This doesn't include the margins and the scroll bar.
|
||||
company-tooltip-margin 2 ;; width of margin columns to show around the tooltip
|
||||
company-tooltip-offset-display 'lines ;; 'lines - how to show tooltip unshown candidates number.
|
||||
company-show-numbers nil ;; t: show quick-access numbers for the first ten candidates.
|
||||
company-selection-wrap-around t ;; loop over candidates
|
||||
company-dabbrev-other-buffers t ;; Only offer dabbrev from the same major mode
|
||||
company-dabbrev-downcase nil ;; Preserve case of candidates
|
||||
company-dabbrev-downcase nil ;; Preserve case of candidates
|
||||
company-format-margin-function nil
|
||||
;; company-async-wait 0.03
|
||||
;; company-async-timeout 2
|
||||
|
|
|
|||
63
lisp/icejam-completing-read.el
Normal file
63
lisp/icejam-completing-read.el
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
;;; icejam-completing-read -- Functions related to completing-read -*- lexical-binding: t; -*-
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
(require 'icejam-keys-mode)
|
||||
|
||||
(use-package vertico :straight t :defer t
|
||||
:init
|
||||
(vertico-mode)
|
||||
:custom
|
||||
(vertico-scroll-margin 0) ;; Different scroll margin
|
||||
(vertico-count 15) ;; Show more candidates
|
||||
(vertico-resize t) ;; Grow and shrink the Vertico minibuffer
|
||||
(vertico-cycle t) ;; Enable cycling for `vertico-next/previous')
|
||||
)
|
||||
|
||||
;; A few more useful configurations...
|
||||
(use-package emacs
|
||||
:custom
|
||||
;; Support opening new minibuffers from inside existing minibuffers.
|
||||
(enable-recursive-minibuffers t)
|
||||
;; Hide commands in M-x which do not work in the current mode. Vertico
|
||||
;; commands are hidden in normal buffers. This setting is useful beyond
|
||||
;; Vertico.
|
||||
(read-extended-command-predicate #'command-completion-default-include-p)
|
||||
:init
|
||||
;; Add prompt indicator to `completing-read-multiple'.
|
||||
;; We display [CRM<separator>], e.g., [CRM,] if the separator is a comma.
|
||||
(defun crm-indicator (args)
|
||||
(cons (format "[CRM%s] %s"
|
||||
(replace-regexp-in-string
|
||||
"\\`\\[.*?]\\*\\|\\[.*?]\\*\\'" ""
|
||||
crm-separator)
|
||||
(car args))
|
||||
(cdr args)))
|
||||
(advice-add #'completing-read-multiple :filter-args #'crm-indicator)
|
||||
|
||||
;; Do not allow the cursor in the minibuffer prompt
|
||||
(setq minibuffer-prompt-properties
|
||||
'(read-only t cursor-intangible t face minibuffer-prompt))
|
||||
(add-hook 'minibuffer-setup-hook #'cursor-intangible-mode))
|
||||
|
||||
;; Optionally use the `orderless' completion style.
|
||||
(use-package orderless :straight t :defer t
|
||||
:custom
|
||||
;; Configure a custom style dispatcher (see the Consult wiki)
|
||||
;; (orderless-style-dispatchers '(+orderless-consult-dispatch orderless-affix-dispatch))
|
||||
;; (orderless-component-separator #'orderless-escapable-split-on-space)
|
||||
(completion-styles '(orderless basic))
|
||||
(completion-category-defaults nil)
|
||||
(completion-category-overrides '((file (styles partial-completion)))))
|
||||
|
||||
(use-package marginalia :straight t :defer t :init (marginalia-mode))
|
||||
(use-package consult :straight t :defer t)
|
||||
(use-package helpful :straight t :defer t)
|
||||
|
||||
(with-eval-after-load 'consult
|
||||
(define-key icejam-keys-mode-map (kbd "C-c a") 'consult-ripgrep)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c t") 'find-file))
|
||||
|
||||
(provide 'icejam-completing-read)
|
||||
;;; icejam-completing-read.el ends here
|
||||
|
|
@ -42,13 +42,12 @@
|
|||
(require 'icejam-base)
|
||||
(require 'icejam-sys-specific)
|
||||
(require 'icejam-tree-sitter)
|
||||
(require 'icejam-ivy)
|
||||
(require 'icejam-completing-read)
|
||||
(require 'icejam-avy)
|
||||
(require 'icejam-transient)
|
||||
(require 'icejam-prog-mode)
|
||||
(require 'icejam-company-yasnippet)
|
||||
(require 'icejam-flycheck)
|
||||
(require 'icejam-projectile)
|
||||
(require 'icejam-ispell)
|
||||
(require 'icejam-deft)
|
||||
(require 'icejam-lsp)
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@
|
|||
'("Happy coding!" "I showed you my source code, pls respond"))
|
||||
|
||||
(setq dashboard-startup-banner 'logo)
|
||||
(setq dashboard-projects-backend 'projectile)
|
||||
|
||||
(setq dashboard-items '((recents . 5)
|
||||
;; (bookmarks . 5)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
(use-package diminish :straight t)
|
||||
|
||||
(eval-after-load 'flyspell '(diminish 'flyspell-mode))
|
||||
(eval-after-load 'projectile '(diminish 'projectile-mode))
|
||||
(eval-after-load 'flycheck '(diminish 'flycheck-mode))
|
||||
(eval-after-load 'rainbow-mode '(diminish 'rainbow-mode))
|
||||
(eval-after-load 'undo-tree '(diminish 'undo-tree-mode))
|
||||
|
|
|
|||
|
|
@ -1,47 +0,0 @@
|
|||
;;; icejam-ivy -- Counsel, Swiper and Ivy. -*- lexical-binding: t; -*-
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
(require 'icejam-keys-mode)
|
||||
|
||||
(use-package helpful :straight t :defer t)
|
||||
(use-package ivy :straight t :defer t
|
||||
:config (setq ivy-use-virtual-buffers t ;; Display recent files in ivy-switch-buffer
|
||||
ivy-count-format "(%d of %d) " ;; Current candidate count style
|
||||
ivy-wrap t ;; Wrap around completions
|
||||
ivy-display-style 'fancy) ;; Formatting style
|
||||
(ivy-mode 1))
|
||||
|
||||
(use-package swiper :straight t)
|
||||
(use-package counsel :straight t :requires (helpful ivy swiper))
|
||||
|
||||
(with-eval-after-load 'counsel
|
||||
(define-key icejam-keys-mode-map (kbd "C-c a") 'counsel-rg)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c t") 'counsel-find-file)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c C-s") 'swiper) ;; Find things by regexp
|
||||
(define-key icejam-keys-mode-map (kbd "M-x") 'counsel-M-x) ;; M-x on steroids
|
||||
|
||||
;; Help bindings
|
||||
(define-key icejam-keys-mode-map (kbd "<f1> f") 'counsel-describe-function)
|
||||
(define-key icejam-keys-mode-map (kbd "<f1> v") 'counsel-describe-variable)
|
||||
(define-key icejam-keys-mode-map (kbd "<f1> b") 'counsel-descbinds)
|
||||
(define-key icejam-keys-mode-map (kbd "<f1> x") 'helpful-command)
|
||||
(define-key icejam-keys-mode-map (kbd "<f1> l") 'counsel-find-library)
|
||||
(define-key icejam-keys-mode-map (kbd "C-h f") 'counsel-describe-function)
|
||||
(define-key icejam-keys-mode-map (kbd "C-h v") 'counsel-describe-variable)
|
||||
(define-key icejam-keys-mode-map (kbd "C-h b") 'counsel-descbinds)
|
||||
(define-key icejam-keys-mode-map (kbd "C-h x") 'helpful-command)
|
||||
(define-key icejam-keys-mode-map (kbd "C-h l") 'counsel-find-library)
|
||||
|
||||
(setq counsel-describe-function-function 'helpful-callable)
|
||||
(setq counsel-describe-variable-function 'helpful-variable)
|
||||
|
||||
;; Other stuff
|
||||
(define-key icejam-keys-mode-map (kbd "<f2> i") 'counsel-info-lookup-symbol)
|
||||
(define-key icejam-keys-mode-map (kbd "<f2> u") 'counsel-unicode-char))
|
||||
|
||||
|
||||
|
||||
(provide 'icejam-ivy)
|
||||
;;; icejam-ivy.el ends here
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
;;; icejam-projectile.el -- summary -*- lexical-binding: t; -*-
|
||||
;;; Commentary:
|
||||
;;; Project management based on git repos
|
||||
;;; Code:
|
||||
|
||||
(use-package counsel-projectile :straight t :defer t)
|
||||
|
||||
(use-package projectile
|
||||
:straight t
|
||||
:requires (counsel counsel-projectile)
|
||||
:ensure t
|
||||
:init
|
||||
(projectile-mode)
|
||||
(remove-hook 'buffer-list-update-hook #'projectile-track-known-projects-find-file-hook)
|
||||
:config
|
||||
(setq-default projectile-completion-system 'ivy ;; Use ivy as completion system
|
||||
projectile-enable-caching t ;; Cache project files
|
||||
projectile-file-exists-local-cache-expire (* 3 60) ;; keep cache for 3 minutes
|
||||
projectile-sort-order (quote recently-active) ;; Order by recently active projects
|
||||
projectile-globally-ignored-directories
|
||||
(append '("node_modules" ".svn" "_build" "tmp" "log") projectile-globally-ignored-directories)
|
||||
;; Add certain folders to ignored
|
||||
))
|
||||
|
||||
(provide 'icejam-projectile)
|
||||
;;; icejam-projectile.el ends here
|
||||
|
|
@ -15,16 +15,14 @@
|
|||
(transient-define-prefix icejam/project-menu ()
|
||||
"Project Commands."
|
||||
[""
|
||||
["Projectile"
|
||||
("s" "Switch project" counsel-projectile-switch-project)
|
||||
("f" "Find file in project" counsel-projectile-find-file)
|
||||
("g" "Grep in project" counsel-projectile-rg)
|
||||
("c" "invalidate cache" projectile-invalidate-cache)
|
||||
("n" "New project" projectile-add-known-project)]
|
||||
["Project"
|
||||
("s" "Switch project" project-switch-project)
|
||||
("f" "Find file in project" project-find-file)
|
||||
("g" "Grep in project" consult-ripgrep)]
|
||||
["Ivy"
|
||||
("a" "Grep in buffer" counsel-rg)
|
||||
("a" "Grep in buffer" consult-ripgrep)
|
||||
("b" "Buffer list" ibuffer)
|
||||
("t" "Find file" counsel-find-file)]
|
||||
("t" "Find file" find-file)]
|
||||
["Magit"
|
||||
("m" "Git status" magit-status)
|
||||
("C" "Git checkout" magit-checkout)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
(require 'icejam-prog-mode)
|
||||
(require 'icejam-lsp)
|
||||
(require 'icejam-projectile)
|
||||
|
||||
(declare-function lsp "lsp-mode" nil)
|
||||
(declare-function column-enforce-n "column-enforce-mode" (number))
|
||||
|
|
@ -90,15 +89,15 @@
|
|||
;; Add include path so that Erlang does not complain about
|
||||
;; missing header files.
|
||||
(setq-local flycheck-erlang-include-path
|
||||
(list (format "%sdeps" (projectile-project-root))
|
||||
(format "%s_build/default/lib" (projectile-project-root))
|
||||
(format "%sinclude" (projectile-project-root))
|
||||
(format "%sapps" (projectile-project-root))))
|
||||
(list (format "%sdeps" (project-root (project-current)))
|
||||
(format "%s_build/default/lib" (project-root (project-current)))
|
||||
(format "%sinclude" (project-root (project-current)))
|
||||
(format "%sapps" (project-root (project-current)))))
|
||||
|
||||
(setq-local flycheck-erlang-library-path
|
||||
(list (format "%sdeps" (projectile-project-root))
|
||||
(format "%s_build/default/lib" (projectile-project-root))
|
||||
(format "%sapps" (projectile-project-root))))
|
||||
(list (format "%sdeps" (project-root (project-current)))
|
||||
(format "%s_build/default/lib" (project-root (project-current)))
|
||||
(format "%sapps" (project-root (project-current)))))
|
||||
|
||||
;; Company list override
|
||||
(add-to-list (make-local-variable 'company-backends)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
;;; Code:
|
||||
|
||||
(require 'icejam-prog-mode)
|
||||
(require 'icejam-projectile)
|
||||
|
||||
(use-package rspec-mode :straight t :defer t)
|
||||
(use-package ruby-end :straight t :defer t)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue