Changes ======= v0.4.3 - 05 Oct 2016 Bugs/Fixes * Fix to apply InitialFilter setting from config file (#343) * Fix --buffer-size option * Fix --prompt option * Fix deadlock when certain actions are combined in the custom action sequence. This bug probably existed for a long time, but probably nobody bothered to report or didn't use the combinations that causes the deadlock (#345) * Force redraw when SelectNone/RefreshScreen is called (#346) v0.4.2 - 23 Aug 2016 Bugs/Fixes * Fix single key jump mode (#331, #332) v0.4.1 - 21 Aug 2016 Bugs/Fixes * Fix a panic that went unnoticed (#328, #329) v0.4.0 - 19 Aug 2016 Miscellaneous: * There is no real user visible change for this release * Build using go 1.7 * LOTS of internal cleanup * Eliminated (hopefully) all of potential races * Remove silly embedded structs that existed all over the place * New pipeline mechanism should allow slightly faster filtering * Many fixes to properly release resources acquired by goroutines v0.3.6 - 11 May 2016 Features: * Implement way to execute arbitrary commands via ExecuteCommand config Bugs/Fixes: * Fixed wrong default value for LayoutType * Fixed wrong (actually lack of) extension for Windows binary Miscellaneous: * Changed textual cursor representation * Changed dependency manager to glide * Changed build system to... make. Yes. Make. * Compile with go1.6 v0.3.5 - 30 Oct 2015 Features: * Implement --select-1 option (#278) Bugs/Fixes: * Do not switch lines when there's no output (#274) Miscellaneous: * Fix automatic gzip generation (#275) v0.3.4 - 29 Sep 2015 Features: * Implemented SingleKeyJump mode, a.k.a. hit-a-hint Bugs/Fixes: * Fix a problem where lines were sometimes not highlighted * Executing a query may sometimes result in a shorter list of entries such that the page you were at before the query is no longer valid. The cursor would now move to the closest page instead of an empty buffer Miscellaneous: * Only support go1.5 (we now use cross compilation and internal packages) * `go run build/make.go build` will now build all of the peco release files v0.3.3 - 11 Jul 2015 Features: * Implemented ScrollLeft/ScrollRight, to read long lines * Implemented BackToInitialFilter, to make it easier to create combined actions that change the filter type Bugs/Fixes * Build properly on *BSDs v0.3.2 - 24 Mar 2015 Bugs/Fixes * Filtered results could be wrong when QueryExecutionDelay is set to 0 (#241) v0.3.1 - 24 Mar 2015 Bugs/Fixes * Regexp filter was accidentally disabled (#239/#240). Now it's back v0.3.0 - 20 Mar 2015 * BEWARE! 50% of the code has been rewritten! Features * Matchers are now known as Filters * Added StickySelection configuration option * Added QueryExecutionDelay configuration option * Added CustomFilter.BufferThreshold option * For Windows, an extra space at the bottom has been added to facilitate those users using an IM (which consumes an extra line) Deprecations * --no-ignore-case has been completely removed * InitialMatcher configuration option has been deprecated. Use InitialFilter * CustomMatcher configuration option has been deprecated. Use CustomFilter * RotateMatcher action has been deprecated. Use RotateFilter Miscellaneous * To enable trace logs, compile with `-tags debug`, and enable the logs via PECO_TRACE environment variable. e.g. `PECO_TRACE=1 peco ...` v0.2.12 - 27 Feb 2015 Bugs/Fixes * Lines with tabs didn't display properly. * Matches that would fail to hilight certain parts of the text depending on the term order * SelectNext/SelectPrevious actions were reversed (however, these were deprecated anyways) Miscellaneous * You no longer need to tap our custom tap for peco to be installed from homebrew. * Custom matcher processing is fater now v0.2.11 - 16 Dec 2014 Features * Add a InvertSelection action. Not default keymapping has been assigned as of this change, so you need to explicitly set one in your config file. * Display total entries in additin to number of pages * Add experimental ToggleQuery action which enables/disables the current query. Miscellaneous * Massive refactoring to avoid possible race conditions. Note that I am not aware of any breakage caused by previous builds of peco. Even without these changes you most likely did not see a race or it was something you could totally ignore by simply redrawing the page. However, since I was in the mood, and since go is awesome for providing us the `-race` switch, I decided to silence these warnings. * Fix handling of --layout option when no config file is not present. v0.2.10 - 24 Sep 2014 Bugs/Fixes * There was a race condition in the way status messages were cleared, which could leave a message to be not cleared. This has no serious practical impact as it's just the status message, but has been fixed. Miscellaneous * We stopped using godep because it no longer allowed us to use -copy=false. This should have no effect on users. * Update termbox-go dependency * Remove stdout hack v0.2.9 - 08 Sep 2014 Features * Add SmartCase matcher, which automatically toggles between case sensitive and insensitive modes depending on the case of your query. * Ctrl-l is now "peco.RefreshScreen", which basically runs the current query again Bugs/Fixes * User prompt is now draw *before* the filtering is executed. * Be more strict about checking invalid matchers. * Add more tests (work in progress...) v0.2.8 - 01 Sep 2014 Bugs/Fixes * Fix in v0.2.7 was apparently not enough. Things should be fixed now. * Long standing bugs against DeleteForwardWord/DeleteBackwardWord have been fixed v0.2.7 - 01 Sep 2014 Bugs/Fixes * A regression introduced in v0.2.6 for DeleteForwardChar/DeleteBackwardChar has been fixed * Some entries in the Keymap section of the README was wrong, and has been fixed v0.2.6 - 30 Aug 2014 Bugs/Fixes * --prompt option was not properly working Miscellaneous * Bunch of internal cleanups to make testing easier v0.2.5 - 18 Aug 2014 Features * Add --layout option, which allows you to switch between `top-down` and `bottom-up` layout mode. This is equivalent of percol's `--prompt-bottom --result-bottom-up`. Default is `top-down`. The same option can be specified in the config file as "Layout" Miscellaneous * Because of the layout option, SelectNext/SelectPrevious and SelectNextPage/SelectPreviousPage no longer made sense. Now all of these are DEPRECATED, and are aliases to different action names. See the README for the details. In particular, you would need to configure your key bindings using these if you want to use the `bottom-up` layout v0.2.4 - 13 Aug 2014 Features * Add --initial-matcher command line option to specify which matcher type to use upon start up. --no-ignore-case is deprecated * Add InitialMatcher option to the config file. Matcher option is deprecated. Miscellaneous * Binaries are now built using go1.3.1 v0.2.3 - 28 Jul 2014 Bugs/Fixes * Escape sequences are now stripped from input, so for example, colored output can now be fed into peco. Filtering is done against this stripped down buffer, but the original line is used for output. * Some color specification combinations caused weird color variations and in some worst cases caused crashes on Windows. v0.2.2 - 23 Jul 2014 Bugs/Fixes * Fixed display of characters with ambigous width Features * on_bold style attribute has been added. v0.2.1 - 15 Jul 2014 Features * Added the ability to setup custom combined keymap. You can now assign multiple commands to one key sequence. * Key sequence that is being processed currently is displayed in the status message bar v0.2.0 - 07 Jul 2014 Bugs/Fixes * Keymaps have gone through an overhaul. Hopefully it's easier for people who want to modify it to hack on it than before. * Piping multiple commands that use stdin now works properly (v0.1.12 was affected) * After multiple lines are selected, typing Enter (or "peco.Finish") prints out only the selected lines, and no longer adds the line where the cursor currently is placed on Features * --initial-index option has been added * --buffer-size option has been added * --prompt option has been added * Background color can now be changed * SelectAll/SelectNone/SelectVisible has bee added * Keymaps can now handle key sequences. For example, "C-x,C-c" can now be mapped to "peco.Cancel" for Emacs-like behavior * Selection by range is implemented. Now you can start a selection, move the cursor around, and select everything between the starting line and the last line the cursor was on. No default keys are available at this point, so assign peco.ToggleRangeMode to your favorite key v0.1.12 - 01 Jul 2014 Bugs/Fixes * Properly report an error if specified file does not exist Features * Previously peco only read from fixed size input, but now it can read from streaming input such as the result of tail -f . Do note that this buffer does take up memory, so you do not want to be running it for large data. v0.1.11 - 30 Jun 2014 Bugs/Fixes * CustoMatchers are now verified, i.e., exec.LookPath() is applied to the first argument to check if the command is actually executable * Exit code upon receiving signals are now non-zero, as it should have been to start with * Cross-compilation introduced problems with binary builds for darwin. This has now been fixed, but if you do get your hands on peco binaries before v0.1.11, don't expect it to read your config file. * A panic that may occur when you send new queries in very fast succession has been fixed for custom matchers. Features * C-c has been added to the default key binding. It causes peco to cancel the operation (exits with a non-zero status code) v0.1.10 - 25 Jun 2014 Bugs/Fixes * A panic that may occur when you send new queries in very fast succession has been fixed * Fixed the problem where Windows binaries were not able to handle Esc/Alt correctly v0.1.9 - 25 Jun 2014 Bugs/Fixes * Change the base go version to build binary to 1.3 v0.1.8 - 25 Jun 2014 Bugs/Fixes * Check for terminal update errors while drawing. Features * Support Alt key prefixes to keybindings (Note: currently does not work on windows) v0.1.7 - 22 Jun 2014 Bugs/Fixes: * Moved repository to a Github organization: http://github.com/peco/peco * Because of the above change, a lot of links, imports needed fixing. Features: * Automatically set GOMAXPROCS to NumCPU. If you would like to avoid this behavior, you can explicitly set GOMAXPROC env var to 1 (or whatever desired value) Miscellaneous * If you have cool uses for peco, please share them on the wiki: https://github.com/peco/peco/wiki/Sample-Usage v0.1.6 - 18 Jun 2014 Bugs/Fixes: * (You know you will get a bug report only AFTER you release a new version :) * Highlighting wide characters had some issues. This has been there since the first release, apparently v0.1.5 - 18 Jun 2014 Features: * Add experimental --null option v0.1.4 - 17 Jun 2014 Bugs/Fixes: * Check for ev.Ch and ev.Key (should fix input problems) * Fix crashing issue on empty match Features: * In your config, setting the value to "-" will remove the binding. * Default ToggleSelect binding has been changed to ToggleSelectAndSelectNext v0.1.3 - 17 Jun 2014 Bugs/Fixes: * When dealing with fast/successive user input on large buffers, peco was taking too long to execute queries. * XDG style config directories are now searched, and if all fails, falls back to the original ~/.peco/config.json * Some internal cleanup Features: * Multiple line selection has been implemented. Ctrl-Space will toggle the currently selected line, and peco will exit after printing all the selected lines. Note that on OS X, Spotlight by default captures these keys. You may need to reconfigure your settings. * Custom matchers via external processes have been implemented. See the README for more details v0.1.2 - 16 Jun 2014 Bugs/Fixes: * Multiple queries were not being match fully until the end of line (i.e. matches showed up correctly, but the display was not) * Going back to previous item from first item now pages back to last item. * Sending INT/TERM to peco now properly exits. * Some synchronization issues have been fixed (although, it would have never manifested itself when we were running with non-buffered channels) * Make sure default matcher is IgnoreCase Features: * RegExp match mode. e.g. match against "^root" or "2014-[0-9]+", etc * Default match mode is now configurable. * The entire selected line is now highlighted * Styles (colors and what not) can now be configured. * Add C-d as a default keymap for ForwardDelete * Add EOF handler v0.1.1 - 12 Jun 2014 * Fix handling malformed input (e.g. cp932 or euc-jp) * Make non case sensitive matching the default. C-r allows you to toggle between match algorithms. You can also change the default behavior by passing --no-ignore-case * Fix terminal not being updated upon executing DeleteAll * Fix prompt spacing * Add more default keymappings * Add peco --version v0.1.0 - 12 Jun 2014 * Initial versioned release