... by punting the problem when the input is an infinite stream.
This commit fixes the blocking, but the subsequent queries don't seem
to be properly running
refs #494
* Move internal stuff to internal
* Properly use conditional compilation to detect Windows
* Move type declarations to one location (except for a few places still)
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
* Longest sequence always wins
* If you would like to break out of typing in a sequence, you must
call peco.Cancel
* The Konami command now needs to start with C-x
TODO: remove all that Keymap code that doesn't get used anymore
This is what I really meant to do. i.e.
type Keymap [2]map[termbox.Key]KeymapHandler
seemed too hard for the regular human being.
In this change it's
type Keymap [ModMax]RawKeymap
type RawKeymap map[termbox.Key]KeymapHandler
This makes peco accept lines with NUL(\0) characters.
Anything before the NUL is used as the string to be displayed
in the peco view AND used for matching.
Anything after the NUL is used as the output when peco is done
Should fix#76
We should check both 'ev.Key' and 'ev.Ch'. Because ev.Key is always '0'
if input does not have prefix('Ctrl-', 'Alt-') or input is not some
special key. If user binds some command to 'C-Space' or 'C-2', 'C-~'
(then that command is set to 'input.config.Keymap[0]'), the command
is executed by inputting non-prefix key like 'a', 'b', 'c'.