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
Fabian Homborg
c4d69ea8a1
type: Rewrite option parsing
...
Removes a call to `seq` and makes it a bit more readable.
2017-03-28 15:55:10 +02:00
Fabian Homborg
a3f28e221f
type: Remove need for which
...
This should be completely equivalent without needing an external command.
2017-03-28 15:55:02 +02:00
Fabian Homborg
3d6c4adda9
Fix unescaped ' literals in bracketed-paste
...
This was a case of a missing \\.
Fixes #3913 .
2017-03-26 09:33:11 +02:00
Fabian Homborg
70354f9f5e
Add bind --list-modes option
...
Fixes #3872 .
2017-03-20 16:42:53 +01:00
Kurtis Rader
536b1220fd
cleanup __fish_complete_man.fish
...
I looked at this and noted some problems fixed by this change in
response to exploring if issue #726 was still unresolved.
2017-03-18 21:55:02 -07:00
Fabian Homborg
b6517250c7
vi-mode: \cd should do delete-or-exit
...
This just removes the special vi binding and hence falls back upon the
shared one.
Fixes #2219 .
2017-03-17 12:07:10 +01:00
Fabian Homborg
99e87dded3
Auto-escape pastes inside single-quotes
...
This is to make pasting literals easier.
When a user pastes something, we normally take it as-is.
The exception is when a single-quote is open, e.g. the current token
is
foo'bar
When something is pasted here, we escape single-quotes (`'`) and
backslashes (`\\`), so typing a `'` after it will turn it into a
literal token.
Fixes #967 .
2017-03-16 16:08:13 +01:00
Kurtis Rader
6123d3cb50
document trap ... EXIT
...
Fixes #1180
2017-03-14 21:02:02 -07:00
Kurtis Rader
085a9b9267
fix stupid typo introduced by d9b30ab09
2017-03-14 13:17:53 -07:00
Kurtis Rader
d9b30ab090
setenv
should behave like export
...
Fixes #3897
2017-03-14 12:14:22 -07:00
Fabian Homborg
db63be7909
Add support for bracketed paste
...
This is a terminal feature where pastes will be "bracketed" in
\e\[200~ and \e\[201~.
It is more of a "security" measure (since particularly copying from a
browser can copy text different from what the user sees, which might
be malicious) than a performance optimization.
Work towards #967 .
2017-03-06 00:19:46 +01:00
Dan Zimmerman
f17ddb6770
Fix error when using tmux with vi mode
2017-02-28 19:05:05 +01:00
Kurtis Rader
9dd0c47d0b
harden alias
against foo; bar
...
If the first word of the alias body ends with a semicolon we need to
strip that character, and otherwise escape the extracted command, to
ensure the subsequent function definition is valid.
Fixes #3860
2017-02-20 20:23:55 -08:00
Fabian Homborg
0a8c922d92
Use command -sq instead of redirection
...
This option has been available for a while now and it's a bit shorter.
2017-02-18 22:16:55 +01:00
David Adam
40de253b3a
Upgrade git:// and http:// URLs to https://
...
Work on fish-shell/fish-site#47
[ci skip]
2017-02-17 21:31:44 +08:00
Alan Somers
ad6ea1691e
Fix "mount -t" completions on non-Linux OSes
...
AFAICT Linux alone uses the "mount.XXX" convention for mount helpers.
Illumos, Irix, HPUX, OSX, and the BSDs all use "mount_XXX".
Fixes issue #3841
2017-02-12 18:05:37 -08:00
Kurtis Rader
813415302a
fix clear screen invocation
...
It's necessary to use a subcommand to eat the newline that `string
replace` appends to the string.
2017-02-12 14:12:12 -08:00
Clément Martinez
cbea0b9378
mount & udisksctl: improve -o
completions` ( #3764 )
...
* mount & udisksctl: improve `-o` completions`
* Update __fish_complete_mount_opts
2017-02-12 15:23:41 +01:00