;;; bandali-ivy.el --- bandali's Ivy setup -*- lexical-binding: t; -*- ;; Copyright (C) 2018-2020 Amin Bandali ;; Author: Amin Bandali ;; Keywords: matching ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; My configuration for Ivy and family. ;;; Code: (use-package ivy :defer 0.3 :bind (:map ivy-minibuffer-map ([escape] . keyboard-escape-quit) ([S-up] . ivy-previous-history-element) ([S-down] . ivy-next-history-element) ("DEL" . ivy-backward-delete-char)) :config (setq ivy-wrap t ;; ivy-height 14 ivy-use-virtual-buffers t ivy-virtual-abbreviate 'abbreviate ivy-count-format "%d/%d ") (defvar b/ivy-ignore-buffer-modes '(magit-mode erc-mode dired-mode)) (defun b/ivy-ignore-buffer-p (str) "Return non-nil if str names a buffer with a major mode derived from one of `b/ivy-ignore-buffer-modes'. This function is intended for use with `ivy-ignore-buffers'." (let* ((buf (get-buffer str)) (mode (and buf (buffer-local-value 'major-mode buf)))) (and mode (apply #'provided-mode-derived-p mode b/ivy-ignore-buffer-modes)))) (add-to-list 'ivy-ignore-buffers 'b/ivy-ignore-buffer-p) (ivy-mode 1) :custom-face (ivy-minibuffer-match-face-1 ((t (:background "#eeeeee")))) (ivy-minibuffer-match-face-2 ((t (:background "#e7e7e7" :weight bold)))) (ivy-minibuffer-match-face-3 ((t (:background "light goldenrod" :weight semi-bold)))) (ivy-minibuffer-match-face-4 ((t (:background "misty rose" :weight semi-bold)))) (ivy-current-match ((((class color) (background light)) :background "#d7d7d7" :foreground "black") (((class color) (background dark)) :background "#65a7e2" :foreground "black")))) (use-package swiper :demand :after ivy :bind (("C-S-s" . swiper-isearch))) (use-package counsel :demand :after ivy :bind (("C-c f r" . counsel-recentf) :map minibuffer-local-map ("C-r" . counsel-minibuffer-history)) :config (counsel-mode 1) (defalias 'locate #'counsel-locate)) (provide 'bandali-ivy) ;;; bandali-ivy.el ends here