quick-find-files.el/README.org

92 lines
3.6 KiB
Org Mode
Raw Normal View History

#+title: quick-find-files.el
2021-05-02 15:33:41 +00:00
#+author: Lucien Cartier-Tilet
#+email: lucien@phundrak.com
* Introduction
~quick-find-files.el~ is a utility package for all of you out there that
often find themselves looking for the right file in the right place,
but you cant be bothered to have a specific keybinding for that
particular file for one reason or another.
2021-05-02 15:33:41 +00:00
Now, you have a utility for finding files by directory with an
associated extension! Lets say you often open files with a ~.org~
extension from your directory =~/org/=, this package will try to find it
insantly for you!
* Motivation
I often find myself opening a specific set of files, but they are too
numerous to make each one of them a keybinding. Well, I actually
could, but I end up with way too much for my taste. In fact, at the
time Im writing this, I would have to manage a hundred keybindings
for my various org files alone! Unmanageable!
* Installation
2021-05-02 16:05:26 +00:00
** Prerequisites
First of all, make sure either ~find~ (which is fairly standard, it
should be there by default) or [[https://github.com/sharkdp/fd][~fd~]] are installed on your system, as
2021-05-02 16:05:26 +00:00
this package relies on one or the other depending on your choices
(~find~ by default).
2021-05-02 15:33:41 +00:00
** Local installation
The vanilla way of installing this package would be to clone this
repository somewhere in your Emacs ~load-path~, or add the following
line to your Emacs configuration:
2021-05-02 15:33:41 +00:00
#+begin_src emacs-lisp
(add-to-list 'load-path "/path/to/quick-find-files.el")
2021-05-02 15:33:41 +00:00
#+end_src
Then add the following lines to your configuration:
2021-05-02 15:33:41 +00:00
#+begin_src emacs-lisp
(require 'quick-find-files)
2021-05-02 15:33:41 +00:00
#+end_src
** Straight + use-package
My personnal choice in terms of installing packages is using straight
with use-package. Here is my own configuration of ~quick-find-files.el~:
2021-05-02 15:33:41 +00:00
#+begin_src emacs-lisp
(use-package quick-find-files
:defer t
:ensure t
:straight (quick-find-files :type git
:host github
:repo "Phundrak/quick-find-files.el")
:config ; Depending on your preferences of course
(setq quick-find-files-program 'fd
; I like ivy
quick-find-files-completing-read #'ivy-completing-read
quick-find-files-dirs-and-exts '(("~/org" . "org"))))
2021-05-02 15:33:41 +00:00
#+end_src
** Other methods
I am aware other methods are available for installing packages in
Emacs, such as ~quelpa~ or Spacemacs and DoomEmacs package managers,
however I am yet unsure how to install this package with them. If you
do, feel free to submit a PR with new instructions!
* Customizing
A couple of variables can be editer by the user in order to configure
~quick-find-files.el~:
- ~quick-find-files-program~ :: The program to use in order to find your
files. The two currently supported options are ~'find~ and ~'fd~.
- ~quick-find-files-fd-executable~ :: Specify the executable to use when
using the option ~'fd~.
- ~quick-find-files-find-executable~ :: Specify the executable to use
when using the option ~'find~.
- ~quick-find-files-dirs-and-exts~ :: List of pairs between directories
and extensions. For one directory, the program will be searching
recursively all files with the specified extension. Possible value:
#+begin_src emacs-lisp
'(("~/org" . "org")
("/tmp" . "html")
("~/code/C" . "h"))
#+end_src
This specific example will recursively search for all ~.org~ files in
2021-05-02 15:49:30 +00:00
=~/org=, all ~.html~ files in ~/tmp~, and all ~.h~ files in =~/code/C=.
* Upcoming changes
- Plans exist to customize the maximum depth at which ~find~ and ~fd~ are to
search for files.
* License
~quick-find-files.el~ is available under the GNU GPL-3.0 license. You
can find the full text in [[file:LICENSE.md][LICENSE.md]].