aboutsummaryrefslogtreecommitdiffhomepage
path: root/input.cpp
Commit message (Collapse)AuthorAge
* use configure to define NOMACROSGravatar David Adam2014-12-21
| | | | (added in 9ec808a4c)
* Solaris build fixes: pick the right curses more of the timeGravatar David Adam2014-12-21
|
* Remove del_curterm workaround on *BSD.Gravatar David Adam2014-12-08
| | | | | | | | | | FreeBSD PR was https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=108117 OpenBSD PR was 5447. Both have been fixed for years. This reverts commit c55cbd3f2f003ea6e36727f8b985e880d6aded85, among others.
* Remove a bunch of dead code identified by cppcheckGravatar ridiculousfish2014-10-31
|
* Set of fixes for issues identified by cppcheckGravatar ridiculousfish2014-10-30
|
* Make escape() return a wcstringGravatar Kevin Ballard2014-09-25
| | | | This avoids the potential for leaking the resulting string.
* Fix build failureGravatar Kevin Ballard2014-09-22
| | | | std::vector::erase() didn't take const_iterator until C++11 >_<
* Rework mode handling of `bind`Gravatar Kevin Ballard2014-09-22
| | | | | | | | | | | | | Binds with the same sequence in multiple modes was not working right. Fix up the implementation to propagate modes everywhere as necessary. This means that `bind` will properly list distinct binds with the same sequence, and `bind -e` will take mode into account properly as well. Note that `bind -e seq` now assumes the bind is in the default bind mode, whereas before it would erase the first binding with that sequence regardless of mode. `bind -e -a` still erases all binds in all modes, though `bind -M mode -e -a` still only erases all binds in the selected mode.
* Further support for term24bit. Teach output.cpp what to do with it.Gravatar ridiculousfish2014-09-19
|
* Initial work to support for term-24bit ("true color")Gravatar ridiculousfish2014-09-19
|
* Fix `commandline` behavior in bind functionsGravatar Kevin Ballard2014-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a key is bound to a fish function, if that function invokes `commandline`, it gets a stale copy of the commandline. This is because any keys passed to `self-insert` (the default) don't actually get added to the commandline until a special character is processed, such as the R_NULL that gets returned after running a binding for a fish command. To fix this, don't allow fish commands to be run for bindings if we're processing more than one key. When a key wants to invoke a fish command, instead we push the invocation sequence back onto the input, followed by an R_NULL, and return. This causes the input loop to break out and update the commandline. When it starts up again, it will re-process the keys and invoke the fish command. This is primarily an issue with pasting text that includes bound keys in it. Typed text is slow enough that fish will update the commandline between each character. --- I don't know of any way to write a test for this, but the issue can be reproduced as follows: > bind _ 'commandline -i _' This binds _ to a command that inserts _. Typing the following works: > echo wat_is_it But if you copy that line and paste it instead of typing it, the end result looks like > _echo wat_isit With this fix in place, the pasted output correctly matches the typed output.
* bind should not show -k for bindings that are escape sequences, not keysGravatar ridiculousfish2014-07-07
|
* input_readch must return R_EOF instead of WEOF. Fixes #1452Gravatar ridiculousfish2014-05-25
|
* Attempt to silence some warningsGravatar ridiculousfish2014-04-27
|
* Run restyle.sh to enforce style rules.Gravatar ridiculousfish2014-03-31
|
* Changes to bind_mode implementation based on code review and mergeGravatar ridiculousfish2014-03-30
| | | | errors
* Merge branch 'master' into 1218_rebaseGravatar ridiculousfish2014-03-29
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: builtin.cpp builtin_commandline.cpp highlight.cpp input.cpp input.h reader.cpp screen.cpp screen.h
| * Revert "Merge pull request #1317 from pullreq/cpp"Gravatar ridiculousfish2014-02-28
| | | | | | | | | | | | | | This reverts commit 74135c0600d5dcc40d396d0e7293c17b8d4bdaa7, reversing changes made to 6d749789ce240a3e6f1447777db63fd8e7525560. See discussion in #1317
| * Fixes .c -> .cpp in comments. For doxygen.Gravatar Geoff Nixon2014-02-27
| |
| * Fix the build by including <algorithm> headerGravatar ridiculousfish2014-02-12
| |
| * Test and fix issue where, if binding X is a prefix of binding Y, and XGravatar ridiculousfish2014-02-12
| | | | | | | | | | | | | | is specified before Y, then Y will never be invoked because X will always get there first. Now instead we order bindings in descending order by length, so that we always test the binding before any others that prefixes it. Fixes #1283.
| * Support escape or up-arrow to cancel the completion search field.Gravatar ridiculousfish2014-01-27
| |
| * Increased support for completion search field. Use btab (shift-tab) toGravatar ridiculousfish2014-01-27
| | | | | | | | complete-and-search.
* | Add 'and' input function; fixes a bug with t,TGravatar Julian Aron Prenner2014-01-23
| | | | | | | | | | | | 'and' will prevent later input functions from being executed if the previous one did not succeed (e.g. a jump to a char not on the command line)
* | Experimental support for f,F,t,T vi commands.Gravatar Julian Aron Prenner2014-01-22
| | | | | | | | Input functions can now have arguments
| * Correct the correspondence between name_arr and the input codes.Gravatar ridiculousfish2014-01-21
| |
* | Update $fish_bind_mode only if necessaryGravatar Julian Aron Prenner2014-01-20
| |
* | Set $fish_bind_mode to default on fish startup; set $fish_key_bindingsGravatar Julian Aron Prenner2014-01-19
| | | | | | | | when sourcing fish_vi_mode.fish
* | Add kill-selection function and visual binds for 'y' and 'd'Gravatar Julian Aron Prenner2014-01-18
| |
* | Add experimental support for selection and visual modeGravatar Julian Aron Prenner2014-01-15
| |
* | Replace builtin 'bind_mode' with variable $fish_bind_modeGravatar Julian Aron Prenner2014-01-15
| |
* | Rename 'new-mode' to 'sets-mode', prepare for selection support.Gravatar Julian Aron Prenner2014-01-15
| |
* | Better input handling; add support multiple binding commandsGravatar Julian Aron Prenner2014-01-01
| |
* | Fix bugGravatar Julian Aron Prenner2013-12-31
| |
* | Allow restricting earsing and listing of bindings to specific mode;Gravatar Julian Aron Prenner2013-12-31
| | | | | | | | implement force repaint and multi-char bindings;
* | Implement bind modesGravatar Julian Aron Prenner2013-12-31
|/
* Add missing const cast for setup_termGravatar ridiculousfish2013-11-26
| | | | https://github.com/fish-shell/fish-shell/issues/1142
* fall back to ANSI terminal type if setupterm failsGravatar David Adam2013-11-26
| | | | | | | | | | | | | | | Closes: https://github.com/fish-shell/fish-shell/issues/1060 'ansi' should always be present (tested on Solaris, Linux, FreeBSD, Darwin). Also overrides TERM so that other programs behave consistently e.g. fish_pager. The error message makes no specific mention of terminfo or termcap as these vary across operating systems. (r+ @ridiculousfish with thanks)
* more detailed debugging when terminal type cannot be foundGravatar David Adam2013-11-26
| | | | Ref: #1060
* add support for downcase-word, upcase-word and capitalise-wordGravatar Christian Rishøj2013-09-09
|
* transpose-wordsGravatar Christian Rishøj2013-06-02
|
* Fix wchar_t castGravatar Ian Ray2013-05-25
|
* command and binding for transpose-charsGravatar Christian Rishøj2013-05-24
|
* Add errret param to other calls to setuptermGravatar ridiculousfish2013-05-13
|
* Formatting and style updatesGravatar ridiculousfish2013-05-05
|
* Eliminate a static string from input_terminfo_get_sequenceGravatar ridiculousfish2013-04-15
|
* Kill termio.h and sys/termios.hGravatar David Adam (zanchey)2013-03-05
| | | | | | | | | | | On FreeBSD, compilation complains that "this file includes <sys/termios.h> which is deprecated, use <termios.h> instead". On Linux and FreeBSD, <sys/termios.h> literally just pulls in <termios.h>. On OS X and Solaris, <termios.h> pulls in <sys/termios.h>. <termio.h> doesn't exist on FreeBSD or Mac OS X, and on Linux is marked as deprecated and just includes <termios.h>. It does exist on Solaris, but no `struct termio` is ever actually used in the codebase.
* Hopeful fix for https://github.com/fish-shell/fish-shell/issues/594Gravatar ridiculousfish2013-02-26
|
* Teach set_color to call setupterm so it doesn't crash when run non-interactivelyGravatar ridiculousfish2013-02-15
|
* fix comments on #516. Split `reader_interrupted` into a `reader_interrupted` ↵Gravatar Jan Kanis2013-01-22
| | | | and a `reader_reading_interrupted`