Commit Graph

261 Commits

Author SHA1 Message Date
Mahmoud Al-Qudsi
9ddba0116f Add completions for unzip 2018-05-20 01:22:16 -05:00
Mahmoud Al-Qudsi
1c4940c04c Make sudo completions _much_ smarter
Now dynamically generating completions for the target of the `sudo`
command, where possible.
2018-05-17 20:19:31 -05:00
Mahmoud Al-Qudsi
1bdf61cb20 Add completions for meson build system 2018-05-13 13:59:03 -05:00
Mahmoud Al-Qudsi
82c8abc4dc Add completions for ttx 2018-05-12 14:06:03 -05:00
Fabian Homborg
ceddd1e684 Restore . alias for source
The breakage is just too annoying.

This reverts 55bef3cd2e.
2018-05-09 16:51:52 +02:00
Mahmoud Al-Qudsi
91f75d84d3 Completions for optipng 2018-05-06 18:55:12 -05:00
ridiculousfish
060643a3b0 Changelog feature flags 2018-05-06 12:31:32 -07:00
ridiculousfish
902af26253 Bring back caret redirections under a feature flag
This partially reverts 5b489ca30f, with
carets acting as redirections unless the stderr-nocaret flag is set.
This flag is off by default but may be enabled on the command line:

fish --features stderr-nocaret
2018-05-06 11:20:14 -07:00
Mahmoud Al-Qudsi
b619f34777 Fix ngrok and port appearing on same line in CHANGELOG.md 2018-04-19 18:26:47 -05:00
Mahmoud Al-Qudsi
e48722f0bf Add completions for bower
These are "true" completions, with dynamic completion of available
packages to be installed or removed.
2018-04-19 18:09:11 -05:00
Mahmoud Al-Qudsi
c31861fdd1 Add note about read -L to CHANGELOG.md` 2018-04-19 08:37:43 -05:00
Mahmoud Al-Qudsi
503427255e Drop automation of all-the-package-names install for npm completions
Selectively reverts 156d4fb9b9.

`all-the-package-names` is still used to generate completions for `npm`
if it is installed, but it is not manually installed nor updated. It is
now the user's responsibility to do both, and it must be installed
globally.
2018-04-19 08:34:46 -05:00
Mahmoud Al-Qudsi
6c5e5d35a9 Add real completions for ./configure
This relies on the new `read --line/-L` support as an entire parser for
the output of `./configure --help`  was written in fishscript. Also
doesn't work without 72f32e6d8a7905b064680ec4b578c41dea62bf84.

The completion script is slow... a function of both the autotools
configure script itself being written in a shell script combined with a
fishscript output parser.

fish's own `./configure --help` takes around 350ms to execute, while
`__fish_parse_configure ./configure` (which runs that behind the scenes)
takes around 660ms to run, all-in-all - a not insignificant overhead.

Output can be cached (based off of ./configure hash or mtime) in the
future if this is a big deal.
2018-04-17 21:35:51 -05:00
Mahmoud Al-Qudsi
facdc88c0c Improve completions for ssh by completing from history 2018-04-12 22:28:50 -05:00
Thom Chiovoloni
25169a44ed Add alias -s/--save, which saves the alias.
Also updates the `alias` documentation to mention the `-h`/`--help` option,
which was previously undocumented.
2018-04-09 01:08:56 +02:00
ridiculousfish
ba8bdbb3ae Reference issue for removing uvars MAC address in CHANGELOG 2018-04-01 17:47:43 -07:00
ridiculousfish
0d0a65dc87 CHANGELOG removal of MAC address from uvars file
Part of #1912
2018-04-01 17:46:02 -07:00
Peter Ammon
5b489ca30f Remove caret redirection
This removes the caret as a shorthand for redirecting stderr.

Note that stderr may be redirected to a file via 2>/some/path...
and may be redirected with a pipe via 2>|.

Fixes #4394
2018-04-01 13:48:21 -07:00
ridiculousfish
6e56637cf0 Remove support for the ? wildcard
Fixes #4520
2018-03-31 16:54:50 -07:00
ridiculousfish
4b079e16e5 Execute the conditions of if and while statements outside of their block
Variables set in if and while conditions are in the enclosing block, not
the if/while statement block. For example:

    if set -l var (somecommand) ; end
    echo $var

will now work as expected.

Fixes #4820. Fixes #1212.
2018-03-31 14:57:24 -07:00
Mahmoud Al-Qudsi
04b8b35a56 Document new string split --no-empty option 2018-03-29 08:23:29 -05:00
Mahmoud Al-Qudsi
515fc509ec Deprecate $_ in favor of (status current-command)
Closes #813.
2018-03-24 11:58:19 -05:00
Mahmoud Al-Qudsi
6d80ab8d74 Rename $pid (née %self) to $fish_pid 2018-03-24 11:54:27 -05:00
Mahmoud Al-Qudsi
c695cceab3 Minor formatting fix to changelog 2018-03-13 13:51:17 -05:00
ridiculousfish
9a5afe3913 Clean up and document functions --handlers 2018-03-10 02:27:25 -08:00
Mahmoud Al-Qudsi
f1803feebf Document deprecation of logical expression in math builtin
Closes #4777
2018-03-09 21:58:30 -06:00
Mahmoud Al-Qudsi
db6fd2c570 Document $hostname variable 2018-03-09 15:10:53 -06:00
Mahmoud Al-Qudsi
ff20651d8b Clean up CHANGELOG.md with regards to read arguments
Removed misleading statement about read requiring an argument, as the
note about read's new behavior when no arguments are provided covers
that and is less confusing.
2018-03-09 12:07:09 -06:00
Mahmoud Al-Qudsi
f8ec1e4a7b Document `read -s/--silent and -S/--shell change 2018-03-09 11:53:19 -06:00
Mahmoud Al-Qudsi
827b8b9fd5 Document removal of % expansion and new $self/$last_pid variables 2018-03-09 09:15:29 -06:00
ridiculousfish
9bb2d1e79f Note support for && || ! in CHANGELOG 2018-03-05 14:05:35 -08:00
Mahmoud Al-Qudsi
a85d2bf27a Add intelligent package completion to yarn
Now parses package.json and uses results to provide a list of possible
completions to `yarn remove`. There may be other subcommands that could
benefit from this.

Could have parsed yarn output, but yarn is slow and packages.json format
is generally standard since it's machine-generated json.
2018-03-05 08:28:19 -06:00
Mahmoud Al-Qudsi
7242c40b5c Document new -q/--quiet flags to jobs builtin 2018-03-04 15:21:31 -06:00
ridiculousfish
973533e374 Teach alias about wrap argument injection
Update the alias function to pass arguments to 'wraps'. For example
alias gco='git checkout' now works like it ought to.
2018-02-27 14:12:44 -08:00
ridiculousfish
bb7b649132 Wrapping completions to allow injecting arguments
This enables some limited use of arguments for wrapping completions. The
simplest example is that complete gco -w 'git checkout' now works like
you would want: `gco <tab>` now invokes git's completions with the
`checkout` argument prepended.

Fixes #1976
2018-02-27 14:12:44 -08:00
Fabian Homborg
69f68d31df Reserve some builtin names
`argparse`, `read`, `set`, `status`, `test` and `[` now can't be used
as function names anymore.

This is because (except for `test` and `[`) there is no way to wrap these properly, so any
function called that will be broken anyway.

For `test` (and `[`), there is nothing that can be added and there
have been confused users who created a function that then broke
everything.

Fixes #3000.
2018-02-25 21:29:24 +01:00
Kevin Konrad
8536a6825f add completion for MacPorts 2018-02-24 23:32:25 +08:00
Fabian Homborg
04c399c5a9 Fix changelog typo
[ci skip]
2018-02-19 20:29:19 +01:00
ridiculousfish
fd2a0dffa9 Reflect newlines after pipes in fish grammar
The previous attempt to support newlines after pipes changed the lexer to
swallow newlines after encountering a pipe. This has two problems that are
difficult to fix:

1. comments cannot be placed after the pipe
2. fish_indent won't know about the newlines, so it will erase them

Address these problems by removing the lexer behavior, and replacing it
with a new parser symbol "optional_newlines" allowing the newlines to be
reflected directly in the fish grammar.
2018-02-18 14:44:08 -08:00
ridiculousfish
01d87455e1 Teach parse_util_escape_string_with_quote about tildes
Properly escape literal tildes in tab completion results. Currently we
always escape tildes in unquoted arguments; in the future we may escape
only leading tildes.

Fixes #2274
2018-02-17 15:18:43 -08:00
ridiculousfish
8386a815d3 Add updated pager reserved line behavior to changelog 2018-02-04 14:17:38 -08:00
ridiculousfish
54cefeb5b1 Make sliced history (e.g. $history[1]) much faster
This special cases expansion of $history variables, so that slicing
history no longer needs to construct the entire history array. Speedup
is around 100x in my test.

Fixes #4650
2018-01-30 18:34:46 -08:00
ridiculousfish
5c2e6734c1 Normal text input to disable paging instead of search
Prior to this fix, if the user typed normal characters while the
completion pager was shown, it would begin searching. This feature was
not well liked, so we are going to instead just append the characters as
normal and disable paging. Control-S can be used to toggle the search
field.

Fixes #2249
2018-01-30 09:58:08 -08:00
ridiculousfish
c4a12f90c1 Bind pager-toggle-search to control-s by default. 2018-01-30 09:58:08 -08:00
ridiculousfish
d0d7bb75cd Add new pager-toggle-search input function
This adds a new input binding pager-toggle-search which toggles the
search field on and off when the pager is showing.
2018-01-30 09:58:08 -08:00
Fabian Homborg
12c249abbe Changelog pager navigation
[ci skip]
2018-01-25 13:27:23 +01:00
Birger J. Nordølum
2ba76a7115 diskutil.fish: added apfs completions, and tweaks to old ones 2018-01-23 19:25:12 +01:00
ridiculousfish
a39c57c1b6 Report errors for arguments to 'end'
For example, `begin ; end arg` will now report an error.

Fixes #986
2018-01-22 13:31:39 -08:00
Thom Chiovoloni
7b88187310 Add ability to autosave functions at the end of funced 2018-01-18 18:03:52 +01:00
ridiculousfish
de8ccf1751 Stop warning on invalid PATHs and CDPATHs if any element is valid
Some dotfile users like to add directories to PATH that point at
non-existent directories (because those directories exist on other
machines). Stop warning in that case, unless those directories contain
a colon, in which case it's probably a user error.
2018-01-08 23:04:30 -08:00
ridiculousfish
96d524304d Add #4649 to changelog 2018-01-08 22:37:08 -08:00
Fabian Homborg
aa58cae601 Don't count successive "," as literal in brace expansion
This was highly surprising.

Fixes #3002.
2018-01-07 15:00:44 +01:00
Fabian Homborg
55ebf4430f Make literal "{}" expand to itself
This caused major annoyances with e.g. `find -exec`, and it's utterly
useless - "{}" expands to nothing, so why have it at all?

Fixes #1109.
2018-01-07 15:00:44 +01:00
MindTooth
721df61f4b brew.fish: add the leaves option (#4645) 2018-01-06 12:39:15 +01:00
pinage404
1af4acbd0e Add: ngrok completions (#4642)
Completions are based on the help messages of [ngrok](https://ngrok.com/)
2018-01-05 15:30:58 +01:00
David Adam
fe4354e5ed Merge branch 'Integration_2.7.1' 2018-01-01 08:48:41 +08:00
David Adam
cd5c40ed9c CHANGELOG: update for 2.7.1 2017-12-23 00:16:24 +08:00
Fabian Homborg
884092d13b CHANGELOG 4610 2017-12-20 14:36:13 +01:00
David Adam
3a10e76874 CHANGELOG: drop bare variable note
This behaviour was never in a released version.

[ci skip]
2017-12-18 21:06:32 +08:00
ridiculousfish
81dd4a4536 [math] Remove more bare variable support
Prior to this fix, a "bare variable" in math like 'x + 1' would be
looked up in the environment, i.e. equivalent to '$x + 1'. This appears
to have been done for performance. However this breaks the orthogonality
of fish; performance is not a sufficient justification to give math this
level of built-in power, especially because the performance of math is
not a bottleneck. The implementation is also ugly.

Remove this feature so that variables must be prefixed with the dollar
sign and undergo normal variable expansion. Reading 'git grep' output
does not show any uses of this in fish functions or completions.

Also added to changelog.

Fixes #4393
2017-12-17 12:40:09 -08:00
Fabian Homborg
4553a74933 Clarify CHANGELOG RE bracketed paste and iTerm 2017-12-17 21:35:35 +01:00
Ron Gebauer
7aaf897a72 Add modified completion for git diff (#4592)
* Add modified completion for git diff

* Add modified completion for git diff
2017-12-12 22:16:43 +01:00
ridiculousfish
c077aae022 Add glob changes to CHANGELOG
This records the glob changes from #4579 in the changelog
2017-12-10 20:54:59 -08:00
ridiculousfish
879c62cbe1 Note that bracketed paste is disabled for iTerm in CHANGELOG 2017-12-04 22:52:57 -08:00
Ron Gebauer
a4fced2a8b Create jhipster.fish
Add completion for jhipster
2017-11-26 19:21:46 -08:00
Ron Gebauer
ce4fdbaf7c Create bd.fish
Add completion for bd, per https://github.com/0rax/fish-bd
2017-11-26 19:21:37 -08:00
David Adam
77cd0c1bf8 Merge branch 'Integration_2.7.0' 2017-11-24 19:16:24 +11:00
David Adam
e8f0ec0009 CHANGELOG: update for 2.7.0 2017-11-23 13:45:49 +08:00
ridiculousfish
51d34e1960 Add wait command to Changelog 2017-11-16 10:54:04 -08:00
David Adam
6a878e45e7 CHANGELOG: updates to 2.7b1 2017-10-31 20:24:03 +08:00
Mahmoud Al-Qudsi
98eceba124 Include flatpak improvements in Changelog for 2.7.0b1
(cherry picked from commit 03366333b2)
2017-10-11 06:27:53 +02:00
Mahmoud Al-Qudsi
03366333b2 Include flatpak improvements in Changelog for 2.7.0b1 2017-10-11 06:27:15 +02:00
Mahmoud Al-Qudsi
109769a147 Update Changelog.md to reflect new read builtin behavior 2017-10-10 08:23:23 +02:00
Mahmoud Al-Qudsi
ec56b632f5 Add read to stdout improvement to README.md 2017-10-10 08:23:23 +02:00
Mahmoud Al-Qudsi
e99f137356 Merge branch 'master' into history-glob-search 2017-10-10 08:16:21 +02:00
Mahmoud Al-Qudsi
11ede92d3f Include bind changes in Changelog for 3.0b1 2017-10-03 11:20:17 +02:00
Mahmoud Al-Qudsi
d6cd98320d Update Changelog with completion changes not in 2.7.0 2017-09-26 16:01:42 -05:00
Mahmoud Al-Qudsi
42860da8ba Updated changelog for 2.7.0b1 from Integration_2.7.0
Squashed commit of the following:

commit fb252e6e10
Author: Mahmoud Al-Qudsi <mqudsi@neosmart.net>
Date:   Tue Sep 26 15:52:23 2017 -0500

    CHANGELOG.md: kdeconnect-cli, not kdecomplete

commit e031d91c19
Author: Mahmoud Al-Qudsi <mqudsi@neosmart.net>
Date:   Tue Sep 26 15:49:59 2017 -0500

    fixup! Updated changelog with info about all new and updated completions since 2.6.0

commit 6366a67c21
Author: Mahmoud Al-Qudsi <mqudsi@neosmart.net>
Date:   Tue Sep 26 15:36:37 2017 -0500

    fixup! Updated changelog with info about all new and updated completions since 2.6.0

commit 281be31eb3
Author: Mahmoud Al-Qudsi <mqudsi@neosmart.net>
Date:   Tue Sep 26 15:21:01 2017 -0500

    Updated changelog with info about all new and updated completions since 2.6.0
2017-09-26 16:01:01 -05:00
Mahmoud Al-Qudsi
fb252e6e10 CHANGELOG.md: kdeconnect-cli, not kdecomplete 2017-09-26 15:52:32 -05:00
Mahmoud Al-Qudsi
e031d91c19 fixup! Updated changelog with info about all new and updated completions since 2.6.0 2017-09-26 15:49:59 -05:00
Mahmoud Al-Qudsi
6366a67c21 fixup! Updated changelog with info about all new and updated completions since 2.6.0 2017-09-26 15:36:37 -05:00
Mahmoud Al-Qudsi
281be31eb3 Updated changelog with info about all new and updated completions since 2.6.0 2017-09-26 15:21:01 -05:00
David Adam
bcd9c39509 Rename FISH_HISTORY to fish_history
Work on #4414.

(cherry picked and edited from commit
472e186c2b)
2017-09-24 14:30:50 +08:00
David Adam
472e186c2b Rename FISH_HISTORY to fish_history
Work on #4414.
2017-09-24 14:07:45 +08:00
Kurtis Rader
65dcd06ca1 mplement history search glob searches
Instead of treating the search term as a literal string to be matched
treat it as a glob. This allows the user to get a more useful set of
results by using the `*` glob character in the search term.

Partial fix for #3136
2017-09-15 13:43:45 -07:00
Kurtis Rader
905766fca2 Hoist for loop control var to enclosing scope (#4376)
* Hoist `for` loop control var to enclosing scope

It should be possible to reference the last value assigned to a `for`
loop control var when the loop terminates. This makes it easier to detect
if we broke out of the loop among other things.  This change makes fish
`for` loops behave like most other shells.

Fixes #1935

* Remove redundant line
2017-09-08 21:14:26 -07:00
Alexey Alekhin
6368bebf12 Added sbt to the list of new completions
Also fixed sublist indentation and removed periods for formtatting consistency

(cherry picked from commit 75dd852340)
2017-09-01 23:30:59 +08:00
Alexey Alekhin
75dd852340 Added sbt to the list of new completions
Also fixed sublist indentation and removed periods for formtatting consistency
2017-08-30 00:12:20 -07:00
Kurtis Rader
8fe1108cec Update changelog to mention math builtin 2017-08-24 10:26:46 -07:00
Radek SPRTA
04bd4c4b4e Fix apt subcommand option completions
(cherry picked from commit 27d7feaf95)
2017-08-22 21:47:04 -07:00
Radek SPRTA
27d7feaf95 Fix apt subcommand option completions 2017-08-22 21:46:28 -07:00
Kurtis Rader
ba53242b26 Report error when using read-only var in for loop
Using a read-only variable like `status` as a for loop control variable
has never worked. But without this change you simply get non-sensical
behavior that leaves you scratching your head in puzzlement. This change
replaces the non-sensical behavior with an explicit error message.

Fixes #4342
2017-08-20 12:02:45 -07:00
Kurtis Rader
b1ac07a178 Reduce overhead of setting fish vars
The `react_to_variable_change()` function is called whenever a fish var
is set. Even as a consequence of statements like `for x in a b c`. It is
therefore critical that that function be as fast as possible. Especially
when setting the var doesn't have any side-effects which is true something
like 99.9999% of the time.

This change reduces the overhead of `react_to_variable_change()` to
unmeasurable levels. Making the synthetic benchmark in issue #4341
36% faster.

Fixes #4341
2017-08-18 20:13:13 -07:00
Kurtis Rader
4b51e0f935 Fix typo in xdg-mime completion functions 2017-08-17 10:56:18 -07:00
Kurtis Rader
bf3731bed4 Update changelog 2017-08-17 10:31:48 -07:00
Kurtis Rader
3a506543b6 Merge branch 'master' into major 2017-08-07 18:52:00 -07:00
Radek SPRTA
74cac0f86f completions for snap command 2017-08-07 18:47:37 -07:00
Kurtis Rader
55bef3cd2e remove deprecated . (dot) command
Fixes #4294
2017-08-07 18:31:20 -07:00
Kurtis Rader
67de733b9b implement set --append and set --prepend
Fixes #1326
2017-08-04 17:23:24 -07:00
Kurtis Rader
ec884f4bfd Merge branch 'master' into major 2017-08-03 19:02:33 -07:00