Commit graph

84 commits

Author SHA1 Message Date
Daisuke Maki 821af182ab reinstate single key jump
the caching was more agressive than before, and we forgot to
initialize the structure correctly

TODO: Write tests to catch this

fixes #331
2016-08-22 17:56:32 +09:00
Daisuke Maki f578cfc850 Various tweaks to remove locking and interdependency
* Source does not depend on MemoryBuffer
* Remove a bunch of mutexes
* Change them to RWMutex where applicable
2016-07-02 16:19:17 +09:00
Daisuke Maki 7499972766 streamline how Done() gets called 2016-06-30 13:43:59 +09:00
Daisuke Maki 41083de5ca move type declarations 2016-06-18 17:40:33 +09:00
Daisuke Maki c12cd97d29 Use pdebug instead of trace 2016-06-18 17:40:33 +09:00
Daisuke Maki 3c615080ba Cleanup some code 2016-06-18 17:40:33 +09:00
Daisuke Maki a8d042d93c highlighting is back 2016-06-18 17:39:02 +09:00
Daisuke Maki 417be36cfb More refactoring around current position/location state 2016-06-18 17:39:02 +09:00
Daisuke Maki 406cfe3bd7 Trying to get rid of "everything is a Ctx" 2016-06-18 17:39:02 +09:00
Daisuke Maki 62fa53e053 Implement hit-a-hint
- "@" toggles "SingleKeyJump" mode
- list of hot keys are displayed to the left
- selecting the key allows you to jump to the line, and
  peco exits by selecting that line
2015-09-29 12:02:39 +09:00
Daisuke Maki 586c36a0e7 Let us being the great refactor
* Move internal stuff to internal
* Properly use conditional compilation to detect Windows
* Move type declarations to one location (except for a few places still)
2015-09-28 21:39:43 +09:00
Daisuke Maki 5beaeb6328 Only do the page re-calculation if we have a running query
refs #260
2015-09-28 16:52:08 +09:00
Daisuke Maki 1970c6faef remove useless temp variable 2015-07-11 21:00:45 +09:00
Tomohiro Nishimura 8fb7f6eb16 Improve performance for horizontal scroll 2015-05-18 02:40:17 +09:00
Tomohiro Nishimura f2c5cf2af7 Fix comment 2015-05-18 02:40:17 +09:00
Tomohiro Nishimura fa02d52f66 Add ScrollLeft and ScrollRight action for horizontal scroll 2015-05-17 22:46:38 +09:00
Daisuke Maki 1ee6c37ed8 Remove some dead code 2015-03-17 15:37:52 +09:00
Daisuke Maki 6de39a305c Fix paging, remove unusued functions 2015-03-17 15:37:50 +09:00
Daisuke Maki b7bd37bdb5 Rename Match to Line, NoMatch to RawLine and DidMatch to MatchedLine
More refactoring so that it's clear what each component is doing
2014-11-03 07:45:49 +09:00
Daisuke Maki 38992a4cc0 more race fixes 2014-10-14 14:37:59 +09:00
Daisuke Maki 98add93d64 more stuff 2014-10-14 14:17:11 +09:00
Daisuke Maki 2f1f4cbb63 Fix a bunch of race conditions 2014-10-08 20:50:57 +09:00
Daisuke Maki 4c078d6505 Fix a race condition that existed between clear status and print status
For whatever reason I was thinking at the time, I had split the channels
to receive request to print to and clear the status message. This
basically means that, even if you meant to print X and then clear it
in 500 milliseconds, the clear request could actually arrive BEFORE
the print message.

This change basically puts all the status related request into one
channel, so that all requests can come sequentially
2014-09-08 14:41:06 +09:00
Daisuke Maki 068cd85dac oops, gofmt 2014-09-08 10:14:06 +09:00
Daisuke Maki 4b7f66fcbc Draw prompt before running the query
This basically makes it easier for the users to see what exactly they
are waiting for. Previously we ran the filter, then re-drew the screen.
But this could take a while if the buffer is really big or the matcher
is slow, and therefore you would be stuck with a really old version of
your query in the screen for a while.

This change basically forces a redraw of the prompt alone before running
the query, which was something I meant to do for a long time, and now
possible because I split up the drawing in the layout object to
Prompt/Status/Lines sections
2014-09-06 18:25:14 +09:00
Daisuke Maki 3a16a2b25e Slightly refactor matcher rotation 2014-08-27 14:10:52 +09:00
Daisuke Maki 74f4c46ce8 Implement ScrollPageUp/ScrollPageDown
Based on comment at https://github.com/peco/peco/pull/172#issuecomment-52393224
2014-08-17 08:20:16 +09:00
Daisuke Maki 04b1427f93 Fix moving around with arrows 2014-08-16 18:47:22 +09:00
Daisuke Maki 068c982864 Rip screen drawing out of View
View handles communication and control of elements in the Layout.
Layout does the actual drawing.
2014-08-16 07:33:31 +09:00
youz cfa44a38b6 fix bgcolor mixing 2014-07-25 00:02:57 +09:00
Daisuke Maki 529944a74a Truncate statues message from the left, not from the right 2014-07-15 13:17:49 +09:00
Daisuke Maki 065ca648c4 This change show current key sequence being handled 2014-07-15 09:23:03 +09:00
Daisuke Maki da74cec637 Convert paging to HubReq 2014-07-11 17:43:13 +09:00
Daisuke Maki c6e9d97f1f Change to use HubReq to communicate 2014-07-11 17:14:03 +09:00
Daisuke Maki 8f809dc1dd Rename functions to RangeMode instead of SelectMode 2014-07-07 12:02:20 +09:00
Yuya Takeyama 751752cd36 Add --prompt option 2014-07-05 18:38:34 +09:00
Takashi Kokubun f4a0ae6852 Enable customizing query prompt 2014-07-05 11:04:12 +09:00
lestrrat f7322d6a30 Merge pull request #126 from k0kubun/select_mode
Enable selecting by range
2014-07-04 09:22:06 +09:00
Takashi Kokubun 1bebaa3dcd Enable appending selection range to selection 2014-07-04 09:12:11 +09:00
lestrrat 26d94ca476 Merge pull request #133 from k0kubun/fix_query_highlight
Fix query line highlight
2014-07-04 05:40:33 +09:00
Takashi Kokubun 5ac7b71f41 Fix query line highlight 2014-07-04 02:19:48 +09:00
Takashi Kokubun 772d804c25 Introduce matched style 2014-07-04 01:33:45 +09:00
Takashi Kokubun a8edc19305 Enable selecting by range 2014-07-04 00:10:04 +09:00
lestrrat 9fa141eab9 Merge pull request #131 from peco/background-color
Draw background as basic color
2014-07-03 18:02:17 +09:00
mattn 14d492577c Fixed coloring 2014-07-03 17:42:09 +09:00
mattn 00f3effe00 Draw background as basic color 2014-07-03 17:34:36 +09:00
HIROSE Masaaki eb84003be3 Fix handling initial index larger than liens per page
ref #123
2014-07-03 17:08:27 +09:00
Syohei YOSHIDA 68b862b182 Fix showing current index 2014-07-03 16:12:08 +09:00
Daisuke Maki f971c5cb2d Merge branch 'select-none-and-all' of github.com:jowl/peco into select-none-and-all
Conflicts:
	ctx.go
2014-07-03 06:31:23 +09:00
Joel Segerlind 89703a2596 Add SelectVisible action
which selects every match that is currently displayed on screen. To
determine which matches are currently visible I chose to expose
currentPage (index, offset, and page size) through the Context. This is
updated every time the screen is redrawn.
2014-07-02 22:39:27 +02:00