;;; oni-counsel.el --- Counsel configuration -*- lexical-binding: t; -*- ;; Copyright (C) 2019 Tom Willemse ;; Author: Tom Willemse ;; Keywords: local ;; Version: 2020.0408.104838 ;; Package-Requires: (counsel diminish helpful) ;; 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: ;; Counsel configuration. ;;; Code: (require 'counsel) (require 'diminish) (defun oni-counsel-create-directory-and-file (filename) "Create the directory and file of FILENAME before opening." (mkdir (file-name-directory filename) t) (write-region "" nil filename t) (find-file filename)) (setq counsel-find-file-ignore-regexp (rx (or (and bos ".") (and ".zwc" eos)))) (with-eval-after-load 'counsel (diminish 'counsel-mode)) (setq counsel-describe-function-function 'helpful-callable) (setq counsel-describe-variable-function 'helpful-variable) (ivy-add-actions 'counsel-find-file '(("C" oni-counsel-create-directory-and-file "create"))) (define-key counsel-mode-map (kbd "C-x f") 'counsel-recentf) ;;;###autoload(with-eval-after-load 'counsel (require 'oni-counsel)) ;;;###autoload (add-hook 'emacs-startup-hook 'counsel-mode) (provide 'oni-counsel) ;;; oni-counsel.el ends here