Kurtis Rader
d4fb75e9f3
fix bug in abbr
function
...
I introduced a bug in the `abbr` function with commit 17dff8c
by
referencing the undefined `$cmd` variable. This fixes that.
2017-08-03 23:52:07 -07:00
Kurtis Rader
17dff8c569
rewrite abbr
function
...
Rewrite the `abbr` function to store each abbreviation in a separate
variable. This greatly improves the efficiency. For the common case
it is 5x faster. For pathological cases it is upwards of 100x faster.
Most people should be able to unconditionally define abbreviations in
their config.fish without a noticable slow down.
Fixes #4048
2017-08-03 14:35:06 -07:00
Kurtis Rader
1a55e9ba60
Merge branch 'master' into major
2017-07-29 21:58:15 -07:00
Kurtis Rader
4e026588f4
modify prev commit to use builtin cd
...
Using the `cd` function can have undesirable side effects like mucking
with the directory history. So force the use of the builtin cd.
2017-07-27 14:36:32 -07:00
Kurtis Rader
defdc92b57
fix ssh config Include
file handling
...
Fixes #4253
2017-07-27 14:36:32 -07:00
Kurtis Rader
92f39f7b89
fix bug introduced by commit 86af63cd3
2017-07-25 14:03:40 -07:00
Kurtis Rader
35a7db50a2
fix bug introduced by commit 86af63cd3
2017-07-25 14:02:50 -07:00
Kurtis Rader
8e87d595b7
remove some uses of $IFS
...
This is a step towards resolving issue #4156 . It replaces uses of `$IFS`
with other solutions.
2017-07-24 20:45:43 -07:00
Kurtis Rader
d068f846e8
simplify history
function
...
The fix for #4232 allows us to simplify the `history` function slightly.
2017-07-21 16:26:15 -07:00
Kurtis Rader
d376cb316f
simplify history
function
...
The fix for #4232 allows us to simplify the `history` function slightly.
2017-07-21 16:25:03 -07:00
Fabian Homborg
e0f0164b16
Quote $USER when used with switch
or test
...
Common in prompts, this would fail if $USER is empty.
See #4229 .
2017-07-20 19:45:32 +02:00
Kurtis Rader
0dc92fbb2d
a make style-all
cleanup
2017-07-18 22:40:25 -07:00
Kurtis Rader
69ecda5082
update math
to use the new argparse validation
2017-07-18 15:03:08 -07:00
Kurtis Rader
4e1303823b
add ability for argparse
to validate args
...
Fixes #4211
2017-07-18 14:42:50 -07:00
Kurtis Rader
403d9691cb
fix handling of ssh
aliases
...
Fixes #4213
2017-07-17 21:13:21 -07:00
Kurtis Rader
8f22def8f7
return to psub --file
being the default
...
The recent change to switch `psub` to use `argparse` caused it to use
a fifo by default because it inadvertently fixed a long standing bug in
the fish script. This changes the behavior back to `psub --file` being
the default behavior and introduces a `--fifo` flag. It also updates the
documentation to make it clearer when and why `--fifo` mode should not
be used.
Fixes #4222
2017-07-17 14:33:51 -07:00
Kurtis Rader
3e226f0a5e
implement a new implicit int option spec
...
While updating the `history` function to use `argparse` I realized it is
useful to define an option that can be used in three ways. First by
using the short flag; e.g., `-n NNN`. Second by using the long flag;
e.g., `--max NNN`. Third, as an implicit int flag; e.g., `-NNN`. This
use case is now supported by a spec of the form `n#max`.
2017-07-16 18:27:41 -07:00
Kurtis Rader
c22df3b823
update history
to use argparse
2017-07-16 15:13:39 -07:00
Kurtis Rader
f2c8e73891
add more alias unit tests
...
A recent regression to the `alias` command points out the need for more
unit tests of its behavior. I also decided to use it as an opportunity
to normalize the output of just `alias` to list aliases.
2017-07-15 17:36:36 -07:00
Kurtis Rader
98449fec51
fix math
regression
...
The previous change to use `argparse` for parity with every other
builtin and function introduced a regression. Invocations that start
with a negative number can fail because the negative value looks like an
invalid flag.
2017-07-14 16:03:31 -07:00
Kurtis Rader
ff4d275f22
remove left over debug statement
2017-07-14 08:18:41 -07:00
Kurtis Rader
49a0841533
update type
to use argparse
2017-07-13 15:19:02 -07:00
Kurtis Rader
51bbecc419
update realpath
to use argparse
2017-07-13 14:33:11 -07:00
Kurtis Rader
3e6c57d5d3
update psub
to use argparse
2017-07-13 14:12:51 -07:00
Kurtis Rader
30940916bd
update prompt_pwd
to use argparse
2017-07-13 14:12:51 -07:00
Kurtis Rader
51a52a7286
update open
to use argparse
2017-07-13 14:12:51 -07:00
Kurtis Rader
e8243af20b
update math
to use argparse
2017-07-13 14:12:47 -07:00
Kurtis Rader
140e6204be
update help
to use argparse
2017-07-13 13:49:15 -07:00
Kurtis Rader
86af63cd39
update funcsave
to use argparse
2017-07-13 13:35:26 -07:00
Kurtis Rader
6ecd0bcb32
update funced
to use argparse
2017-07-13 13:29:35 -07:00
Kurtis Rader
df65ed8696
update dirs
to use argparse
2017-07-13 11:53:29 -07:00
Kurtis Rader
30baf8d101
convert dirh
to use argparse
2017-07-13 11:50:57 -07:00
Kurtis Rader
f156bea1b7
convert alias
to use argparse
2017-07-13 11:47:41 -07:00
Kurtis Rader
05aae4764b
convert popd
and pushd
to use argparse
2017-07-13 11:31:08 -07:00
Kurtis Rader
5ac8c42fad
convert nextd
to use argparse
...
Also fix a bug I introduce in `prevd` when I converted it to use `argparse`.
2017-07-13 11:30:48 -07:00
Kurtis Rader
3a782003ed
have argparse report the proper command name
2017-07-12 22:38:32 -07:00
Kurtis Rader
abef2cc422
convert nextd
to use argparse
2017-07-12 22:38:32 -07:00
Kurtis Rader
5cf2a50269
convert isatty
to use argparse
2017-07-12 22:38:32 -07:00
Kurtis Rader
3c4e3035fd
switch from getopt
to argparse
...
Convert our two functions that use `getopt` to use our new `argparse`
builtin.
Fixes #4190
2017-07-12 22:38:32 -07:00
Kurtis Rader
a4dc2b872b
implement fish_opt
helper command
...
This implements a `fish_opt` command that provides a way for people
to create option specs for the `argparse` command as an alternative to
creating such strings by hand.
Fixes #4190
2017-07-12 22:38:32 -07:00
David Marchal
e1951a32bb
Fixed __fish_complete_users to better format GECOS
2017-07-11 17:00:08 +02:00
Kurtis Rader
8cc4639ea6
implement cdh
command
...
Fixes #2847
2017-07-05 13:25:18 -07:00
tamanugi
170f11771b
Add function __fish_complete_user_at_hosts
...
This function list hostnames;
if commandline hoge@~ , it list hoge@(hostname)
2017-07-05 16:24:45 +02:00
Kurtis Rader
4853ec0281
harden psub
again an undef TMPDIR
2017-07-04 16:35:32 -07:00
Kurtis Rader
8caab103d8
harden man
against undef vars
2017-07-04 13:56:35 -07:00
Kurtis Rader
2df89f4b0f
check if $fish_color_cancel is set before using it
2017-07-04 13:56:35 -07:00
Fabian Homborg
9fb7037174
fish_key_reader: Add --version option
...
This should be there anyway, and we try to find fish_key_reader for
.app bundles, so this stops us from defining aliases to the command.
See #4179 .
2017-07-04 22:55:47 +02:00
Kurtis Rader
f6d101e7ad
fix undef var reference in history
...
The change for issue #4163 brought to light the pointless attempt to use
`$_` in the `history` function.
2017-07-03 16:26:27 -07:00
Kurtis Rader
0ec9acf0f0
harden abbr
against undef vars
...
This is only needed if we make undefined vars an error as proposed in
issue #4163 but it's a good idea anyway.
2017-07-03 13:05:50 -07:00
Kurtis Rader
763063e741
more changes to better handle undef vars
...
This is only needed if we make undefined vars an error as proposed in
issue #4163 but it's a good idea anyway.
2017-07-03 10:16:31 -07:00
Kurtis Rader
ea38519a12
fix var name in __fish_git_prompt
...
Var `___git_ps_color_suffix_done` is supposed to be
`___fish_git_prompt_color_suffix_done`. This bug was found by an
experimental change to detect the use of undefined variables (#4163 ).
Similarly, we should simply test whether `__fish_git_prompt_showcolorhints`
is set rather than set to a non-empty string.
2017-07-02 20:49:40 -07:00
Kurtis Rader
85b42b22f4
define __fish_active_key_bindings before using it
2017-07-02 13:41:40 -07:00
Kurtis Rader
3284393aba
cleanup some undefined var references
...
Testing a fix for #4163 revealed some questionable dereferencing of
variables that are not certain to be defined.
2017-07-02 13:41:40 -07:00
Fabian Homborg
db529f06b8
type: Use command -a
2017-06-28 23:13:36 +02:00
Kurtis Rader
bb29f9f990
replace __fish_urlencode with string escape
...
We now have a builtin that can do URL escaping so use it. I can't find
any uses of our private `__fish_urlencode` function in any Oh-My-Fish or
Fisherman code so remove it.
2017-06-23 22:46:36 -07:00
Kurtis Rader
30368d5526
implement status function
when in a breakpoint
...
Another step to fixing #1310 . This changes means that `status -L0
function` reports the correct function when inside a breakpoint.
2017-06-23 22:14:21 -07:00
Kurtis Rader
df01547eab
implement the fish_breakpoint_prompt
function
...
This is another step to resolving issue #1310 . It makes
`fish_breakpoint_prompt` a replacement for `fish_prompt` if it is defined
and we're presenting a prompt in the context of a `breakpoint` command.
2017-06-20 17:18:59 -07:00
Kurtis Rader
af22bf3501
style cleanups (make style-all)
2017-06-16 21:01:57 -07:00
Fabian Homborg
cec2999983
Allow help
to open the tutorial
...
This is unambiguous because all the anchors in tutorial.html begin
with "tut".
2017-06-14 13:52:24 +02:00
Dale Eidd
2b4f61f294
Fix echo "no wildcard match" complaints for ssh completions etc
2017-06-10 14:06:20 +02:00
Dale Eidd
5b3904e66b
Fix not including main ssh config in host names search
2017-06-10 14:06:20 +02:00
Kurtis Rader
1f24432172
fix typo in error message
2017-06-09 12:12:36 -07:00
Kurtis Rader
352cea1659
disable/enable bracketed paste by edit cmd buf
...
We need to disable/enable bracketed paste mode around running the editor
from within the `edit_command_buffer` function.
2017-06-05 11:32:06 -07:00
Kurtis Rader
5ef8b91db8
fix three explicitly translated messages
2017-06-02 20:40:58 -07:00
Kurtis Rader
b8aacc29cd
remove redundant output from __fish_complete_cd
...
Fixes #4085
2017-06-01 18:55:41 -07:00
Kurtis Rader
ee646c8dd0
move set -l
to top of function
...
Fixes #4091
2017-06-01 17:58:29 -07:00
Martin Pelikan
65b0b947c9
Remove redundant/non-existent bind forward-kill-word
2017-06-01 17:50:05 -07:00
Kevin Ballard
3061eed647
Fix usage of osascript in help
...
Work around a macOS osascript bug in 10.12.5 which prevented help from
working. See #4035 .
2017-05-31 23:01:31 +08:00
Kevin Ballard
5c140e5570
Revert "Use open instead of osascript in help"
...
This reverts commit f234637e53
.
2017-05-31 23:01:31 +08:00
ridiculousfish
f234637e53
Use open instead of osascript in help
...
Work around a macOS osascript bug in 10.12.5 which prevented help
from working. Fixes #4035 .
2017-05-30 20:53:59 +08:00
Fabian Homborg
0fc9ec5538
type: Fix "-a"
...
This matched _all_ executable commands, where it should only match all
executable commands _with the given name_.
Fixes #4070 .
2017-05-26 23:58:35 +02:00
Kevin Ballard
9bc1b44b0d
Handle missing groff macro in __fish_print_help
...
The Xcode installation of Fish is missing the groff macro used by
`__fish_print_help`. This caused e.g. `status -h` to stop working.
Fixes #4058 .
2017-05-23 19:57:18 -07:00
Kevin Ballard
4ff002b9fb
Turn off bracketed paste when Fish exits
2017-05-23 17:36:09 -07:00
Fabian Homborg
036b708d99
help: Properly error out when no browser is found
...
See #4045 .
2017-05-18 22:51:57 +02:00
Sven Sternberger
cbd9181b7e
Update __fish_print_hostnames.fish
...
For Ubuntu the default global known host files are :
/etc/ssh/ssh_known_hosts
/etc/ssh/ssh_known_hosts2
2017-05-17 16:59:18 +02:00
Jonas Damtoft
573c539956
Gradle-completions for gradle tasks ( #3972 )
...
* Implement https://github.com/hanny24/gradle-fish/blob/master/gradle.load
* Use XDG_CACHE_HOME
* Use __funced_md5
* Fix fish_md5.fish
* Actually use the new function.
* Use string match for matching tasks
* I goofed. Actually pass a string to complete -a
* Fix attempt to remove needed function...
* Fix regex
* Fix fish_md5.fish to use a flag
2017-05-13 13:28:32 +02:00
Fabian Homborg
573e1ad4b1
type: Remove TODO
...
[Ci skip]
2017-05-11 15:24:47 +02:00
Fabian Homborg
f5fac096c0
Don't move cursor in delete-char
...
Instead, move forward and backward in vi-mode.
Fixes #3899 .
2017-04-28 22:53:03 +08:00
Fabian Homborg
77201ade34
__fish_complete_users: Also test for command, not path
2017-04-25 17:36:22 +02:00
Fabian Homborg
49d3a58a9e
__fish_complete_users: Use command
, not a hardcoded path
2017-04-25 12:47:23 +02:00
Kurtis Rader
37508d1f1e
refactor the __*_users functions
...
Per my comment in issue #3980 this implements `__fish_print_users` in
terms of `__fish_complete_users` so we don't have to modify both when a
change to how users are enumerated is needed.
2017-04-23 20:08:40 -07:00
Christian Rondeau
bea0b17c9e
Aucompletion guards for /etc/passwd #3980
2017-04-23 19:41:07 -07:00
Fabian Homborg
ec92e91ddc
fish_clipboard_paste: Turn \r into \n
...
We already do this in bracketed-paste because it's really confusing to
have a \r literal in the commandline.
2017-04-23 13:40:40 +02:00
Fabian Homborg
cc7d83fa94
fish_clipboard_paste: Fix multiline pasting
2017-04-23 13:38:32 +02:00
Fabian Homborg
17ba21cfe4
Fix pasting backslashes
...
Another missing escape.
Fixes #3981 .
2017-04-23 13:32:24 +02:00
Fabian Homborg
805a177673
__fish_config_interactive: Prefer python3
...
Also includes the CHANGELOG.
2017-04-21 13:45:49 +02:00
Fabian Homborg
e410d47565
fish_config: Pick a python
...
Also remove a use of `eval` and `string escape`.
Fixes #3970 .
2017-04-21 13:45:49 +02:00
Fabian Homborg
7ef2d5e86f
fish_update_completions: Pick a python
...
This removes a need for packagers to either patch our shebangs or pick
a particular python.
This was already done in __fish_config_interactive (where we need to
duplicate the code because it involves backgrounding).
Work towards #3970 .
2017-04-21 13:45:49 +02:00
Kurtis Rader
b9d2e4d897
fix fish greeting regression
...
Fixes #3973
2017-04-20 20:17:50 -07:00
Francisco Giordano
349eff0df7
change cancel_commandline function to use color from variable
...
This allows the user to define how they want the "^C" rendered when a
pending command line is interrupted.
2017-04-17 21:16:42 -07:00
Ivan Trubach
a9db99ac52
Rename replace-one to replace_one
...
Fixes invalid character in variable name $fish_cursor_replace-one (used by fish_vi_cursor[_handle]) by renaming bind mode 'replace-one' to 'replace_one'.
2017-04-17 21:10:23 -07:00
Adam Byrtek
dd69ca5a81
Warn when function is not modified by the editor after calling funced
( #3961 )
...
* Check whether tmp file was modified in `funced`
* More idiomatic error messages
* Store the checksum in a local variable
* MD5 function supporting both GNU and BSD
* Use `else if` in MD5 function
* Use `string` builtin instead of `cut`
2017-04-17 17:18:02 +02:00
Kurtis Rader
dcc081a594
mark __fish_sgrep as deprecated
...
Fixes #2450
2017-04-15 21:51:33 -07:00
Kurtis Rader
75f1e36b44
a step to remove __fish_sgrep per issue #2450
2017-04-15 21:49:08 -07:00
Kurtis Rader
3463e81dda
a step to remove __fish_sgrep per issue #2450
2017-04-15 20:04:43 -07:00
Kurtis Rader
0be8d0d385
another __fish_sgrep replacement
2017-04-13 23:14:36 -07:00
Kurtis Rader
da09a915f2
improve __fish_complete_directories
function
...
Reviewing a PR for a completion script caused me to look at the
implementation for the `__fish_complete_directories` function. Which in
turn lead me to create this change to improve its implementation and add
unit tests for the function.
2017-04-11 13:45:53 -07:00
Kurtis Rader
75600b6b53
fix setenv
and add unit tests
...
Fixes #3937
2017-04-05 15:31:13 -07:00
Kurtis Rader
62244f01c2
fix umask
handling of symbolic modes
...
This fixes the handling of symbolic umask values. It also removes two
invocations of `perl` and all but two `math` commands.
Fixes #738
2017-03-28 16:28:24 -07:00
Fabian Homborg
4b9424eb20
type: Minor reformatting
...
Empty lines after `if` and `if begin`.
2017-03-28 15:55:10 +02:00