blob: 4f2541e40cb4ef64cbc4be4e0acbf2c7ffb8b1d0 (
plain) (
tree)
|
|
(require 'fcuny-vars)
(setq help-window-select t)
(use-package bookmark
:custom
(bookmark-default-file (expand-file-name "bookmarks" fcuny/path-emacs-var))
(bookmark-save-flag 1))
(use-package ls-lisp
:ensure nil
:custom
(ls-lisp-use-insert-directory-program nil)
(ls-lisp-dirs-first t))
(use-package dired
:defer t
:bind (("C-x C-d" . dired)
("C-x C-j" . dired-jump))
:init
(setq-default dired-dwim-target t)
(setq-default dired-listing-switches "-alh")
(setq dired-recursive-deletes 'always)
(setq dired-recursive-copies 'always))
(use-package dired-x
:ensure nil
:config
(progn
(setq dired-omit-verbose nil)
;; hide backup, autosave, *.*~ files
;; omit mode can be toggled using `C-x M-o' in dired buffer.
(add-hook 'dired-mode-hook #'dired-omit-mode)
(setq dired-omit-files
(concat dired-omit-files "\\|^.DS_Store$\\|^.localized$\\|^.projectile$\\|^.git$"))))
(use-package ibuffer
:bind ("C-x C-b" . ibuffer)
:custom
(ibuffer-saved-filter-groups
(quote (("default"
("org" (mode . org-mode))
("go" (mode . go-mode))
("python" (mode . python-mode))
("config" (or
(name . "\\.conf$")
(name . "\\.json$")
(mode . yaml-mode)))
("puppet" (or
(mode . "\\.erb$")
(mode . puppet-mode)))
("scripts" (mode . sh-mode))
("documentation" (or
(mode . markdown-mode)
(mode . rst-mode)))
("dired" (mode . dired-mode))
("shell" (mode . eshell-mode))
("git" (or
(name . "^\*magit")
(name . "^\magit")))
("Emacs" (or
(mode . emacs-lisp-mode)
(name . "^\\*scratch\\*$")
(name . "^\\.emacs")
(name . "^\\*Messages\\*$")))))))
:init
(add-hook 'ibuffer-mode-hook (lambda () (ibuffer-switch-to-saved-filter-groups "default"))))
(use-package recentf
:init (recentf-mode 1)
:config
(add-to-list 'recentf-exclude "\\.emacs.d")
(add-to-list 'recentf-exclude ".+tmp......\\.org")
(setq recentf-max-saved-items 500
recentf-save-file (expand-file-name "var/recentf" user-emacs-directory)))
(use-package rg
:ensure t
:config
(rg-define-search fcuny/grep-git-or-dir
:query ask
:format regexp
:files "everything"
:confirm prefix
:flags ("--hidden -g !.git")
:dir (let ((vc (magit-toplevel)))
(if vc
vc
default-directory)))
(rg-define-search fcuny/grep-git-or-dir-todos
:query "TODO\|FIXME\|XXX"
:format regexp
:files "everything"
:confirm prefix
:flags ("--hidden -g !.git")
:dir (let ((vc (magit-toplevel)))
(if vc
vc
default-directory)))
:bind (("M-s g" . fcuny/grep-git-or-dir)
("M-s t" . fcuny/grep-git-or-dir-todos))
:custom
(rg-group-result t)
(rg-show-columns t)
(rg-align-position-numbers t)
(rg-align-line-number-field-length 3)
(rg-align-column-number-field-length 3)
(rg-align-line-column-separator "#")
(rg-align-position-content-separator "|"))
(use-package counsel
:diminish counsel-mode
:ensure t
:after ivy
:init (counsel-mode 1)
:bind
(("M-x" . counsel-M-x)
("C-x C-f" . counsel-find-file)
("C-x C-r" . counsel-recentf)
("C-c i " . counsel-imenu)
("C-c f" . counsel-git)
("C-c /" . counsel-rg)
("C-c m" . counsel-mark-ring)
("C-c V" . counsel-describe-variable)
("C-c C-l" . counsel-find-library)
("C-c U" . counsel-unicode-char)
("C-x r l" . counsel-bookmark))
:custom
(counsel-find-file-ignore-regexp "\\.git\\|\\.DS_Store\\|\\.localized\\'")
(counsel-find-file-at-point t))
(use-package ivy
:ensure t
:diminish ivy-mode
:init (ivy-mode 1)
:custom
(ivy-use-virtual-buffers t)
(ivy-count-format "(%d/%d) ")
(ivy-height 20)
(ivy-use-selectable-prompt t)
:bind (("C-x b" . ivy-switch-buffer)
("C-s" . swiper)))
(use-package ivy-rich
:ensure t
:after (ivy)
:config
(ivy-rich-mode 1)
:custom
(ivy-extra-directories '("../" "./"))
(ivy-virtual-abbreviate 'full)
(ivy-rich-switch-buffer-align-virtual-buffer t)
(ivy-rich-path-style 'abbrev))
(use-package which-key
:diminish which-key-mode
:ensure t
:config
(which-key-mode))
;; treemacs is being pulled by lsp/dap mode, so let's be explicit
;; about getting it installed, and ensure that it writes its own data
;; in our var directory.
(use-package treemacs
:ensure t
:custom
(treemacs-persist-file (expand-file-name "treemacs-persist" fcuny/path-emacs-var)))
(provide 'fcuny-navigation)
|