'''LustyExplorer''' is a fast and responsive way to manage files and buffers.  It includes both a filesystem explorer and a buffer switcher through a common interface.

It's like <code>find-file</code> crossed with <code>iswitchb</code> or InteractivelyDoThings, but with a larger and more easily readable dedicated window for matches instead of the minibuffer.

[http://viewglob.sourceforge.net/lusty-explorer.el.animated.gif Here's a 3.4 MB animated gif showing it in action] (Note: 2.0+ uses fuzzy matching instead of tab completion)

After copying the file into your load-path, put this in your .emacs:

    (require 'lusty-explorer)

Launch the explorer with one of these commands:

    M-x lusty-file-explorer
    M-x lusty-buffer-explorer

As you type a name, the list updates using a fuzzy matching algorithm.  Press <code>RET</code> or <code>TAB</code> to select the highlighted match, or <code>C-n</code>/<code>C-p</code> to highlight the next/previous match

'''LustyExplorer''' is based on the [http://www.vim.org/scripts/script.php?script_id=1890 Vim plugin] of the same name.

= Download =
Lisp:lusty-explorer.el

[http://github.com/sjbach/lusty-emacs Development repository]

= Changelist =

Version 2.4:
* Add <code>defcustom lusty-idle-seconds-per-refresh</code> - wait for key presses in <code>lusty-file-explorer</code> for (by default) 50 milliseconds before initiating match window updates.  Makes things more manageable for fast typers navigating directories having many thousands of files.  Thanks to René Kyllingstad.
* Consider buffer use order when determining the order of buffer matches in the window.  By default, has a 10% effect on weighting. Fiddle with <code>lusty-buffer-MRU-contribution</code>.
* Like <code>iswitchb</code>, give match priority to buffers not currently visible.

Version 2.3:
* For <code>iswitchb</code> congruity, <code>C-s</code>/<code>C-r</code>: select next/previous match.
* Buffer explorer: put current buffer at end of matches list for more intuitive switching.  Thanks to Alex Schroeder.
* Buffer explorer: sort first by fuzzy matching score, then by most recently used.
* More intuitive action on <code>RET</code> key press, to differentiate from <code>TAB</code>.  Thanks to René Kyllingstad.
* Minor performance improvement.

Version 2.2:
* New keys:
** <code>C-f</code>: move highlight to next column.
** <code>C-b</code>: move highlight to previous column.
** <code>C-x e</code>: open a new buffer with current name.
** <code>C-x d</code>: launch <code>dired</code> at the currently viewed directory.
* Fix processing of <code>completion-ignored-extensions</code>.
* Minor performance improvement.

Version 2.1:
* Vast performance improvement.
* Fixed sort order of matches.
* Smarter match layout algorithm; faster, and makes better use of available space.
* Print TRUNCATED indicator reliably.
* Determine maximum window height reliably.
* List buffers in MRU order when first presented.

Version 2.0:
* Introduced a flex/fuzzy matching algorithm, [http://github.com/rmm5t/liquidmetal/tree/master LiquidMetal].
* Added custom keymap and setup hook.
* Faster implementation of lusty-columnize.  Thanks to Volkan Yazici.
* Catch an error when enlarging the completions buffer.
* Many small changes.

Version 1.0.2:
* Fixed a bug in completion-ignored-extensions matching.  Thanks to Hugo Schmitt.

Version 1.0.1:
* Made the completion window more useable in multi-window configurations.  Thanks to Jan Rehders.
* Fixed two bugs in computing optimal completion content layout.

= Discussion =

----
CategoryBufferSwitching CategoryFiles CategoryCompletion
