Commit graph

996 commits

Author SHA1 Message Date
Fabian Homborg
0a99772572 Rewrite __fish_complete_cd
This no longer uses "eval" (which is scary), and is a bit shorter (which
is nice).

Fixes #2299
Fixes #952

Improves #2300
Improves #562
2015-10-07 10:41:05 +02:00
Ian Ray
16061d06a9 prompt_pwd: zero fork prompt in general case
Now only one fork (uname) occurs on first load.
2015-10-04 12:36:49 +02:00
Fabian Homborg
b9b39f7c31 Replace sed -E with string replace
This is to the benefit of systems with ancient GNU sed, which does not
recognize "-E", but only "-r".

Fixes #2305 - even if it doesn't replace all `sed -E` invocations in the
codebase, the others are unlikely to occur on CentOS and other similarly
crusty systems.
2015-09-28 20:06:20 +02:00
Fabian Homborg
126c8c14b8 machinectl: Add "shell" subcommand 2015-09-28 16:22:29 +02:00
Fabian Homborg
3992315505 Normalize cabal* completion 2015-09-28 16:08:01 +02:00
Fabian Homborg
eb4e4fa7ad Normalize aura completions
Also fixes bug related to repo listings
2015-09-28 15:39:51 +02:00
Fabian Homborg
aa37b40d93 __fish_hg_prompt: Clean up a bit
`sort -u | uniq` is completely redundant, calling grep for every
status-pair is unnecessary, `contains` doesn't take the word "in" as
special.

None of these are critical and there's basically no performance benefit
since this function is utterly dominated by hg calls.
2015-09-27 16:30:37 +02:00
Fabian Homborg
8eccf8a6f7 __fish_hg_prompt: Remove explicit root check again
This doesn't add anything except slowing the function down by about
33%. Checking for a branch is just as good and that is displayed in the
prompt anyway.
2015-09-27 16:23:11 +02:00
Fabian Homborg
2334374fd6 math: Avoid calling env 2015-09-27 12:51:24 +02:00
Fabian Homborg
95908aa2bc __fish_hg_prompt: Only show current bookmark 2015-09-26 21:52:20 +02:00
Fabian Homborg
a19f4dd4c8 __fish_hg_prompt: Add bookmark support 2015-09-26 20:41:18 +02:00
Fabian Homborg
eadd4d9b71 __fish_hg_prompt: Bail early if not in a hg repo 2015-09-26 20:40:48 +02:00
Fabian Homborg
5bb81461f6 Normalize ls completions and bring them up-to-date
This adds the --group-directories-first option for GNU ls and fixes a
typo in --block-size (not --blocksize).

Fixes #2425.
2015-09-26 11:40:04 +02:00
Fabian Homborg
d591cebf44 Introduce __fish_print_pacman_repos helper
This is used in at least 4 places, all of which have a bug in that they
print "options" as a valid repo. It seems better to fix it once,
especially given that there are tons of AUR helpers and pacman wrappers,
all of which might need this info.
2015-09-25 13:37:39 +02:00
Fabian Homborg
f24d5cb5f0 __fish_print_{addresses,interaces}: Better OSX/BSD 2015-09-24 15:32:15 +02:00
Fabian Homborg
79c22c76bf __fish_print_{addresses,interfaces}: Add alternative to net_tools
net_tools, which provides `ifconfig` and `netstat`, among other things,
has last been updated in 2013. This means `ifconfig` on linux is
basically dead.

Instead of ifconfig, use `ip` (from iproute2), which is much more powerful and
provides a much more annoying commandline syntax.

Instead of netstat, just look at /sys/class/net.
2015-09-24 15:32:15 +02:00
Fabian Homborg
20e96df85d export: Enable values with "=" in them
Only split on the first "=" to achieve this.

Closes #2403
2015-09-24 15:28:58 +02:00
Fabian Homborg
54d1d98e39 Fix aliases with whitespace
And document how that stuff works.

Fixes #2220

Also, the string stuff is cool.
2015-09-23 13:28:32 +02:00
Fabian Homborg
6f92781992 Refactor *vi* completions, add nvim wrapper
This assumes `vim` is always vim (or close enough, nvim should also
work), while `vi` could be either.

Fixes #2416
2015-09-23 12:59:05 +02:00
Fabian Homborg
56399b9aa3 systemctl completions: Show instanced services
This unfortunately requires us to do two systemctl calls, but it's still
pretty fast.
2015-09-17 18:16:56 +02:00
Fabian Homborg
b231ab7238 Allow set_color options in general for linux VTs 2015-09-10 15:12:02 +02:00
Fabian Homborg
40df11b162 Also allow bold, underline and printing colors in linux kernel VTs
bold works, printing colors doesn't change anything and underline
doesn't _break_.
2015-09-10 12:27:09 +02:00
Fabian Homborg
bffeb664cc Add __fish_sgrep
Missed in b85a8bb because of `git commit -a`.

Fixes #2372
2015-09-09 21:52:18 +02:00
Fabian Homborg
b85a8bbbfe Rename sgrep to __fish_sgrep
Makes it harder to cause issues with aliases, see fish-shell#2245
2015-09-09 20:55:04 +02:00
Fabian Homborg
cb5511c8db Vcs prompt: Break if vcs isn't installed
Prevents an annoying error message.
Fixes #2363.
2015-09-06 14:58:09 +02:00
Fabian Homborg
f3695b95fc Use $VISUAL before $EDITOR in funced
Closes #2268
2015-09-02 13:55:59 +02:00
Fabian Homborg
5f080fcfc9 Load fish_user_key_bindings for any binding (including vi)
fish_user_key_bindings is the user's, and they should know if they want
vi-ish bindings or emacs-ish (or nano-ish). If they want to define
multiple, they can also do that (e.g. via checking what
$fish_key_bindings is set to).

Fixes #2254

CC @kballard
2015-09-01 11:50:50 +02:00
Fabian Homborg
a21e44c155 Add escape sequences for arrows in some linux VTs
Why this is only in some, I don't know, but these don't seem to
interfere with anything.

Fixes #2309
2015-09-01 11:46:54 +02:00
Fabian Homborg
5043b9d06e Revert "Fix missing variable expansion $ in psub"
That change was a bit too eager as the mkfifo route doesn't currently work.

See #1040 and #2052.

This reverts commit a17b9fdaba.
2015-08-31 19:32:28 +02:00
Fabian Homborg
a17b9fdaba Fix missing variable expansion $ in psub 2015-08-31 19:24:48 +02:00
Fabian Homborg
2f3123e175 Make overriding cnf-handler work
See #1925: This allows users to disable the cnf-logic which can be quite
slow on small hardware (like a raspberry pi).

Squashed commit of the following:

commit 742a59e30d8db24b6bb5067d4204d4b5cc01c1c3
Author: Fabian Homborg <FHomborg@gmail.com>
Date:   Sun Aug 30 18:23:41 2015 +0200

    Erase startup cnf-handler early

    Simplifies the code a bit - in particular it removes the special-casing
    from the startup handler.

commit 638a97e7f31f302b65e044c93c638c03a69e31f5
Author: Fabian Homborg <FHomborg@gmail.com>
Date:   Mon Aug 24 20:14:46 2015 +0200

    Make overriding cnf-handler work

    Do this by renaming the __fish_command_not_found_handler used during
    startup to __fish_startup_command_not_found_handler. That allows us to
    check if __fish_command_not_found_handler has been defined and skip the
    setup of the normal one.

    Now disabling cnf-handling can be done via defining an empty
    __fish_command_not_found_handler in config.fish
2015-08-31 18:39:15 +02:00
Fabian Homborg
17c756971a Add a shell suspend function
Squashed commit of the following:

commit ede9e510751497d61ff0e78fd948e901171cf6f9
Merge: 938da30 239d2a2
Author: Fabian Homborg <FHomborg@gmail.com>
Date:   Thu Aug 6 18:47:43 2015 +0200

    Merge branch 'suspend' of https://github.com/mwm/fish-shell into suspend

commit 239d2a28e1
Author: Mike Meyer <mwm@mired.org>
Date:   Thu Aug 6 11:24:32 2015 -0500

    Handle interactive & login shells, SHLVL checks, and better message.

commit 6334047ebd
Author: Mike Meyer <mwm@mired.org>
Date:   Tue Aug 4 08:53:10 2015 -0500

    Add a description to suspend

commit 080458b31c
Author: Mike Meyer <mwm@mired.org>
Date:   Tue Aug 4 07:05:17 2015 -0500

    Add a shell suspend function
2015-08-30 18:42:35 +02:00
Fabian Homborg
f71e877f18 Improve situation for linux in-kernel VTs (TERM = "linux")
This adds a special colorscheme and prompt function guaranteed to work
on a VT and activates them automatically if $TERM = "linux".

set_color is overridden to only allow the 8 colors VTs have (under the
assumption those are always the same) and the color variables are
shadowed with global ones so they don't pollute our nice capable terms.
2015-08-30 18:30:03 +02:00
Annika Backstrom
d6c97a6a13 Fix spelling 2015-08-30 00:33:04 -04:00
Fabian Homborg
47b9993469 {prev,next}d-or-*-word: Fix for multiple lines
Fixes #2333
2015-08-26 21:30:04 +02:00
Fabian Homborg
7bfad18ec7 Make alt-arrow in iTerm2 do the same thing as elsewhere
nextd-or-forward-word and such

Fixes #1836
2015-08-25 13:49:40 +02:00
Jonas Hietala
5238ed309f Match the whole real home directory in prompt_pwd. 2015-08-08 23:19:01 +02:00
Nicholas Maccharoli
f6ab0b4d07 Making spacing of .fish files uniform. 2015-08-08 11:22:44 -07:00
Fabian Homborg
66f11e9bd3 vi-mode: Make \cc go to normal from insert mode
Keep the behavior for normal mode

Fixes #2228
2015-08-04 14:22:55 +02:00
David Adam
9b2a17eb1e functions/history.fish: whitespace only change
Run through fish_indent, mismatching indents actually confusing.

[skip ci]
2015-07-31 17:12:16 +08:00
David Adam
a7ecc0db1f functions/history.fish: validate command line arguments in wrapper
Closes #2055.

Implements the standard `--` option for delimiting options from
arguments; to search for "--", use `history --search -- --`.
2015-07-31 17:07:27 +08:00
David Adam
d1d36cc9af Merge branch 'death_of_mimedb' 2015-07-25 13:04:28 +08:00
PythEch
b32f770a69 Fix Unknown Signal 'winch'
Fixes an annoying error that affects machines with Turkish locales
2015-07-24 08:56:14 -07:00
David Adam
78d4f22ce4 __fish_print_mounted: expand scope on non-Linux platforms 2015-07-24 18:35:10 +08:00
Fabian Homborg
3925929979 Fix mountpoints with spaces on linux
Signed-off-by: David Adam <zanchey@ucc.gu.uwa.edu.au>
2015-07-24 18:33:35 +08:00
David Adam
6c668868e9 death of mimedb: remove mimedb from the tree 2015-07-23 14:35:35 +08:00
David Adam
6add8a7df9 open: drop mimedb dependency 2015-07-23 14:26:38 +08:00
David Adam
7fa69ef8be __fish_complete_suffix: don't provide file description by default
Drops dependency on the mimedb tool and reflects the changes made to the
default chooser for files in #279.
2015-07-23 14:26:38 +08:00
David Adam
f77f71c17e __fish_{filter,complete}_mime: drop from tree
These are undocumented and unused, and rely on mimedb which is being removed
from the tree.
2015-07-23 14:26:38 +08:00
Fabian Homborg
3b0805f4d7 Normalize *diff completions 2015-07-20 15:19:03 -07:00
Fabian Homborg
0c1485c325 Normalize *grep completions 2015-07-20 15:19:03 -07:00
Fabian Homborg
6475d763d0 Remove function and descriptions from rc-service completion
The descriptions are "Start: Start the service"
				 	 "Stop : Stop the service"
					 "Restart: Restart the service"
2015-07-20 15:19:03 -07:00
Fabian Homborg
7add4d5782 Normalize *tex completions 2015-07-20 15:19:03 -07:00
Fabian Homborg
f70b1ffbbf Normalize python* completion 2015-07-20 15:19:03 -07:00
Fabian Homborg
8a9b7dc63a Normalize *sum (md5sum et al) completions 2015-07-20 15:19:03 -07:00
Fabian Homborg
3f30096727 Normalize svn completion 2015-07-20 15:19:02 -07:00
Fabian Homborg
52ff997bf0 Normalize atool completions
Remove function, use wrapping.
2015-07-20 15:19:02 -07:00
ridiculousfish
2109af0987 Implement lowercase-r replace in fish_vi_mode
Fixes #1595
2015-07-20 00:29:08 -07:00
Fabian Homborg
882f4714ac pacman completion: Turn into regular completion
This used to be a function because we didn't have complete -w

Use that and it becomes a bit simpler.

This also simplifies the code in a few other ways (like removing a
useless-use-of-cat)
and adds comments about a few edgecases.
2015-07-19 18:03:01 -07:00
Fabian Homborg
616d848fac Add .fish suffix to funced's tempfile name
This allows editors (like emacs) to pick up on the fact that it's a fish script.
2015-07-19 17:22:09 -07:00
Jesse Nazario
466806fb11 ctrl-p as up-or-search and ctrl-n as down-or-search 2015-07-19 17:13:44 -07:00
Vladimir Rudnyh
d49f6e1b29 __fish_git_prompt: fix stateseparator color in informative_status
In informative_status mode stateseparator did not use
fish_git_prompt_color settings.
2015-07-12 14:53:52 -07:00
David Woods
4a3cda1495 update function parameter for EXIT signal
changed `function __trap_handler_EXIT --on-exit %self` to `function __trap_handler_EXIT --on-process-exit %self`

I'm guessing the on-exit syntax was from an older version? Trapping EXIT with that syntax caused errors.
2015-07-12 14:21:05 -07:00
Derek Harland
05daedf7c6 Improve dirs output and add -c option
Adds behaviour similar to bash:
- shorten dirs output by representing $HOME as ~;
- provide a '-c' option to clear the stack
2015-07-12 12:20:44 -07:00
Derek Harland
f07d59c55d Alter pushd to add more bash-like behaviour
The following behaviour is added:
- an empty pushd exchanges the top two directories in the stack;
- pushd +<n> rotates the stack so that the n-th directory (counting from the left of the list shown by dirs, starting with zero) is at the top;
- pushd -<n> rotates the stack so that the nth directory (counting from the right of the list shown by dirs, starting with zero) is at the top.
2015-07-12 11:57:14 -07:00
Fabian Homborg
25d19f7d63 Add completions for systemd's machinectl 2015-07-02 14:36:48 +08:00
David Adam
976ce1e8fd Add completions for Debian's Apache tools, a2{en,dis}{mod,conf,site}
Work on #2141.
2015-06-26 16:14:01 +08:00
David Adam
7d94b7fd1b __fish_print_hostnames: ignore errors from getent
Closes #2137.
2015-06-19 16:42:48 +08:00
ridiculousfish
4115a2f2d1 Tweak and add tests for abbr
1. When run with no arguments, make abbr do the equivalent
   of `abbr --show`
2. Enable "implicit add", e.g. `abbr gco git checkout`
3. Teach `abbr --show` to not use quotes for simple cases
4. Teach abbr to output -- when the abbreviation has
   leading dashes

Add some basic tests to abbr too.
2015-06-14 14:12:29 -07:00
ridiculousfish
767742c7e7 Rework how the mode is reported in fish_vi_mode
Add a new function fish_mode_prompt which (if it is defined) has its output
prepended to the left prompt. Rather than replacing the prompt wholesale, make
fish_vi_mode enable this function by setting a variable __fish_vi_mode. This
enables vi mode to interoperate nicely with custom prompts. Users who want
to change how the mode is reported can either redefine this function or
erase it entirely. Fixes #1988.
2015-06-14 11:36:11 -07:00
David Adam
18d7465592 Merge branch 'Integration_2.2.0' 2015-06-05 14:02:25 +08:00
David Adam
b6b6de3304 vi bindings: clear commandline with Ctrl-C
Closes #2077.
2015-06-05 14:01:43 +08:00
Michael Steed
cb984cf761 Add 'bigword' vi key bindings
- Add four new functions: forward-bigword, backward-bigword,
  kill-bigword, backward-kill-bigword
- Add new enum move_word_style_whitespace and related state machine
  method
- Change vi key bindings to operate on bigwords: B, gE, W, E, dW, diW,
  daW, dE, dB, dgE, cW, ciW, caW, cE, cB, cgE, yW, yiW, yaW, yE, yB,
  ygE
2015-06-04 12:09:02 -07:00
ridiculousfish
3a190bbe49 Revert "Notify vte-based terminals when a command completes."
Backing out fix for #2096 until we know how to avoid
spamming other terminals (#2102)

This reverts commit 5c4acc8ee1.
2015-05-30 11:57:31 -07:00
Ben Liblit
5c4acc8ee1 Notify vte-based terminals when a command completes.
Notification is sent using an OSC 777 escape sequence as described at
http://known.phyks.me/2014/local-notifications-for-weechat-and-urxvt.
The specific notification is crafted to match that emitted by bash
when running under Fedora 22 with the "vte-profile" RPM installed.
See the code for "__vte_prompt_command" starting at
http://pkgs.fedoraproject.org/cgit/vte291.git/tree/vte291-command-notify.patch#n307
to see exactly what bash produces.  My approach is, however, a bit
more paranoid about control characters embedded in commands.

Gnome-terminal 3.16 responds to this escape sequence by posting a
desktop notification if the containing terminal window does not have
focus.  This lets the user know that a long-running background command
has completed.  Job notification is promoted as a Fedora 22 feature
(http://fedoramagazine.org/terminal-job-notifications-in-fedora-22-workstation/),
so it would be good for fish users to be benefit from it.

Conversely, anyone who does not want this feature can use "functions
--erase __notify_vte_command_completed" to turn it off.
2015-05-28 03:10:56 -05:00
David Adam
c0cf25cf0b abbr: rename --remove to --erase
for consistency with other fish commands

Closes #2071.
2015-05-22 09:48:39 +08:00
ridiculousfish
7a1fc028e3 Only pass the command name to command-not-found
With the fix for #365, fish_command_not_found event handlers
receive the command and all of its arguments. But commands
like /usr/lib/command-not-found expect only the command name.
So when invoking an external command, just pass the command
name, not all of the arguments.
2015-04-20 02:22:54 -07:00
ridiculousfish
97aa1c033b Switch back to insert mode after executing a command in vi mode
Fixes #1933
2015-04-08 10:31:48 -07:00
ridiculousfish
87428672d8 Fix funcsave to not delete the function it just created
In 73f344f41b, we allowed autoloaded functions to be deleted.
For some reason, funcsave immediately deletes the function it
creates. This previously did very little, since the function would
immediately be re-autoloaded, but with the fix for 73f344f41b
the function gets tombstoned. So the effect is that funcsave
makes the function disappear! This simply removes the erase call,
which dates back to fish 1.x.
2015-04-06 22:40:13 -07:00
Sanne Wouda
cad1dc5293 Fix #1978:"ul: unknown escape sequence" when asking for help
It seems that `ul` can't handle the escape sequences for bold text that `nroff` generates on my system.  Fixed by either removing `| ul`, or adding `-c` to the `nroff` command.

Needs testing for old (OSX?) versions of nroff.
2015-04-04 12:03:58 -07:00
David Adam
900a8a1408 __fish_complete_python: fix regex to be POSIX-compatible
Closes #2004.
2015-03-30 15:13:04 +08:00
David Adam
384cb2d735 Revert "__fish_config_interactive: warn users that fishd is going away"
This reverts commit ad61c3f0d6.

Work on #1730.
2015-03-30 13:42:59 +08:00
David Adam
ad61c3f0d6 __fish_config_interactive: warn users that fishd is going away
Work on #1730
2015-03-26 16:24:52 +08:00
David Adam
48d353610f abbr: coalesce multiple arguments to --add
Makes the behaviour of the script match the documentation.
2015-03-13 16:32:05 +08:00
Fabian Homborg
16e65c849c systemctl completions: Only list matching units on enable/disable 2015-03-06 23:05:24 -08:00
Fabian Homborg
33c0d93b20 systemctl completions: Add more unit types and commands
It should now support all unit types mentioned in systemd.unit(5)
2015-03-06 23:05:24 -08:00
Fabian Homborg
3e32715693 systemctl completions: Support user-mode 2015-03-06 23:05:24 -08:00
David Adam
597dda5a4b isatty: use command test instead of redirections
Adds a fork but can't use builtin test yet.

Closes #1870.
2015-02-01 18:18:34 +08:00
David Adam
66acd17bc0 isatty: revert to previous behaviour
This partially reverts commit 60808a4820.
2015-02-01 18:18:34 +08:00
T. Jameson Little
793784c087 Add command-not-found handler for Arch Linux
- checks for `pkgfile`, which is an optional (but official)
  package used for searching for packages given a file
2015-01-30 22:01:40 -07:00
LoveIsGrief
facfe33218 Add function to ouput hg branch and status for a prompt
This is an adaptation of terlar's git prompt output
2015-01-30 23:07:40 +08:00
David Adam
028d9e8e3b default key bindings: ignore FocusIn/FocusOut control sequences
Closes #1917.
2015-01-30 16:01:25 +08:00
Max Gonzih
dce487380c Fix not found handler for fedora 2015-01-18 11:52:15 +01:00
ridiculousfish
75a76c596c Clean up recent fix for #1892
Restore 906d235 and simplify how __fish_restore_status works
2015-01-17 15:36:30 -08:00
Jelte Fennema
9e3f912747 Ignore error message when not on a Gentoo system 2015-01-17 11:51:36 +01:00
Konrad Borowski
e529b78365 Don't define unnamespaced internal function. 2015-01-17 11:50:23 +01:00
Jorge Bucaran
2018b9b217 Fix: eval should preserve previous $status if the evaluated block does not change it
Empty functions may return 1 when eval is used due to the $status not being correctly preserved inside the function definition.
2015-01-17 11:44:55 +01:00
ridiculousfish
906d235601 Add more expository comments to eval, and remove a useless parameter 2015-01-07 14:56:41 -08:00
Andreas Heiduk
a0127a0c7a Change fish_paginate to paginate both stdout and stderr. 2014-12-28 23:14:13 +08:00
Max Gonzih
46cd89c2db Support nixos command-not-found handler 2014-12-22 11:16:36 +08:00
Rack Lin
bfd1951023 Added export alias for set global variable, made for sh/bash/zsh compatibility
Signed-off-by: Rack Lin <racklin@gmail.com>
Signed-off-by: David Adam <zanchey@ucc.gu.uwa.edu.au>
2014-12-01 15:43:57 +08:00
David Adam
c78e56c509 Update various strings for translation, avoid _ for non-translations
Use __ instead of _ as a placeholder for ignored variables in `read`
statements.
2014-11-25 15:37:30 +08:00
David Adam
190cac07a3 grep.fish: don't set GREP_COLOR
grep will fall back to the default colors.

Closes #1316.
2014-11-25 08:48:16 +08:00
David Adam
efc3846fcf grep.fish: don't use GREP_OPTIONS as it is deprecated
Closes #1825.
2014-11-25 08:47:30 +08:00
David Adam
918d5595bd __fish_config_interactive: send CWD via escapes in Apple Terminal
Closes #68.
2014-11-20 14:45:11 +08:00
David Adam
0abdf9eeff __fish_urlencode: rework to behave properly on BSD/OS X
Work on #68.
2014-11-20 13:53:24 +08:00
David Adam
14fa48864a abbr.fish: escape the output of abbr --show
Allows abbreviations containing embedded newlines, etc., to be displayed
and exported properly.

Work on #731.
2014-11-16 23:13:22 +08:00
David Adam
206ea15b68 abbr.fish: improve support for corner cases
Handle unusual cases ('=abc', ' =abc') better - regression from
8e8e6314due to a7bab7b.

Work on #731.
2014-11-16 23:05:58 +08:00
David Adam
a7bab7b18b abbr/web_config: support space-delimited abbreviations
Support for space-delimited abbreviations was added to the expansion
parser in fbade198; this commit extends that support to the user-facing
tools, and documents the space-separated behaviour. Equals-delimited
abbreviations are expected to be removed before the next release.

Work on #731.
2014-11-15 23:48:40 +08:00
David Adam
a6a41d159c __fish_print_packages: add support for zypper
Closes #1787.
2014-11-13 18:15:35 +08:00
David Adam
00e0ed64bc __fish_systemctl_*: use systemctl to generate the list of units
Closes #1804.

Note that if systemd is not running, the completion will fail.
2014-11-10 12:51:07 +08:00
ridiculousfish
32c0afe5a9 Clean up vared error message output
Fixes #1323
2014-11-09 16:43:14 -08:00
ridiculousfish
43d23ee56e Remove pre-1.22 migration support in fish_config_interactive
This removes some gnarly and probably broken code that attempts
to upgrade from fish 1.21 to fish 1.22. Fixes #1714.
2014-11-09 13:27:56 -08:00
Jared Grubb
d9d9fa512d vi bindings: add CTRL-C handler in default mode
There is no CTRL-C handler for the default mode in the vi bindings. This makes it difficult to say "never mind" and start a new command line like you can do in bash's vi mode. 

There were CTRL-C handlers for insert and visual modes that go back to default mode, but nothing happens in default mode. I copy-pasted the CTRL-C handler from the default key bindings file.
2014-10-31 22:17:17 -07:00
David Adam
a580d04dbc history: put the output through the pager in interactive mode
(Ideally, the behaviour of git could be implemented: pipe the input
through a pager iff the length is > window size and in interactive
mode).

Closes #1076.
2014-10-26 17:19:29 +08:00
David Adam
5638764bad prompt_pwd: Use tilde expansion to get real full home path
Closes #1133.
2014-10-26 14:20:49 +08:00
ridiculousfish
15e095233b Allow funced to retry on error
Fixes #1371
2014-10-17 11:50:09 -07:00
David Adam
4aa38db56f ls: find and use various dircolors initialisation files, if they exist
Closes #1758.
2014-10-17 10:23:05 +08:00
Kevin Ballard
76c6985f82 A little extra tweaking so builtin_print_help looks better
The terminal width magic that __fish_print_help learned doesn't help
when builtin_print_help runs it in a subshell. Instead, add an
undocumented --tty-width flag to __fish_print_help that's used to pass
the terminal width.
2014-10-10 00:11:23 -07:00
Kevin Ballard
ac8c5910eb Rewrite __fish_print_help to produce better results
As a result of this rewrite, the output now:

* Expands to fit the terminal width, like `man` does
* Preprocesses the manpage with `tbl` just in case, since `man` does
  this, even though I doubt any fish manpages use `tbl` formatting.
* Handle bold/underline with the `ul` command as it was designed for
  instead of trying to fake it with `sed`.
* Compresses blank lines as `man` does with the default `less -is`
  pager.
2014-10-09 23:48:10 -07:00
Kevin Ballard
9fc8729b96 Support -h/--help with eval
`eval` prints help if given a single argument of -h or --help.

Fixes #1379.
2014-10-09 18:07:57 -07:00
Kevin Ballard
8e8e63144b Rewrite abbr function
The usage is still the same, but it's a lot more robust, and also no
longer assumes $fish_user_abbreviations must be a universal variable.

This also fixes the unexpected error output when calling `abbr -a` with
no existing abbreviations.

Calling `abbr -a` with an abbreviation that already exists now silently
overwrites the abbreviation, just like `function` and `bind` do, instead
of complaining.
2014-10-07 19:14:44 -07:00
David Adam
501c3d5518 abbr.fish: add abbr, a command to manipulate abbreviations
Work on #731.
2014-10-05 12:23:31 +08:00
Kevin Ballard
a7727765dc Clean up prompt_pwd with the new function -V flag
Also fixes `cd /private` displaying as no path on OS X.
2014-10-02 18:41:39 -07:00
Kevin Ballard
33a76e1f8e Update psub for the new --inherit-variable flag
Also do some minor formatting cleanup, make psub return 1 when executed
outside of a command substitution, and make it respect $TMPDIR.
2014-10-02 18:41:39 -07:00
Kevin Ballard
3f11d90744 # This is a combination of 2 commits.
# The first commit's message is:

Simplify default fish_prompt

No need for the set_color caching now that it's a builtin.

Also simplify the 3 classic prompts in fish_config's sample_prompts set.
2014-10-02 18:41:01 -07:00
Kevin Ballard
4ba95ad1c3 Minor tweaks to initial keybinding load
Remove comment that AFAICT is not true anymore.

Ensure someone setting __fish_active_key_bindings as a universal
variable doesn't screw up the initial keybinding load.
2014-10-02 12:14:22 -07:00
David Adam
a186f04f15 Manpage completions: store in $XDG_DATA_HOME
Closes #1343, works towards #1257.
2014-09-29 19:39:36 +08:00
David Adam
f0d8d90ed1 __fish_print_hostnames: use awk to process ssh_config files
Uses awk rather than sed to account for multiple formatting options.

Closes #1260.
2014-09-29 14:08:09 +08:00
David Adam
6ece8523b1 __fish_complete_path: add new completion, mimics builtin path completion
Completions can now be written which disable file completion and then
selectively re-enable it using this function.

Closes #834.
2014-09-29 14:05:18 +08:00
Konrad Borowski
26051ea198 Add Meta+H as keybinding for man page.
Apparently, in zsh, Meta+H can be used to display the manpage for
the current command. This commit adds this zsh feature to fish shell.

The F1 keybinding is left, although it's now secondary according to
fish help, as some terminal emulators don't let the user press F1 key.
2014-09-28 11:12:25 +02:00
David Adam
3ac28f2b01 Revert "math.fish: support floating-point maths"
This reverts commit 7cad0069e8.

https://github.com/fish-shell/fish-shell/issues/1723
http://superuser.com/questions/31445/gnu-bc-modulo-with-scale-other-than-0

This is why we can't have nice things.
2014-09-27 23:27:05 +08:00
David Adam
7cad0069e8 math.fish: support floating-point maths
Closes #1643.

Thanks to Mickaël RAYBAUD-ROIG (https://github.com/m-r-r) for the idea
of printf.
2014-09-27 18:38:44 +08:00
lledey
73158d6255 Fix emacs completion on OS X
Avoid calling seq with 0 as argument since its behaviour is wrong on OS X.
2014-09-24 13:05:22 +01:00
Kevin Ballard
e1f623f548 Only print fish_greeting for interactive shells
Shell scripts that use `read` should not trigger fish_greeting.

Fixes #1401.
2014-09-21 20:35:33 -07:00
Kevin Ballard
0a32d96b27 Reset fish_bind_mode when changing fish_key_bindings
Also avoid resetting bindings if fish_key_bindings is "modified" without
actually changing.

Fixes #1638.
2014-09-18 15:46:17 -07:00
Michael Stillwell
133ba6e01b Ignore "host", "hostname", and hostname wildcards
See the PATTERNS section of ssh_config(5) for wildcards supported by ssh.
2014-09-16 17:20:59 +02:00
Kevin Ballard
f22864b813 Ensure type still works if $IFS is unset 2014-09-08 23:35:29 -07:00
Kevin Ballard
15cf06438e Suppress PATH errors in sudo tab-completion
Setting a non-existant path component to PATH logs an error to stderr.
This is not appropriate for non-interactive temporary modifications,
like the one done by the `sudo` completion helper function.
2014-09-04 13:22:06 -07:00
Konrad Borowski
1d0279eac5 Fix F1 binding to work with multiple tokens. 2014-08-30 11:18:56 +02:00
Nikolai Aleksandrovich Pavlov
cb29350954 Fix fish_vi_mode.fish 2014-08-29 13:15:13 -07:00
Kevin Ballard
61ce9db4ba Make the alias built-in function work better
The new --wraps functionality was breaking aliases of the form
`alias foo='bar baz'`. That is, aliases where the body is multiple
words. Extract the first word of the body and use that instead.

Use better errors for aliases with no name or no body.
2014-08-22 11:40:59 -07:00
ridiculousfish
033373f078 Merge branch 'make_type_better' of github.com:kballard/fish-shell into kballard-make_type_better 2014-08-21 21:36:39 -07:00
ridiculousfish
06400b83b1 Support for command wrapping ("aliases")
Add the --wraps option to 'complete' and 'function'. This allows a
command to (recursively) inherit the completions of a wrapped command.
Fixes #393.

When evaluating a completion, we inspect the entire "wrap chain" for a
command, i.e. we follow the sequence of wrapping until we either hit a
loop (which we silently ignore) or the end of the chain. We then
evaluate completions as if the wrapping command were substituted with
the wrapped command. Currently this only works for commands, i.e.
'complete --command gco --wraps git\ checkout' won't work (that would
seem to encroaching on abbreviations anyways). It might be useful to
show an error message for that case.

The commandline builtin reflects the commandline with the wrapped
command substituted in, so e.g. git completions (which inspect the
command line) will just work. This sort of command line munging is
also performed by 'complete -C' so it's not totally without precedent.

'alias will also now mark its generated function as wrapping the
'target.
2014-08-15 18:14:36 -07:00
ridiculousfish
3f526698ab Make __fish_print_users work on OS X via dscl 2014-08-12 14:42:49 -07:00
Konrad Borowski
6c80a3461c
Add support for toor account.
Currently fish doesn't recognize toor as special. However, it's likely
that on BSD systems, fish shell will be used on toor, not on root (toor
is an intentionally existing account to use more advanced shell on, like
shell).
2014-07-30 11:55:47 +02:00
David Xia
6d18bf5cd4 Fix umask function regex
Some grep implementations complain of empty subexpression

fixes #1313
2014-07-29 01:43:18 -04:00
Kevin Ballard
16e50c258a type: Restore combined flags behavior
Fix the parsing of `type` flags to handle combined short flags as
appropriate, e.g. `type -qf ls`.
2014-07-14 11:27:11 -07:00
Kevin Ballard
72e8489d50 command: Rename -p/--path flag to -s/--search 2014-07-13 19:11:29 -07:00
Kevin Ballard
29b3b6b31e type: Stop claiming grep is a function
Use `functions -q` instead of searching the `functiosn -na` list for the
provided word. This may result in an automatically-loaded function being
sourced, but that happens anyway with the default output.

This change means the results of `test -q foo` can be relied upon to
indicate whether `foo` can actually be invoked. Previosly, if `foo` was
the name of an automatically-loaded function file but did not actually
define a function `foo`, and there was no execuable `foo`, then `type -q
foo` would lie and say `foo` can be invoked when it can't.
2014-07-13 19:11:29 -07:00
Kevin Ballard
533496e43a Adopt the new type -q flag in the other functions 2014-07-13 19:11:29 -07:00
Kevin Ballard
6f7a7459c1 test: Add a new --quiet flag to suppress output
The --quiet flag is useful when only the exit status matters.

Fix the documentation for the -t flag to no longer claim that `type` can
print "keyword", as it never does that.

Stop printing a blank line for functions/builtins when the -p flag has
been passed. It's just not useful.
2014-07-13 19:11:29 -07:00
Kevin Ballard
6b062b07b4 type: Separate the notion of multi and paths
Track whether -a and -f have been supplied separately. That way both
`type -a -f command` and `type -f -a command` behaves correctly, as does
`type -a -f foo` where there are multiple executables named `foo` in the
$PATH.
2014-07-13 19:11:29 -07:00
Kevin Ballard
bfd3a47380 Fix type function to work better
Stop using getopt to parse flags. It's far more expensive than
necessary, and results in long flags not being parsed on OS X. This also
allows args starting with - after the options list to be properly
interpreted as a value to test.

Print the error message to stderr as is appropriate.

Use the new `command -p` functionality when the -a flag has not been
provided (`command` does not have any equivalent to the -a flag),
instead of using `which`. This is faster and also avoids any possible
disagreement between `which` and what fish thinks is valid.

Stop testing every path to see if it's executable, that test has already
been done by `which` or `command -p`.

The end result is `type -P ls` is roughly 250% faster, according to
profiling, on my OS X machine.
2014-07-13 19:11:29 -07:00
Sascha
ed5e585684 Also add forward/backward movement in insert mode 2014-06-27 22:55:27 +08:00
Sascha
32948b8dc6 Provide more useful insert mode mappings 2014-06-27 22:55:20 +08:00
Cameron Norman
ad5ad3d1ad Fix bug for systemd being installed but not PID 1 2014-06-20 11:08:35 +08:00
Konrad Borowski
d97e31b4ab git prompt shouldn't export variables. 2014-06-01 09:39:28 +02:00
David Adam
3225d7e169 avoid symlink attacks in __fish_print_packages and spawning fishd
* use $XDG_CACHE_HOME for __fish_print_packages completion caches
 * when starting fishd, redirect fishd output to /dev/null, not a
   predictable path

Fix for CVE-2014-3219.

Closes #1440.
2014-05-12 09:30:05 +08:00
Josh Kuhn
cbef88a593 Fix python completion to work for pypy
Pypy outputs 2 lines with the -V option, as well as adding a whole lot of stuff that confuses the very general sed regex that was used before.
2014-05-03 15:06:57 -07:00
SanskritFritz
b13179d4f4 Functions instead of static variables for conditions. 2014-05-03 12:30:41 -07:00
David Adam
55bc4168bf use mktemp(1) to generate temporary file names
Fix for CVE-2014-2906.

Closes a race condition in funced which would allow execution of
arbitrary code; closes a race condition in psub which would allow
alternation of the data stream.

Note that `psub -f` does not work (#1040); a fix should be committed
separately for ease of maintenance.

Closes #1437
2014-04-28 10:42:00 +08:00
Maxim Gonchar
2872a98b2b Set fish_vi_key_bindings to start in insert mode by default
Add optional argument for fish_vi_key_bindings to set desired initial
mode:
> fish_vi_key_bindings default
2014-04-19 14:48:15 -07:00
Steven Allen
17ab7bde44 Bind 0 to beginning-of-line in vi mode. 2014-04-06 12:49:52 -07:00
Steven Allen
fcc363333c Move cursor back on insert mode exit.
Make this consistent with vi.
2014-04-06 12:46:14 -07:00
Kevin Ballard
fe3b439e31 Fix non-verbose, non-informative __fish_git_prompt
At some point the non-verbose, non-informative variant of the prompt
(e.g. the variant that looks like the bash prompt) was modified to try
and show the behind/ahead counts the same way the informative prompt
does. Besides being wrong, it also didn't work because behind/ahead
weren't defined.
2014-03-31 09:59:41 -07:00
ridiculousfish
28fd1a4c5d Merge branch 'master' of github.com:fish-shell/fish-shell 2014-03-30 21:58:32 -07:00
ridiculousfish
d4fafeb6d6 Merge branch 'master' into 1218_rebase
Conflicts:
	builtin.cpp
	builtin_commandline.cpp
	highlight.cpp
	input.cpp
	input.h
	reader.cpp
	screen.cpp
	screen.h
2014-03-29 14:19:45 -07:00
Knut Ahlers
1270384ede Fixed appearance of ssh hostnames with [] in them
refs https://github.com/fish-shell/fish-shell/issues/1355
2014-03-29 11:46:45 +01:00
Konrad Borowski
1486774249 Force at least one line of output for set_color.
This should fix #1323.
2014-03-03 22:17:55 +01:00
ridiculousfish
3ab954644f Make fish install a command_not_found handler in non-interactive uses.
Previously, fish's command_not_found handler would be installed in
__fish_config_interactive. Errors that occured early in startup (e.g. in
config.fish) or in non-interactive mode would therefore not be reported.
With this change, fish now exposes its default cnf handler as
__fish_default_command_not_found_handler . config.fish then installs a
cnfh that invokes the default. When fish goes interactive, the initial
cnfh is overwritten with a fancier one, that may in turn fall back to
invoking the default.
2014-02-20 10:26:57 -08:00
Eric Mrak
64ca6c066c Caching for pacman packages. 2014-02-16 18:09:55 +08:00
Eric Mrak
d1cf5ab286 adding completion for aura. adding pacman integration for __fish_print_packages 2014-02-16 18:09:55 +08:00
waterhouse
b1545c5ce2 'seq' should return 1, not exit 1, on bad arglist 2014-02-16 01:17:12 -08:00
glennj
b475325b5e math.fish: exit if no output (e.g. from syntax error)
Closes #1175
2014-02-05 17:26:34 +08:00
ridiculousfish
7d345018af Redirect stderr of initial call to __fish_reload_key_bindings. Fixes ##1155 2014-02-03 16:46:01 -08:00
David Adam
27b6fe682d Squashed commit of the following:
commit d81ae2665f
Author: Max Gonzih <gonzih@gmail.com>
Date:   Sun Feb 2 16:22:18 2014 +0300

    Check for command-not-found command on suse

commit 004b794c82
Author: Max Gonzih <gonzih@gmail.com>
Date:   Sun Feb 2 14:04:41 2014 +0300

    Fix cnf handler for Suse and Fedora

    fixes #1208
2014-02-02 21:42:24 +08:00
ridiculousfish
20130d89dc Support for escaped colons in makefile targets in __fish_print_make_targets, as part of #1259 2014-01-29 15:42:52 -08:00
David Adam
8fbffe250a __fish_print_packages: correct syntax for yum, improve yum/rpm pipelines
Closes #1269 (output to cache file).

Reworks the editing pipeline for both yum and rpm completions down to a
single sed command.
2014-01-29 12:47:56 +08:00
Geoff Nixon
60808a4820 Enhance/fix isatty using command test.
Presently, `isatty` only works on a handful of keywords. Here it
  is rewritten to be able to take any path, device or fd number as
  an argument, and eliminates errors printed to stdout.
  Per discussion in #1228, using `builtin test -c` within a pipe to
  test special file descriptors is not viable, so this implementation
  specifcially uses `command test`. Additionally, a note has been
  added to the documentation of `test` regarding this potential
  aberration from the expected output of the test utility under the
  'Standards' section.
2014-01-28 11:14:54 -08:00
ridiculousfish
7d8766980b Support escape or up-arrow to cancel the completion search field. 2014-01-27 02:17:31 -08:00
ridiculousfish
5be3606236 Increased support for completion search field. Use btab (shift-tab) to
complete-and-search.
2014-01-27 00:56:13 -08:00
ridiculousfish
6d13b8bbc0 Teach down-or-search how to use down-arrow to begin pager navigation 2014-01-25 15:32:13 -08:00
ridiculousfish
2139334c36 Fix for issue where wc on OS X would produce leading spaces, causing
down-or-search to fail to match the case statement and therefore do the wrong thing.
2014-01-25 15:22:28 -08:00
Julian Aron Prenner
844b01cb6b Add 'and' input function; fixes a bug with t,T
'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)
2014-01-23 10:23:04 +01:00
Julian Aron Prenner
45465e0c45 Merge branch 'bind_mode' of github.com:furunkel/fish-shell into bind_mode 2014-01-22 10:01:53 +01:00
Julian Aron Prenner
4a9be7bf11 Experimental support for f,F,t,T vi commands.
Input functions can now have arguments
2014-01-22 10:00:44 +01:00
Julian Aron Prenner
c8e0d18d18 Change mode colors in prompt 2014-01-22 09:00:57 +01:00
Maxim Gonchar
f284f00935 Add tmux support 2014-01-20 21:28:54 +04:00
Maxim Gonchar
71992158bf Retab again
default_keybindings are left with tabs as it was in the beginning
2014-01-20 17:12:32 +04:00
Maxim Gonchar
1514ab8ec5 Retab 2014-01-20 17:03:46 +04:00
Maxim Gonchar
3591900070 More clear way of setting cursor shape 2014-01-20 16:47:13 +04:00
Julian Aron Prenner
44c6fa68cf Make Ctrl-x autocomplete suggestions; cosmetics 2014-01-20 13:07:32 +01:00
Maxim Gonchar
1279888567 Add cursor shape handler 2014-01-20 10:19:41 +04:00
Max Gonzih
114f803a88 Fix e and E in visual vi mode 2014-01-19 17:07:23 +03:00
Max Gonzih
69778efb6b Add x binding to delete whole line in visual mode 2014-01-19 17:04:02 +03:00
Max Gonzih
e7df20f69b Add x binding to delete selection in visual vi mode 2014-01-19 16:50:56 +03:00
Julian Aron Prenner
cd64a777c3 Set $fish_bind_mode to default on fish startup; set $fish_key_bindings
when sourcing fish_vi_mode.fish
2014-01-19 10:27:39 +01:00
ridiculousfish
808bc42f2a Further work on keyboard navigating the completion list 2014-01-18 12:42:53 -08:00
Julian Aron Prenner
3728fc7dba Add kill-selection function and visual binds for 'y' and 'd' 2014-01-18 10:18:29 +01:00
Julian Aron Prenner
88eae68987 Fix a bug, commandline -s works now as expected. Add "*y binding in
visual mode
2014-01-17 20:32:24 +01:00
furunkel
8b89bd7a1f Merge pull request #4 from maxfl/bind_mode
Minor bind fixes
2014-01-17 08:06:49 -08:00
Maxim Gonchar
fc68b9d7cd Minor bind fixes
Comment out 'o' binding
Add '['/']' bindings to navigate current token history
Fix 'P' to paste indeed
Add "*P/"*p to insert current selection clipboard using xsel
2014-01-17 10:40:32 +04:00
Julian Aron Prenner
0cd125b55c Merge branch 'bind_mode' of github.com:furunkel/fish-shell into bind_mode 2014-01-15 22:41:50 +01:00
Julian Aron Prenner
444cb894be Set selection color to purple 2014-01-15 22:41:10 +01:00
Maxim Gonchar
8138b2080b Even dirtier *aw/*iw 2014-01-16 01:25:44 +08:00
Maxim Gonchar
737b204b2c Add dirty bindings for *iw, *aw
Put E, W bindings in agreement with vim
2014-01-16 00:55:51 +08:00
Julian Aron Prenner
213e907044 Merge remote-tracking branch 'upstream/master' into bind_mode
Conflicts:
	builtin.cpp
	reader.cpp
	share/functions/fish_default_key_bindings.fish
2014-01-15 15:27:06 +01:00
Julian Aron Prenner
c8d5131a42 Add experimental support for selection and visual mode 2014-01-15 15:07:22 +01:00
Julian Aron Prenner
fc21bb6eda Replace builtin 'bind_mode' with variable $fish_bind_mode 2014-01-15 12:04:52 +01:00
Maxim Gonchar
9684cbf850 Add optional options to fish_default_key_bindings
These options will be passed to the bind command.
Now it's possible to call
  fish_default_key_bindings -M insert
to set all original bindings to the insert mode
2014-01-15 15:26:38 +08:00
Maxim Gonchar
b0e94c15e6 Update vi bindings:
The following normal mode bindings are added:
    o, I, A, gg, G, g^, g$, x, X, backspace, d*, D, s, S, c*, C, ~, gu,
    gU, J, K, y*, Y, p, P

I was not able to add binding for 'O'

dd now deletes the whole line as vim, while D deletes the line to the
end. c, s, y act the same way
2014-01-15 00:21:13 +08:00
Julian Aron Prenner
874d3aca45 Make Ctrl+C exit insert mode, add some more backspace binds. 2014-01-14 15:24:26 +01:00
Konrad Borowski
b9394b9599 Rename __fish_complete_usb function. 2014-01-14 08:28:15 +01:00
leafonsword
129d2f803a 新文件: share/completions/lsusb.fish
新文件:    share/functions/__fish_complete_usb.fish
2014-01-13 20:24:20 +01:00
Max Gonzih
71f6986dd6 Fix __fish_print_packages for rpm 2014-01-13 22:36:02 +08:00
Alexander I.Grafov
75b02e1d27 Fixes issue #1234. Fish now parses system wide ssh configuration file in addition to user config. 2014-01-12 14:59:46 +05:30
David Adam
02bd933c58 Add Alt+. as a default binding for history-token-search-backward
Closes #89.
2014-01-08 15:15:15 +08:00
Julian Aron Prenner
dc90cd6bc4 Better input handling; add support multiple binding commands 2014-01-01 00:11:32 +01:00
Julian Aron Prenner
f408bc4808 Add sourceable script file to enable vi mode 2013-12-31 16:17:03 +01:00
Julian Aron Prenner
a302f37447 Fix bug 2013-12-31 16:16:28 +01:00
Julian Aron Prenner
f501e30353 Add sample prompt for vi mode 2013-12-31 14:56:12 +01:00
Julian Aron Prenner
2587649ca2 Allow restricting earsing and listing of bindings to specific mode;
implement force repaint and multi-char bindings;
2013-12-31 14:53:29 +01:00
Julian Aron Prenner
d1faac58dd Implement bind modes 2013-12-31 01:52:41 +01:00
David Adam
1efb120248 __fish_complete_svn: remove GNU extension options
Continuation of https://github.com/fish-shell/fish-shell/pull/1195/.
Removes use of --delimiter and --fields with cut(1) as these are GNU
extensions.

Note that a number of completions use these options, but as they are
only for GNU/Linux-specific tools have remained unmodified.
2013-12-30 12:32:24 +08:00
Derek Li
93f7c14ea6 Math: disable bc multi-line output. 2013-12-26 18:32:36 +01:00
Javier Gonel
12be83562d Non standard cut options
Some cut versions don't have `--delimiter` or `--fields` but use the standard options `-d` and `-f`
2013-12-18 18:02:19 +02:00
David Adam
f0946baeaa __fish_git_prompt: initialise colors early
Otherwise __fish_git_prompt_informative_status tries to expand an unset
variable.

Closes #1157.
2013-12-02 20:09:15 +08:00
Konrad Borowski
e1608362d0 Fix s/$remote// mistake.
$remote could have contained /.
2013-11-29 15:26:33 +01:00
Jelte Fennema
44d13869ad Add eselect, rc-update and rc-service completions. (These are utilities used by Gentoo Linux)
Disable php completion for the 4th part of the command, since php-eselect is differently designed and causes errors

Closes #1131.
2013-11-27 18:36:05 +08:00
Konrad Borowski
9862eb930d Use sed instead of sh for Informative Git Prompt.
Informative Git Prompt assumes that sh is bash compatible, but that's
not the case for FreeBSD. Fixes #1140.
2013-11-27 11:35:01 +01:00
David Adam
0c4dab54f1 __fish_complete_man: Use awk to parse output of apropos
Closes #960.

Uses pattern matching rather than OS detection. Works with BSD awk, GNU
awk and Solaris' nawk.
2013-11-27 17:58:43 +08:00
ridiculousfish
63a15e232b Fix indentation in __fish_complete_cd 2013-11-26 00:07:18 -08:00
Jörg Thalheim
cb86b8f8fc cd completion: handle not accessible directories 2013-11-26 00:04:31 -08:00
Siteshwar Vashisht
8fc26c1e58 Use fish from $__fish_bin_dir while calling fish_update_completions at startup 2013-11-17 16:24:00 +05:30
David Adam
14b6d32fe6 add bindings for PuTTY's I-can't-believe-it's-xterm keyboard
(see #170)
2013-11-13 11:20:59 +08:00
Siteshwar Vashisht
0de26732bf Don't show warning while generating man page completions on startup 2013-11-12 22:14:14 +05:30
Siteshwar Vashisht
0f02997bcc Autogenerate manpage completions in background if they do not exist 2013-11-12 22:14:14 +05:30
Konrad Borowski
ba2fcd9dae Use basename for man argument
This protects from providing paths to man, like `./a.out`.
2013-11-09 19:50:38 +08:00
Konrad Borowski
c0ad54fe02 Allow reading manpages by using F1. 2013-11-09 19:50:38 +08:00
Asger Hautop Drewsen
4a6592597a Make type -a print all executables in PATH 2013-10-29 13:32:14 +08:00
Brian Gernhardt
59dd6678c3 git_prompt: Allow all set_color arguments
There is no need to explicitly check for two arguments and set --bold.
Instead the user can simply "set __fish_git_prompt_color_flags --bold
red".

The current check violates the expectation set by the documentation
that you can use any set_color argument as the current code interprets
"--bold red" as "--bold --bold" instead.

Plus, by passing the full contents of the variable directly, the user
can do more adventurous things like set the background as well.
2013-10-21 12:36:42 -04:00
Brian Gernhardt
137463dc6d git_prompt: Add upstream_prefix when verbose
git.git's git-prompt may not contain a configurable prefix, but it
does display a space before the upstream information when displaying
verbose information.  Rather than using a space always or never,
default to a space whenever verbose is in showupstream.
2013-10-21 12:34:14 -04:00
Brian Gernhardt
b652920500 git_prompt: optionally show upstream branch name
Adds a "name" option to __fish_git_prompt_showupstream that shows an
abbreviated branch name when the upstream type is verbose.

Based on git.git 1f6806c: git-prompt.sh: optionally show upstream
branch name
2013-10-21 12:08:43 -04:00
sra
0efa211a05 Use manpath instead of man --path in man.fish function (as in commit
c7941fc).
2013-10-03 11:46:58 +02:00
David Adam
1235e60a29 default key bindings: fix syntax errors introduced in 735af50 2013-09-24 22:49:11 +08:00
David Adam
735af50ce9 default key bindings: add further iTerm2 bindings 2013-09-24 20:04:05 +08:00
David Adam
c2dcfc9176 __fish_print_hostnames: do a better job of searching SSH files 2013-09-19 23:24:36 +08:00
David Adam
7935b1613a __fish_print_packages: ignore errors, do less manipulation
Closes #479 by piping STDERR to /dev/null.

Also does much less manipulation of the package list; there are no
packages in any of the archives containing the names that are stripped
out as far as I can see.
2013-09-17 22:27:15 +08:00
David Adam
8df81f93c8 __fish_print_packages: whitespace fix 2013-09-17 22:20:16 +08:00
nulltrek
daf3469ce4 Add newline before listing current token. 2013-09-13 14:30:13 +08:00
nulltrek
e031fa7207 Fix some typos. 2013-09-12 11:46:31 +02:00
nulltrek
1b521d0822 Rename internal functions for consistency. 2013-09-12 11:46:31 +02:00
Christian Rishøj
cd1c2f74d3 add support for downcase-word, upcase-word and capitalise-word 2013-09-09 18:46:16 +02:00
ridiculousfish
3816abb9de Make __fish_print_mounted work better on OS X 2013-09-05 11:40:51 -07:00
ridiculousfish
7561075af8 OS X Mavericks keybinding fix 2013-09-05 00:46:19 -07:00
Konrad Borowski
fe10f98038 Fix VTE version test 2013-09-04 22:08:44 +02:00
Tim Cuthbertson
74e27a0a82 Notify vte-based terminals of $PWD change (#906) 2013-09-04 20:30:42 +02:00
Tim Cuthbertson
04c0ac9ee8 add __fish_urlencode function which URL-escapes stdin 2013-09-04 20:30:42 +02:00
ridiculousfish
03aae47424 Fix more indentation in fish_default_key_bindings.fish 2013-08-31 21:11:09 -07:00
ridiculousfish
df0aaa1ebe Fix indentation 2013-08-31 21:10:11 -07:00
ridiculousfish
23ba7b5bff Support iTerm2 forward/backward word escapes
(https://github.com/fish-shell/fish-shell/issues/920)
2013-08-31 14:29:52 -07:00
Konrad Borowski
7a1bedcab6 Fix #976. Now prompt tries to use standard git command. 2013-08-26 16:24:59 +02:00
ridiculousfish
8605cc685d Fix tabs in share/functions/__fish_config_interactive.fish 2013-08-24 12:20:21 -07:00
nulltrek
9a49b2c9fb Fix "command not found" handler behaviour. 2013-08-24 12:16:28 -07:00
lledey
69c6b007aa Remove grep warning from make target completion
grep was throwing warnings when no Makefile was found

Signed-off-by: lledey <lledey@gmail.com>
2013-08-19 22:14:20 -04:00
ridiculousfish
e849beabba Initial work towards various IO cleanups with an eye to fixing https://github.com/fish-shell/fish-shell/issues/110 2013-08-19 18:06:24 -07:00
Konrad Borowski
2979d3bf16 Fix #684 by putting newline after $argv
It's rather hacky, but it sort of works. (but then, this makes fish
compare to PHP (but PHP doesn't put that newline), so perhaps I
shouldn't do that - http://git.io/GFurbg)
2013-08-18 10:57:33 +02:00
ridiculousfish
77b13d02f0 Fix "." function to not shadow scopes, so the tests pass again. Remove eval's use of "." function. 2013-08-17 17:00:15 -07:00
Konrad Borowski
3e115b7a85 Mac OS X doesn't support uname -o. Use uname instead.
I break compatibility with Mac OS X again, that I don't have access
to. Result: Stuff break, and I have to fix it, so it will perhaps
work. At least, I hope it will work.
2013-08-16 20:48:44 +02:00
Konrad Borowski
d407d680ea Show path containing current disk drive in Windows in title 2013-08-14 12:21:17 +03:00
Konrad Borowski
feb36e7342 Show drive letter under Cygwin
/c/c looks awful, and C:/ is simply better.
2013-08-14 12:11:09 +03:00
Konrad Borowski
8ab81e6d4b Implement 'help' for Cygwin. 2013-08-13 17:26:38 +03:00
Konrad Borowski
4fc2ee1bd4 Implement 'open' for Cygwin. 2013-08-13 17:21:40 +03:00
Konrad Borowski
64921fe08a Fix hostname command under Cygwin with Unicode characters
Yes, hostname is broken under Cygwin, but for fish it's an issue, as it
makes fish_config more buggy than it needs to be (by making UTF-8 errors
according to Python).
2013-08-12 09:56:03 +03:00
Konrad Borowski
79d5ff0350 Fix ls command under Cygwin
It appears that dircolors -c under Cygwin has >&/dev/null at end that is
valid C shell syntax, but isn't accepted in fish shell.
2013-08-12 09:38:17 +03:00
Kevin Ballard
0bf5316249 git_prompt: Default upstream_prefix to nothing
git.git's __git_ps1 doesn't have an upstream prefix. I'm not sure why
one was added to our __fish_git_prompt, but it certainly shouldn't
default to a space.
2013-08-05 12:41:58 +08:00
Kevin Ballard
969928e500 git_prompt: Fix bad test if bash.showUntrackedFiles isn't set 2013-08-05 12:41:58 +08:00
Brian Gernhardt
82b589e390 git_prompt: Make informative separator configurable
It reuses $__fish_git_prompt_char_stateseparator, since it has a
similar meaning and goes otherwise unused when
$__fish_git_prompt_show_informative_status is set.
2013-07-30 11:31:24 +08:00
Brian Gernhardt
b280cc5e75 git_prompt: Change informative character defaults
This changes the defaults for several characters when
$__fish_git_prompt_show_informative_status is set so that the prompt
looks more like the typical informative prompt.

Before:  (master >1<2|+3#4*5%6)
After:   (master↑1↓2|●3✖4✚5…6)

The defaults were taken from magicmonty/bash-git-prompt
2013-07-30 11:31:24 +08:00
Brian Gernhardt
1964b04ea9 git_prompt: Show upstream with informative status
This makes $__fish_git_prompt_show_informative_status imply
$__fish_git_prompt_showupstream = "informative", while adding a none
option for showupstream to disable it if desired.
2013-07-30 11:31:24 +08:00
Brian Gernhardt
c4bc216815 git_prompt: Informative upstream with informative status
This makes $__fish_git_prompt_showupstream = "auto" mean "informative"
instead of "git" if $__fish_git_prompt_show_informative_status is set.
2013-07-30 11:31:24 +08:00
Brian Gernhardt
aa8b3cb6d6 git_prompt: fix non-informative upstream
`test -n informative` will always succeed.  We want to test the
informative variable instead so that other modes can still work.
2013-07-27 10:35:46 -04:00
Brian Gernhardt
c62d9c37d2 git_prompt: Repaint when show_informative_status is changed 2013-07-27 09:59:36 -04:00
Brian Gernhardt
70fbb4623f git_prompt: Fix resetting colors in informative_status 2013-07-27 09:58:45 -04:00
Brian Gernhardt
8dd9602f06 git-prompt: Document informative_status changes 2013-07-26 22:05:07 -04:00
Brian Gernhardt
92d2e681d6 git-prompt: Move status_order to near informative_status
It's easy to forget the definition of ___fish_git_prompt_status_order
when there are dozens of lines between where it is defined and where
it is used.
2013-07-26 22:05:07 -04:00
Brian Gernhardt
c82dbaca8b git-prompt: Ensure repaint on all char and color changes
A few characters and colors got added without being added to the event
list for repainting.

Also sort and re-align list of characters in validate_chars.
2013-07-26 22:05:07 -04:00
Brian Gernhardt
6faeb71770 git_prompt: don't save output of ls-files for untracked files
based on git.git 14d7649: "bash prompt: avoid command substitution
when checking for untracked files"
2013-07-26 22:05:07 -04:00
Brian Gernhardt
d534b0ba81 git_prompt: Call git rev-parse less often
The code invoked `git rev-parse` several times when the required
information could be collected all at once.

This is based on the following commits from git.git:

efaa0c1: bash prompt: combine 'git rev-parse' executions in the main code path
e3e0b93: bash prompt: combine 'git rev-parse' for detached head
0f37c12: bash prompt: use bash builtins to check for unborn branch for dirty state
dd0b72c: bash prompt: use bash builtins to check stash state
2013-07-26 22:05:07 -04:00
Brian Gernhardt
87a0363ba7 git_prompt: remove __fish_git_prompt_git_dir
It's a one line function called in a single place.  I suspect it only
existed because the bash equivalent __gitdir existed (it was more
complex), but that function no longer exists either, as of git.git
511ad15: "bash prompt: run 'git rev-parse --git-dir' directly instead
of __gitdir()"
2013-07-26 22:05:07 -04:00
Brian Gernhardt
0005702399 git_prompt: print unique detached HEAD abbreviated object name
Simply using cut duplicates (poorly) `git rev-parse --short`

This also restores the ... printed after the abbreviation which
__fish_git_prompt had been missing.

Based on git.git e8f21ca: "bash prompt: print unique detached HEAD
abbreviated object name"
2013-07-26 22:05:06 -04:00
Brian Gernhardt
8642a1e68e git_prompt: Display head for simple rebase
based on git.git 1306321: "prompt: fix for simple rebase"
2013-07-26 22:05:06 -04:00
Brian Gernhardt
ec1d2e86c8 git_prompt: Add __fish_git_prompt_char_stateseparator
Unlike the rest of the __fish_git_prompt_char_* variables, it does not
have its own color because the most likely values are a space and
nothing.

based on git.git 15a54fb: prompt: introduce GIT_PS1_STATESEPARATOR
2013-07-26 22:05:06 -04:00
Brian Gernhardt
2a46b984cd git_prompt: show where rebase is at when stopped
Adds a progress indicator to the rebase messages. (e.g. |REBASE 2/5)

based on the git-prompt portion of git.git b71dc3e: "bash-prompt.sh:
show where rebase is at when stopped"
2013-07-26 22:05:06 -04:00
Brian Gernhardt
5a7b85adc7 git_prompt: use REVERT_HEAD
git revert was taught to revert multiple commits, and it stores it
branch information in REVERT_HEAD just like the other *_HEAD files.

based on git.git 3ee4452: bash: teach __git_ps1 about REVERT_HEAD
2013-07-26 22:05:06 -04:00
Brian Gernhardt
914f83cb10 git_prompt: add bash.showUntrackedFiles option
The option was added in git.git 66cb5d4, so pay attention to it like
we do the other bash.* options.
2013-07-26 22:05:06 -04:00
Brian Gernhardt
db969dc85a git_prompt: __fish_git_prompt_showcolorhints
Based on GIT_PS1_SHOW_COLORHINTS, it introduces more color by default
and also changes the color of the branch name based on if it is a real
branch or detached.

Based on the following commits from git.git:

9b7e776: show color hints based on state of the git tree
9b3aaf8: Fix up colored git-prompt
76c36c0: coloured git-prompt: paint detached HEAD marker in red
2013-07-26 22:04:22 -04:00
Brian Gernhardt
5b39d1819f git_prompt: Add defaults to set_color
This is mostly useful for the next commit that will have different
colors default to different values, but it has one immediate change:
all __fish_git_prompt_color_* variables now default to
__fish_git_prompt_color instead of to nothing, as they used to.
2013-07-26 22:03:45 -04:00
Brian Gernhardt
3fe1adfc6d git_prompt: Expand color/character explinations
This will be getting more complicated when I add the showcolorhint
option from git.git.
2013-07-26 22:03:45 -04:00
Brian Gernhardt
0af49d0533 git_prompt: Update documentation
* The original __git_ps1 function has split from the rest of
  git-completion as of git.git af31a45

* Use the description for GIT_PS1_DESCRIBE_STYLE (added in git.git
  50b03b0) for __fish_git_prompt_describe_style

* Update the description of __fish_git_prompt_showupstream to include
  the meaning of '=' based on git.git f9db192: "Improve the
  description of GIT_PS1_SHOWUPSTREAM"

* Note that the PROMPT_COMMAND versions of the command with extra
  arguments don't work, in case someone used to the bash version is
  looking for it.

* Note that I am updating the script so Kevin Ballard doesn't get
  blamed for anything I break.
2013-07-26 21:50:21 -04:00
Brian Gernhardt
d5c1bf98d7 git_prompt: Add branch information for rebase 2013-07-26 16:10:38 -04:00
Brian Gernhardt
5753fa2106 git_prompt: Merge operation, branch, and bare helpers
Operation and branch detection are merged together in the original
because branch information may come from different places depending on
the operation.

Merging the bare helper in helps avoid testing for the working
directory and bare status twice, both of which requires forking a new
process.

Also helps the code match the original more, which will make adding
new features easier.
2013-07-26 16:10:33 -04:00
Brian Gernhardt
31b01f8de3 git_prompt: Reorder show_upstream to match original
This makes it easier to see if there are any changes.  Also it puts
all of the extra functionality together instead of mixed in with
everything else.
2013-07-26 16:06:23 -04:00
Konrad Borowski
58ad04b61c Avoid standard command not found message when command-not-found is found
Squashed commit of the following:

commit c208bc30b7747b3743212483b3dd7e3f90819f49
Merge: 97bea94 2633372
Author: Konrad Borowski <glitchmr@myopera.com>
Date:   Fri Jul 19 09:56:12 2013 +0200

    Merge branch 'command-not-found' of git://github.com/GlitchMr/fish-shell into command-not-found

commit 26333721b9
Author: Konrad Borowski <glitchmr@myopera.com>
Date:   Fri Jul 19 09:55:13 2013 +0200

    Fix command_not_found when not found

commit db34460bb5
Author: Konrad Borowski <glitchmr@myopera.com>
Date:   Wed Jul 17 13:41:57 2013 +0200

    Avoid showing standard command not found message when possible

    In bash, command-not-found handler causes the standard messages to
    not appear. Because of events model in fish, it isn't really an
    option, so I moved the standard command not found message to
    fish function. This way, the messages aren't repeated, and the
    standard command not found message appears only when handler
    couldn't be found.
2013-07-19 09:56:47 +02:00
Siteshwar Vashisht
7353c6f94d Fixed ftp completions
Merged pull request at https://github.com/fish-shell/fish-shell/pull/919
Squashed commit of the following:

commit c0662a9d4da12ba49ffe1dddc918533f8a52b91f
Author: Siteshwar Vashisht <siteshwar@gmail.com>
Date:   Thu Jul 18 21:23:42 2013 +0530

    Added missing quote in ftp completions

commit 9ef408d039
Author: Konrad Borowski <glitchmr@myopera.com>
Date:   Thu Jul 18 15:33:57 2013 +0200

    Make punctuation consistent properly. Fixes #918.

commit ea26da0f82
Author: Konrad Borowski <glitchmr@myopera.com>
Date:   Thu Jul 18 15:29:02 2013 +0200

    Revert "make punctuation consistent"

    This reverts commit 993c028579.
2013-07-18 21:26:32 +05:30
Mariusz Smykuła
a3c87fb30b Less code is better, __fish_git_prompt_validate_chars refactoring 2013-06-18 22:40:09 +02:00
Mariusz Smykuła
228fa38240 Renaming, cleanup 2013-06-18 22:26:43 +02:00
Mariusz Smykuła
a142c5e1ec Support for defining color with bold/brighter color set 2013-06-18 22:20:28 +02:00
Mariusz Smykuła
4702283280 Less code is better, __fish_git_prompt_validate_colors refactor 2013-06-18 21:49:53 +02:00
Mariusz Smykuła
918df393e6 Use tabs, sample prompt 2013-06-18 08:52:32 +02:00
Mariusz Smykuła
1e415a9943 Fixes, new method added to prompt 2013-06-17 23:06:05 +02:00
Mariusz Smykuła
c955379971 Added informative status method 2013-06-17 22:20:56 +02:00
Mariusz Smykuła
1debe4f055 Informative version of __fish_git_prompt_show_upstream 2013-06-17 19:29:34 +02:00
Mariusz Smykuła
9b9ce31550 Fix variable name 2013-06-17 19:26:21 +02:00
James French
292908c00a Portmaster completions
* Added FreeBSD's pkg to __fish_print_packages
* Portmaster completes on installed packages and ports
* Options list as per fish_generate_completions, needs to be tidied
  up further but will suffice for now
2013-06-17 00:14:16 -07:00
Brian Gernhardt
70208eb33a git prompt: Fix hang on detached head.
$git_dir was never set in __fish_git_prompt_current_branch, but used
in the case of a detached HEAD.  This caused `cut -c1-7 $git_dir/HEAD`
to expand to `cut -c1-7` which then waited for input.
2013-06-12 16:29:02 -04:00
ridiculousfish
825a7311ea Make funced properly handle an invalid number of arguments
Fixes https://github.com/fish-shell/fish-shell/issues/780
2013-06-08 20:29:38 -07:00
Brian Gernhardt
697c44a293 git prompt: replace question with explanation
The code in question displays GIT_DIR! if the user is inside the .git
directory of a repository that has a working directory.  Several git
commands won't work in that situation, so it's useful to warn the
user.
2013-06-03 13:04:16 -04:00
Brian Gernhardt
18e34902a5 git prompt: actually show staged token 2013-06-03 13:00:14 -04:00
Brian Gernhardt
4b0c3ffc2f git prompt: reindent
Normally I wouldn't bother, but it was difficult to follow the nested
if statements.  Most of the file used tabs, so replaced all leading
spaces with the appropriate amount of tabs.
2013-06-03 12:59:50 -04:00
ridiculousfish
fd15d30987 Add some const, fix spaces 2013-06-02 01:14:05 -07:00
Christian Rishøj
a259c37415 transpose-words 2013-06-02 00:59:22 -07:00
ridiculousfish
9ca12e9f9d Squashed commit of the following:
commit 5a577d970a293afe320b6c3280c10c2bd8a1ff50
Merge: 908b075 96941b3
Author: ridiculousfish <corydoras@ridiculousfish.com>
Date:   Sat Jun 1 22:59:16 2013 -0700

    Merge branch 'dotdir-two-chars' of git://github.com/GlitchMr/fish-shell into GlitchMr-dotdir-two-chars

commit 96941b3a92
Author: Konrad Borowski <glitchmr@myopera.com>
Date:   Sat May 25 09:55:43 2013 +0200

    Support BSD sed

commit 60652c2bd2
Author: Konrad Borowski <glitchmr@myopera.com>
Date:   Sun May 19 10:58:40 2013 +0200

    Show first two characters for dotdirs. Fixes #754.
2013-06-01 23:02:13 -07:00
ridiculousfish
c238bdd861 Indentation and quote cleanup of help.fish 2013-05-25 13:52:06 -07:00
David Adam (zanchey)
d378904b98 help function: tidy up messages, remove the 'difference' option
Fixes #73
2013-05-25 13:47:34 -07:00
David Adam (zanchey)
3a4a2a6dac help command: only use $BROWSER if it is a valid command
(plus add Google Chrome and Chromium to graphical_browsers and a spelling fix)
2013-05-25 13:47:34 -07:00
Christian Rishøj
f32dfe2da6 command and binding for transpose-chars 2013-05-24 23:56:12 -07:00
ridiculousfish
37123ee053 Squashed commit of the following:
commit 4a9595845111bcc8d45419241f8f49bc3e8b3445
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:45:58 2013 +0200

    use the new functions

commit 1c934ebbe65a82e92079952b15f31d3a92bc5e8f
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:45:21 2013 +0200

    moves formatting code to the bottom in order to get it out of the way of all the colour handling

commit c62f827143c30f6810026c7e4a3d8b77178cd9a4
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:44:12 2013 +0200

    adds helper returning whether or not there are staged files

commit 624e47cb85a7579bf284a6a7f0c9165dfa38b0ce
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:43:41 2013 +0200

    adds helper returning whether or not the current branch is dirty

commit efc270da7b0998f564a7d2ae4ea3013ed6910e58
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:42:48 2013 +0200

    adds helper returning whether or not a repo is bare

commit 0da668316cedb8e3fa166977be82c917ef67ad86
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:41:55 2013 +0200

    adds helper returning current branch

commit 15cbcedc77199aea1868faee5d178d9547a4d541
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:41:10 2013 +0200

    adds helper returning current operation

commit c3352d3e9e60bf94fd4bf412ad85d62bba4cbff8
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Fri May 24 10:40:20 2013 +0200

    adds helper returning the git dir

commit f346e52b7814ebf1eed55f006c3bedc8ece38e3b
Author: Harm Aarts <harmaarts@gmail.com>
Date:   Mon May 20 18:52:19 2013 +0200

    use the fish_git_prompt_char_* variables
2013-05-24 23:15:46 -07:00
Dag Odenhall
2b99190a1b Add completions for cabal; closes #567 2013-05-04 12:48:38 -07:00
ridiculousfish
6496adf101 Make trap sort of work on OS X
https://github.com/fish-shell/fish-shell/issues/607
2013-04-28 16:31:25 -07:00
ridiculousfish
79f8d5c51e Fix __fish_filter_mime to not pass 0 to seq 2013-04-28 15:59:33 -07:00
ridiculousfish
ab385cd609 Teach fish about rxvt's special key bindings
https://github.com/fish-shell/fish-shell/issues/657
2013-04-28 14:36:11 -07:00
Greg Dietsche
993c028579 make punctuation consistent
Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>
2013-04-07 16:49:47 -07:00
Greg Dietsche
9285ade8a8 ftp: add support for ftp and pftp
Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>
2013-04-07 16:49:46 -07:00
Greg Dietsche
83e9f0dd91 grep: add support for egrep, fgrep, rgrep
Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>
2013-04-07 16:42:28 -07:00
ridiculousfish
0970487cca Some spaces to tabs in __fish_print_hostnames 2013-04-03 18:46:50 -07:00
Greg Dietsche
d38f1380e9 Ignore hashed host names in ssh/known_hosts
Valid DNS names cannot have a | character and hashed ssh hosts
always begin with the | character. Therefore we ignore lines that
begin with |.

Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>
2013-04-03 18:45:13 -07:00
Greg Dietsche
2626b83b08 the host keyword in ssh/.config is case insensitive
Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>
2013-04-03 18:45:13 -07:00
ridiculousfish
2a6412481e Fix a few more spelling / grammar issues in functions and completions 2013-04-01 10:52:27 -07:00
ridiculousfish
b4447bfa4d Squashed commit of the following:
commit 1bbde16b17f04903340206bada9935ea64f785ba
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 01:12:22 2013 -0500

    fix spelling in xterm.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 392dd59da76e6a1293db79733e1975dbb9ef4032
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 01:10:08 2013 -0500

    fix spelling in type.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit f82026828e4c08bdf355176f86489783c57efc80
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 01:09:34 2013 -0500

    fix spelling in top.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 196f2ec59c0904eb13159d1063e2e6c6edbd50a8
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 01:08:16 2013 -0500

    fix spelling in scrot.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 8400d97dce93afe48612c66eb8ddc2bd06b40968
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 01:07:48 2013 -0500

    fix spelling in scp.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit b68bb3f36915520d2c271e48e2d5356e087e9fcf
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 01:04:30 2013 -0500

    fix spelling in mount.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 97000184afde10ca26b6dda8597baa0593bb4e09
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 01:01:46 2013 -0500

    fix spelling in hg.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 87ca4e71ce57842ab98e4d6b6f9274aafd9713a5
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 01:00:37 2013 -0500

    fix spelling in gzip.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 17246a21ad3df39660e6b4c86bf8c6a2239b416b
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 01:00:07 2013 -0500

    fix spelling in gunzip.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 0f618600508695ed5a93110568343f8a783db8c5
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:59:37 2013 -0500

    fix spelling in grep.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit bacf6a62041d13f1766e90748cfc2c76e1b04b98
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:58:16 2013 -0500

    fix spelling in git.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit f8f6a1914a8f2f60a14dac532f1d63dd8269f676
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:56:45 2013 -0500

    fix spelling in fuser.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit dcdfd1552dfd360d1ce808706bc401d52cce22ce
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:54:58 2013 -0500

    fix spelling in effectv.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 7b4388364f546b81f0557c500bb6a5207931c3be
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:53:45 2013 -0500

    fix spelling in du.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 0450070e98adae2ebe19806f4fb74386a50de003
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:52:55 2013 -0500

    fix spelling in df.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 49ae24ae0dbd06c72e6c994f1ea4ca9b385fdda5
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:49:00 2013 -0500

    fix spelling in cut.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 4eccc923f389e2fc0c498fc63e4bbeeccc177e9a
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:47:21 2013 -0500

    fix spelling in compare.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 8c0cfb91c596ef7a1583877c8f38fab7e867cff2
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:46:46 2013 -0500

    fix spelling in chown.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 4518b06c3fc8c565038ccbeeb0d2f8aea73e1ee0
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:46:08 2013 -0500

    fix spelling in chgrp.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit a0a4fb3dc271c469482e87a0f9efab4016596f82
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:43:04 2013 -0500

    fix spelling in apt-setup.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 740e75e5316e73fb03c00bd9b482786d1f387cc5
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:42:25 2013 -0500

    fix spelling in apt-rdepends.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 7a2727bcb96e58a023d0f8ab807f839e76555375
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:27:27 2013 -0500

    fix spelling in fish_complete_pacman.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 0e28ff4c1c90bdbf1e1b780d0ab3c2ba04b3a463
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:26:17 2013 -0500

    fix spelling in fish_complete_pgrep.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 1ca9fad713c460debcd851dfcffa135f3b579561
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:24:13 2013 -0500

    fix spelling in trap.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit deb0c2129d50d627d720cbd549cf8aadc3113243
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:19:00 2013 -0500

    fix spelling in fish_not_contain_opt.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 8a40bd08b37d5c80041b7beb58fb82d9b0592b5d
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:18:16 2013 -0500

    fix spelling in fish_make_completion.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit f1c48dc8236a8eb5ba0e45e985e8dd7eadfb88e5
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:17:09 2013 -0500

    fix spelling in fish_gnu_complete.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit b6813883d9355f8e15917769d46b58cc8fab840d
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:16:33 2013 -0500

    fix spelling in fish_git_prompt.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 97e3e74ddb743061a8e4349bf7895cf98cf9d9b2
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:13:11 2013 -0500

    fix spelling in fish_complete_vi.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 7c31d5fec8f855fbc3496be7200915a1d2dc4d46
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:10:47 2013 -0500

    fix spelling of in fish_complete_tex.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 3f06bdb91942c4d0e686d1bb8b5eff1983a91304
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:06:45 2013 -0500

    fix spelling in fish_complete_list.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit 5bfd9ef40547b744c9bbfb4cc6f8a7d880d8f3d6
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Mon Apr 1 00:03:14 2013 -0500

    fix spelling in fish_complete_atool.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>

commit b84a43ff0bad5e206a591891b6c7ff9028e14eb5
Author: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Date:   Sun Mar 31 23:40:28 2013 -0500

    fix spelling of protocol in fish_complete_ssh.fish

    Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>
2013-04-01 10:49:02 -07:00
ridiculousfish
7d480ff579 Make __fish_filter_mime not spew if there's no results
https://github.com/fish-shell/fish-shell/issues/628
2013-03-28 17:01:07 -07:00
Kenneth Vestergaard
1afdbb848e Minor fix to order of arguments in error-message. 2013-03-09 13:03:28 -08:00
aliva
3bfcd5e105 recreate yum-cache file every six hours. 2013-03-02 01:48:56 +03:30
aliva
87aca05e7f autocomplete 'yum install' using yum cache 2013-03-01 23:27:03 +03:30
Konrad Borowski
3c8c8a7559 Remove useless __fish_complete_perl function 2013-02-21 12:53:35 -08:00
Konrad Borowski
a61e2caadb Update Perl completion 2013-02-21 12:53:35 -08:00
ridiculousfish
12095c721c Remove unnecessary eval in __fish_complete_cd
https://github.com/fish-shell/fish-shell/pull/589
2013-02-20 18:43:54 -08:00
Kenneth Vestergaard
286bef5eb7 Fix crash when /etc/{fstab,hosts} is unreadable. 2013-02-20 12:30:36 -08:00
Jan Kanis
2f43584727 small tweak to alias.fish: always add some prefix if in danger of infinite recursion 2013-02-19 22:58:55 +01:00
ridiculousfish
e7c1cb7185 Move autogenerated completions to ~/.config/fish/generated_completions/
https://github.com/fish-shell/fish-shell/issues/576
2013-02-17 16:14:36 -08:00
ridiculousfish
8b40f09e17 Add function wrapper for mimedb 2013-02-17 12:56:56 -08:00
ridiculousfish
db5eebd372 Add function for fish_indent so that it does not need to be in PATH, in preparation for making fish no longer need to set PATH 2013-02-13 14:44:10 -08:00
ridiculousfish
41fc3bcb74 Remove some debugging code inadverently left in __fish_complete_cd.fish 2013-02-11 14:42:23 -08:00
Jan Kanis
e8da9999f6 optimize 'alias', fixing bug #486. Also some minor optimizations in 'type' 2013-02-05 23:14:06 +01:00
ridiculousfish
818533f9f0 Add a newline to prevent a comment from being cut off 2013-02-01 17:15:35 -08:00
ridiculousfish
ff7cbab991 Add man function to promote fish's man pages so it can serve as a suitable replacement for help 2013-02-01 17:11:22 -08:00
Kevin Ballard
7df89566f3 Fix __fish_git_prompt's upstream indicator for git-svn branches 2013-01-30 22:02:51 -08:00
Kevin Ballard
32b2c9fc9e Update __fish_git_prompt.fish to use 'else if' 2013-01-30 21:57:59 -08:00
ridiculousfish
27e71c5f37 Fix funced to stop outputing an error if no EDITOR is set 2013-01-27 13:14:24 -08:00
ridiculousfish
2b35b3f06e Fix umask in Linux https://gist.github.com/4627181 2013-01-26 12:49:37 -08:00
ridiculousfish
5e9ca72731 Break up $EDITOR before passing it to type to allow it to contain flags
More work on https://github.com/fish-shell/fish-shell/issues/541
2013-01-23 18:24:49 -08:00
ridiculousfish
debfc0f712 Allow $EDITOR to be an array. Fixes https://github.com/fish-shell/fish-shell/issues/541 2013-01-23 17:14:22 -08:00
ridiculousfish
3d0d9a250b Remove Goodbye message. https://github.com/fish-shell/fish-shell/issues/521 2013-01-21 14:54:15 -08:00
Cheer Xiao
887474d607 Use double quotes in eval.fish 2013-01-20 15:55:10 +01:00
ridiculousfish
6416cb45fb Fix proc and pid completion on OS X, and improve it on Linux.
https://github.com/fish-shell/fish-shell/pull/129
2013-01-16 14:11:43 -08:00
ridiculousfish
acbb6fb8e2 Make umask work on OS X
https://github.com/fish-shell/fish-shell/issues/515
2013-01-12 15:35:40 -08:00
ridiculousfish
1163961927 Actually add the seq function (oops) 2013-01-12 15:22:09 -08:00
ridiculousfish
dc37a8079e Added a seq function that defers to the seq command if present
https://github.com/fish-shell/fish-shell/issues/137
2013-01-12 14:18:34 -08:00
Cheer Xiao
f8e01628b2 Keybinding of \ew and \ed: Insert a newline before displaying info 2013-01-07 19:32:38 -08:00
lledey
f0000ea7d2 Re-enable alias redefinition
Fixes #494

Signed-off-by: lledey <lledey@gmail.com>
2013-01-07 15:09:32 +01:00
Jan Kanis
a4c646f75c make 'alias' check for recursive calls and insert 'command'; update docs, fix #486 2013-01-01 22:56:08 +01:00
ridiculousfish
183aea5c96 Teach help how to not drop fragments on OS X 2012-12-27 14:04:11 -08:00
ridiculousfish
97ddf9a4f3 Teach help how to go to the web if documentation is not installed 2012-12-27 13:39:43 -08:00
ridiculousfish
fb8f16373f Teach fish_print_commands how to use __fish_datadir 2012-12-27 00:46:54 -08:00
ridiculousfish
efe9c82bc6 Formatting 2012-12-26 22:08:49 -08:00
David Adam (zanchey)
27e4ece24f add __fish_print_commands and use it for help 2012-12-26 21:09:50 -08:00
ridiculousfish
6b35250099 Make meta-backspace less aggressive about what it deletes 2012-12-20 17:58:09 -08:00
Cheer Xiao
0479060858 A quick fix to issue #456. 2012-12-17 20:08:45 -08:00
Cheer Xiao
28264423a4 Fix man completion: suppress stderr of aprops 2012-12-16 01:25:27 +08:00
ridiculousfish
d4a171a791 Fix to make fish_command_not_found_handler run the first time 2012-12-11 16:08:37 -08:00
ridiculousfish
978066a6de Attempt to delay looking up command-not-found until the first not-found command to speed up startup 2012-12-11 16:00:49 -08:00
David Adam (zanchey)
60435f99b9 fix typo in hostname completion 2012-12-10 01:30:40 +05:30
Siteshwar Vashisht
b1e86d6fea Fixed test statement in binding for Alt-D
Fix for https://github.com/fish-shell/fish-shell/issues/421
2012-12-05 00:16:22 +05:30
David Adam (zanchey)
b02ed0bbe6 use sgrep instead of grep 2012-11-27 13:02:13 +08:00
David Adam (zanchey)
165ba535f0 use getent for hosts if available, otherwise use more resilient processing of /etc/hosts 2012-11-27 11:49:52 +08:00
David Adam (zanchey)
8253df7c3d use getent for passwd and group if available 2012-11-27 11:49:52 +08:00
ridiculousfish
bab69f2672 Merge branch 'master' into fix-indentation-merge 2012-11-18 15:12:22 -08:00
ridiculousfish
5827bfd9a2 Default fish_pager_color_description to '555 yellow'
Fixes https://github.com/fish-shell/fish-shell/issues/280
2012-11-18 03:17:51 -08:00
Łukasz Niemier
47df1ae40a Remove trailing whitespaces and change tabs to spaces 2012-11-18 11:23:22 +01:00
Terje Larsen
b79854ad1a Optimize staged logic 2012-11-17 13:37:32 -08:00
Terje Larsen
8229b17f0d Use double-dollar vars for dynamic variables 2012-11-17 13:37:32 -08:00
Terje Larsen
4a5d02aab4 Add configurable status signs again 2012-11-17 13:37:32 -08:00
Terje Larsen
ed4e6cd3a5 Fix uniqueness and escape question-marks 2012-11-17 13:37:32 -08:00
Sławek Piotrowski
7d45e6f12f Fix: args -> argv in __fish_git_prompt 2012-11-14 19:00:17 +01:00
Terje Larsen
239d43dac4 Improve the git prompt
- Fix branch for older git version (--short for symbolic-ref was not
  available on git 1.7.9.5)
- Use index (git status) for checking if staged
- Add status indication for copied
- Remove variables for statuses (less litter in the variables)
- Remove usage of eval to echo and set_color
- Replace printf where possible with echo -n
2012-10-20 12:52:53 -07:00
ridiculousfish
8a63326411 Removed backwards compatibility check for fish_user_keybindings 2012-10-20 12:21:41 -07:00
Nate Soares
01608cf062 Normalized some inconsistent whitespace. 2012-10-20 12:15:49 -07:00
Nate Soares
e06d6ce4a2 Revive support for fish_user_keybindings
This is undocumented and here to preserve backwards compatibility.
2012-10-20 12:15:49 -07:00
Nate Soares
58a0c6f9d3 added missing underscore 2012-10-20 12:15:49 -07:00