Commit graph

9053 commits

Author SHA1 Message Date
ridiculousfish
d9f34147c3 builtins to only acquire terminal if owned by their pgroup
Fix #5133 changed builtins to acquire the terminal, but this regressed
caused fish to be stopped when running in background via `sudo fish`.
Fix this by only acquiring the terminal if the terminal was owned by the
builtin's pgroup.

Fixes #5147
2018-08-18 16:56:01 -07:00
ridiculousfish
cbcabf6d00 Add support for fish_ambiguous_width
fish_ambiguous_width is a variable which controls the width of ambiguous CJK
characters.

Fixes #5149
2018-08-18 15:38:05 -07:00
ridiculousfish
d40a82b4d3 Mark reader.cpp jump as static 2018-08-18 14:48:46 -07:00
Chris
1d68b52cbc Add till/repeat/reverse jump bindings
- Add support for:
  - Jumping to the character before a target.
  - Repeating the previous jump (same direction, same precision).
  - Repeating the previous jump in the reverse order.
- Enhance vi bindings.
2018-08-18 14:42:29 -07:00
Fabian Homborg
7606bfc2e5
Merge pull request #5145 from antonv6/hg-completion
[Ready] Update Mercurial completion
2018-08-17 16:34:35 +02:00
Mahmoud Al-Qudsi
1c59a3f1a8 Fix traversal order of tokens in history completion
Fixes an issue introduced by e51e854. Closes #5150.
2018-08-16 14:07:38 -05:00
Mahmoud Al-Qudsi
e8a35bfaa8 Prevent errors in __fish_describe_command when apropos isn't installed
__fish_describe_command now bails early if `type -q apropos` returns a
non-zero exit code.
2018-08-16 13:20:04 -05:00
Anton Shestakov
1e58e00734 hg completion: complete directories for --cwd 2018-08-16 19:26:29 +08:00
Anton Shestakov
b3a00c5389 hg completion: add :forcedump and :tagmerge merge tools 2018-08-16 19:25:16 +08:00
Anton Shestakov
d70cdb19c1 CHANGELOG: mention hg completion 2018-08-15 14:44:08 +08:00
Anton Shestakov
8aef4330f0 hg completion: complete hg convert, email 2018-08-15 14:13:16 +08:00
Anton Shestakov
af4da66515 hg completion: do a pass over mq 2018-08-15 12:21:16 +08:00
Anton Shestakov
fb6b4b9ae5 hg completion: revert can restore deleted files too 2018-08-15 12:20:12 +08:00
Anton Shestakov
cdf39ed660 hg completion: complete hg files, rebase, shelve, unshelve 2018-08-15 12:15:07 +08:00
Anton Shestakov
6223833130 hg completion: update command descriptions, add more 2018-08-15 12:14:11 +08:00
Anton Shestakov
a175aaa18a hg completion: new flags 2018-08-14 23:51:06 +08:00
Anton Shestakov
afff92c4b1 hg completion: update descriptions 2018-08-14 23:46:51 +08:00
Anton Shestakov
0ffbb657df hg completion: remove --style (deprecated for 4 years)
It still works, but is just an alias for -T/--template.
2018-08-14 23:42:16 +08:00
George Christou
b39651f1ad completions: [git] Silence various errors outside repo 2018-08-14 17:12:43 +02:00
Anton Shestakov
60e05d82c8 hg completion: fix -r and -x flags used for options
"Fixing" boils down to:

- removing -x from options that don't take arguments
- replacing -x with -r for options that want (any) file
2018-08-14 13:05:21 +08:00
Anton Shestakov
f95431362c hg completion: add more --subrepos 2018-08-14 12:47:18 +08:00
Riccardo Azzolini
c79db8ecf7 cdh: Only replace home directory with ~ at the start of paths 2018-08-13 18:24:42 +02:00
Anton Shestakov
27c06c997c hg completion: suggest files from hg st -amr for hg diff
Added and removed files are already suggested for hg commit, makes sense
to do the same for hg diff.
2018-08-13 14:58:03 +08:00
Anton Shestakov
a9c30b05af hg completion: complete abbreviations of hg archive (plus --type) 2018-08-13 14:53:17 +08:00
Anton Shestakov
99860c8294 hg completion: also complete hg blame (alias to annotate) 2018-08-13 14:52:38 +08:00
Anton Shestakov
c8c7fec48a hg completion: complete --color=debug too 2018-08-13 14:52:10 +08:00
ridiculousfish
fa66ac8d8c Acquire tty if interactive when running builtins
When running a builtin, if we are an interactive shell and stdin is a tty,
then acquire ownership of the terminal via tcgetpgrp() before running the
builtin, and set it back after.

Fixes #4540
2018-08-12 03:41:56 -07:00
ridiculousfish
c0a332743f Escape less aggressively when showing completions in pager
Stop escaping [, spaces, etc. in the pager.
2018-08-12 03:37:13 -07:00
ridiculousfish
9b22ae7c74 Remove a gnarly macro from builtin_history 2018-08-12 02:41:09 -07:00
ridiculousfish
d87f00bdc9 Simplify history search
Remove features related to navigating forwards in history that are no
longer used.
2018-08-12 02:41:09 -07:00
ridiculousfish
e51e854d8d Clean up reader history search
Factor the history search fields into a new class.
As a side effect, this shares the deduplication logic, so that token search
no longer returns duplicates.

Fixes #4795
2018-08-12 02:40:15 -07:00
ridiculousfish
1473f952d4 Make contains() more general
Allow contains() to find arbitrary values in arbitrary vectors, and adopt it
in place of std::find.
2018-08-11 22:23:20 -07:00
ridiculousfish
b0dc715d18 Factor update_autosuggestion to use can_autosuggest 2018-08-11 17:40:06 -07:00
ridiculousfish
4fdcc2e400 Begin to rationalize reader data stack
Switch from a manually maintained linked list to an explicit stack.
2018-08-11 13:17:00 -07:00
ridiculousfish
68c7ecd777 Remove reader_t::app_name field
It was unused
2018-08-11 13:02:50 -07:00
ridiculousfish
f7d846ad8b Make reader_push accept wcstring instead of wchar_t* 2018-08-11 12:43:11 -07:00
ridiculousfish
82bff2d692 Modernize some reader code for C++11 2018-08-11 12:39:24 -07:00
ridiculousfish
1f2b2b119a Remove some disabled (commented or ifdef'd out) code 2018-08-10 20:48:02 -07:00
Jon Eyolfson
c3ca108dbe Added const to methods which 'ought to be const' based on Const Checker 2018-08-09 19:05:47 -07:00
ridiculousfish
9c957eeef3 Prefer to not autosuggest existing arguments
This teaches autosuggestions to demote completions whose text matches an already
present argument.
2018-08-07 02:04:43 -07:00
ridiculousfish
459c01df76 Slightly refactor completion calculation
Move more stuff into completer_t
2018-08-07 00:40:01 -07:00
ridiculousfish
3175ccf266 Use move semantics when returning completions
Avoids some string copies
2018-08-06 23:58:48 -07:00
Alexander Dalshov
00dcc2a12d add pstack completion 2018-08-06 23:20:55 -07:00
ridiculousfish
20cec8611d Remove a stale comment 2018-08-04 16:51:57 -07:00
ridiculousfish
cbff87fe17 Minor cleanup and const correctness 2018-08-04 16:45:16 -07:00
ridiculousfish
2b0c54dfc8 Ignore return value of system() in tests
Fixes some warnings on Linux
2018-08-04 16:33:31 -07:00
ridiculousfish
acff2516d4 Straighten out some wchar_t** casts
Embrace the fact that builtins expect to modify their argv array and get rid
of a bunch of const.
2018-08-04 16:25:51 -07:00
ridiculousfish
5eada4b623 Put some of builtin_test in an anonymous namespace
Reduces the binary size a bit
2018-08-04 15:49:20 -07:00
ridiculousfish
d2bee105c9 Default math scale to 6
This changes the behavior of builtin math to floating point by default.
If the result of a computation is an integer, then it will be printed as an
integer; otherwise it will be printed as a floating point decimal with up to
'scale' digits past the decimal point (default is 6, matching printf).
Trailing zeros are trimmed. Values are rounded following printf semantics.

Fixes #4478
2018-08-04 15:32:09 -07:00
Maximilien Mellen
78cac07d3c Fix Informative VCS sample prompt invalid state
The Informative VCS sample prompt currently sets the `__fish_git_prompt_char_conflictedstate` variable which is unused.
It should instead set the `__fish_git_prompt_char_invalidstate` variable.
2018-08-04 13:35:03 -07:00