Fabian Homborg
9a7b2b190b
hg prompt: Make display slightly nicer
...
The "/" between branch and bookmark might be mistaken for a path.
Parens (like the git prompt) make it look a bit more like a unit.
2015-12-31 14:21:37 +01:00
Fabian Homborg
6f2f0cfce2
Optimize hg prompt
...
Mainly replace hg calls since python is slow to start.
2015-12-31 14:21:37 +01:00
Fabian Homborg
3a249bb549
Include mount helpers in filesystem completion
...
Probably not a thing on OSX, but this should print nothing then.
On linux, it helps detect e.g. ntfs-3g.
2015-12-30 19:02:03 +01:00
Fabian Homborg
1a12071a48
Immediately define command-not-found handler
...
This skips the weird dance where we'd define a simple handler and then
later overwrite with a fancier one, once the first event came in.
It turns out that isn't necessary, as it doesn't actually improve
startup speed because the checks needed to define fancier handlers are fast.
In case we are non-interactive, still define the simple handler, and
keep the default handler for users to switch to.
2015-12-30 16:26:54 +01:00
Maxim Gonchar
95c30f7a23
Use \$ and \^ instead of their unicode codes
2015-12-30 12:49:44 +01:00
Maxim Gonchar
d5fe5c02a8
Update visual vi key bindings
...
* Add home/end, $/0 keys
* Add (c)hange key
* Add j/k keys for up/down
2015-12-30 12:49:44 +01:00
Fabian Homborg
759b45ad79
Remove temporary set_default function
...
This could potentially delete a user-defined set_default on first start.
It's also trivially done with set -q var; or set -U var val.
2015-12-30 12:49:44 +01:00
Fabian Homborg
834ebef53c
Simplify greeting
...
We have already confirmed we're interactive, and `echo` is a builtin now.
2015-12-29 15:58:48 +01:00
lordlycastle
f23c2beb61
Fixed kill-signals completion. Added completions for OS X kill command.
...
Don't generate killall completions when running on Solaris OS - `killall` there literally kills all processes.
2015-12-28 12:54:13 +01:00
Fabian Homborg
8a6f26ff9b
Document prompt_pwd
...
Fixes #253
2015-12-17 15:25:13 +01:00
Fabian Homborg
fb1a7d9d73
Port linux __fish_print_mounted to string
...
This adds a few escape sequences, but two out of the three are
theoretical and will fail a bit later.
2015-12-17 12:14:03 +01:00
Fabian Homborg
baa6971a46
Add __fish_vcs_prompt helper function
...
This is supposed to be used by prompts so they'll get all known vcsen
integrated.
For now, there's no distinction between the different vcsen.
2015-12-16 19:05:28 +01:00
Fabian Homborg
6c8518dd10
Update vte cwd on launch
...
Fixes #2418
2015-12-12 12:22:08 +01:00
Samantha Marshall
f5dfebb6a3
Add __fish_svn_prompt function
...
This refactors __fish_print_svn_rev to not depend on english locale
2015-12-10 18:17:40 +01:00
Fabian Homborg
b73bf53bd3
Enable 24-bit mode for selected terminals
...
Unfortunately, there's no standard way to detect support (importantly,
terminfo doesn't encode it), but there's a variety of terminals that
support it that we can detect.
It's better than letting this functionality go to waste.
Check KONSOLE_PROFILE_NAME instead of DBUS_SESSION because Konsole can be compiled without dbus support.
Check ITERM_SESSION_ID's format for 24bit support
This has changed since the last release, just like 24bit support. So if
we check one, we get the other.
2015-12-10 12:47:45 +01:00
Kurtis Rader
d65c63322e
allow \cJ (\n) to be bound separate from \cM (\r)
...
This makes it possible (on UNIX systems, don't know about MS Windows)
to bind \cJ (\n) independently of \cM (\r, aka [enter]).
Resolves #217
2015-12-08 21:01:31 -08:00
David Adam
ef67fc7ba0
__fish_complete_man: rework AWK script
...
Adds support for the man-db alias format used in CentOS/RHEL 5
Adds basic support for the output of apropos on Solaris
Work on #2087 .
2015-12-04 16:23:57 +08:00
Daniel Matz
c2c4fbf206
Add a function to complete job PIDs.
2015-11-27 16:07:16 -08:00
Fabian Homborg
53fc9a4002
Remove circular dependency in fallback seq
...
This was subtle because `type` invoked seq.
Fixes #2570
2015-11-27 19:34:27 +01:00
Fabian Homborg
3e0ff6db2a
math: Join lines manually
...
This is an issue with 15-year old versions of bc that don't support BC_LINE_LENGTH.
Closes #2548
2015-11-19 12:04:21 +01:00
Eugene Sharygin
5db811253e
psub: add -s, --suffix
2015-11-14 13:15:30 +01:00
ridiculousfish
e50d104399
Remove duplicate \cw binding in default key bindings
2015-11-08 23:52:59 -08:00
Fabian Homborg
c9577394eb
vi-mode: Inherit \cf and \cb bindings as well
...
This makes them {forward,backward}-char instead of -word, which means
they accept suggestions _fully_.
Fixes #2255
2015-11-06 10:25:27 +01:00
maxried
1055864438
Update fish_default_key_bindings.fish
...
fish_default_key_bindings.fish comments were wrong. Corrected comment about pagination.
2015-10-29 07:51:17 +01:00
Fabian Homborg
be0d9d093c
vi-mode: Make \cb do backward-word again
...
This is mentioned in the documentation, so keep it for now.
2015-10-28 13:20:23 +01:00
Fabian Homborg
bb491742ea
vi: Bind \cx to end-of-line in insert mode
...
This will also accept any autosuggestion completely.
2015-10-28 13:18:27 +01:00
Gary Peck
09bd938e25
Add ability to customize the amount of path shortening in prompt_pwd
...
Allows the length of each shortened path component to be customized by setting the `fish_prompt_pwd_dir_length` variable to the number of characters to include (plus a leading dot because that's special). Maintains the default behavior of shortening path components to just one character. You can also set `fish_prompt_pwd_dir_length` to an empty or invalid value or 0 to disable shortening completely.
2015-10-26 13:11:13 +01:00
David Adam
f21d826850
fish_complete_subcommand: shadow scope to inherit e.g. $PATH
...
Closes : #2141 .
2015-10-21 15:38:20 +08:00
David Adam
b776327b9d
Revert "prompts: more concise way of getting the hostname."
...
This reverts commit 233c443694
.
See discussion in https://github.com/fish-shell/fish-shell/pull/2489
2015-10-16 07:01:12 +08:00
Michael Fogleman
233c443694
prompts: more concise way of getting the hostname.
2015-10-15 11:59:39 +08:00
Fabian Homborg
35bbc1d7b7
vi: Make \cf do forward-word again in insert mode
2015-10-14 18:34:58 +02:00
Fabian Homborg
4e5e04bfda
vi: Readd \cx binding
2015-10-14 18:31:45 +02:00
Fabian Homborg
c0e8ad6f1f
Make vi bindings inherit the defaults
...
This reduces code duplication and adds some previously unavailable
bindings that don't quite _violate_ the vi-principle (like
prevd-or-backward-word on alt-left) and matches other "impure" bindings
like \cf for forward-word (a quite emacs-ish binding) we already have.
Fixes #2412
Fixes #2472
Fixes #2255
2015-10-13 21:08:55 +02:00
Fabian Homborg
9865a8c807
Also send konsole cursor sequence for iTerm2
...
Fixes #1403
2015-10-13 15:36:55 +02:00
Matt Steedman
35e769d494
Make fish_vi_cursor check $TERM or use argument
...
Fixes #2475
2015-10-13 15:33:45 +02:00
Fabian Homborg
54f215294f
export: Fix replacing
...
Also run it through fish_indent
2015-10-12 11:35:45 +02:00
Fabian Homborg
86471ac21f
Remove OSX/Cygwin special cases from prompt_pwd
...
For cygwin, you can't `cd C:`, so a prompt of "C:/Something" is
misleading.
For OSX, we dereference symlinks elsewhere
This also simplifies prompt_pwd quite a bit.
2015-10-09 17:45:45 +02:00
David Adam
57e22e87c2
functions/man.fish: add fish into MANPATH even if it is already set
...
Closes #2443 .
2015-10-09 21:01:59 +08:00
ridiculousfish
434eabb787
Remove errant slash from the end of cd completions
...
Fixes #2465
2015-10-07 13:39:42 -07:00
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