mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-13 13:39:02 +00:00
Move more functions to autoload
darcs-hash:20060208102043-ac50b-4e26615523a6b9528c2ea4768f41ad1b2e1c4a0f.gz
This commit is contained in:
parent
4d9bb19467
commit
35dde5de15
8 changed files with 114 additions and 130 deletions
|
@ -43,7 +43,6 @@ function __fish_complete_command -d "Complete using all available commands"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function __fish_print_hostnames -d "Print a list of known hostnames"
|
function __fish_print_hostnames -d "Print a list of known hostnames"
|
||||||
|
|
||||||
# Print all hosts from /etc/hosts
|
# Print all hosts from /etc/hosts
|
||||||
|
|
|
@ -1,67 +1,6 @@
|
||||||
#
|
|
||||||
# This file defines various shellscript functions. Most of them are
|
|
||||||
# meant to be used directly by the user, but some of them, typically
|
|
||||||
# the ones whose name start with '__fish_', are only meant to be used
|
|
||||||
# internally by fish.
|
|
||||||
#
|
|
||||||
|
|
||||||
function contains -d "Test if a key is contained in a set of values"
|
|
||||||
while set -q argv
|
|
||||||
switch $argv[1]
|
|
||||||
case '-h' '--h' '--he' '--hel' '--help'
|
|
||||||
help contains
|
|
||||||
return
|
|
||||||
|
|
||||||
case '--'
|
|
||||||
# End the loop, the next argument is the key
|
|
||||||
set -e argv[1]
|
|
||||||
break
|
|
||||||
|
|
||||||
case '-*'
|
|
||||||
printf (_ "%s: Unknown option '%s'\n") contains $argv[$i]
|
|
||||||
help contains
|
|
||||||
return 1
|
|
||||||
|
|
||||||
case '*'
|
|
||||||
# End the loop, we found the key
|
|
||||||
break
|
|
||||||
|
|
||||||
end
|
|
||||||
set -e argv[1]
|
|
||||||
end
|
|
||||||
|
|
||||||
if not set -q argv
|
|
||||||
printf (_ "%s: Key not specified\n") contains
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
set -- key $argv[1]
|
|
||||||
set -e argv[1]
|
|
||||||
|
|
||||||
#
|
|
||||||
# Loop through values
|
|
||||||
#
|
|
||||||
|
|
||||||
printf "%s\n" $argv|grep -Fx -- $key >/dev/null
|
|
||||||
return $status
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# These are very common and useful
|
# Print the current working directory in a shortened form. This
|
||||||
#
|
|
||||||
function ll -d "List contents of directory using long format"
|
|
||||||
ls -lh $argv
|
|
||||||
end
|
|
||||||
|
|
||||||
function la -d "List contents of directory using long format, showing hidden files"
|
|
||||||
ls -lha $argv
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Print the current working directory in a shortened form.This
|
|
||||||
# function is used by the default prompt command.
|
# function is used by the default prompt command.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@ -85,28 +24,6 @@ else
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#
|
|
||||||
# Make pwd print out the home directory as a tilde.
|
|
||||||
#
|
|
||||||
|
|
||||||
function pwd -d "Print working directory"
|
|
||||||
command pwd | sed -e 's|/private||' -e "s|^$HOME|~|"
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# This function is used internally by the fish command completion code
|
|
||||||
#
|
|
||||||
|
|
||||||
function __fish_describe_command -d "Command used to find descriptions for commands"
|
|
||||||
apropos $argv | awk -v FS=" +- +" '{
|
|
||||||
split($1, names, ", ");
|
|
||||||
for (name in names)
|
|
||||||
if (names[name] ~ /^'"$argv"'.* *\([18]\)/) {
|
|
||||||
sub("\\([18]\\)", "", names[name]);
|
|
||||||
print names[name] "\t" $2;
|
|
||||||
}
|
|
||||||
}'
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# This function is bound to Alt-L, it is used to list the contents of
|
# This function is bound to Alt-L, it is used to list the contents of
|
||||||
|
@ -157,50 +74,6 @@ function dirs -d "Print directory stack"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# The following functions add support for a directory history
|
|
||||||
#
|
|
||||||
|
|
||||||
function cd -d "Change directory"
|
|
||||||
|
|
||||||
# Skip history in subshells
|
|
||||||
if status --is-command-substitution
|
|
||||||
builtin cd $argv
|
|
||||||
return $status
|
|
||||||
end
|
|
||||||
|
|
||||||
# Avoid set completions
|
|
||||||
set previous (command pwd)
|
|
||||||
|
|
||||||
if test $argv[1] = - ^/dev/null
|
|
||||||
if test $__fish_cd_direction = next ^/dev/null
|
|
||||||
nextd
|
|
||||||
else
|
|
||||||
prevd
|
|
||||||
end
|
|
||||||
return $status
|
|
||||||
end
|
|
||||||
|
|
||||||
builtin cd $argv[1]
|
|
||||||
|
|
||||||
if test $status = 0 -a (command pwd) != $previous
|
|
||||||
set -g dirprev $dirprev $previous
|
|
||||||
set -e dirnext
|
|
||||||
set -g __fish_cd_direction prev
|
|
||||||
end
|
|
||||||
|
|
||||||
return $status
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function __bold -d "Print argument in bold"
|
|
||||||
set_color --bold
|
|
||||||
printf "%s" $argv[1]
|
|
||||||
set_color normal
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
function prevd-or-backward-word --key-binding
|
function prevd-or-backward-word --key-binding
|
||||||
if test -z (commandline)
|
if test -z (commandline)
|
||||||
prevd
|
prevd
|
||||||
|
|
15
init/functions/__fish_describe_command.fish
Normal file
15
init/functions/__fish_describe_command.fish
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#
|
||||||
|
# This function is used internally by the fish command completion code
|
||||||
|
#
|
||||||
|
|
||||||
|
function __fish_describe_command -d "Command used to find descriptions for commands"
|
||||||
|
apropos $argv | awk -v FS=" +- +" '{
|
||||||
|
split($1, names, ", ");
|
||||||
|
for (name in names)
|
||||||
|
if (names[name] ~ /^'"$argv"'.* *\([18]\)/) {
|
||||||
|
sub("\\([18]\\)", "", names[name]);
|
||||||
|
print names[name] "\t" $2;
|
||||||
|
}
|
||||||
|
}'
|
||||||
|
end
|
||||||
|
|
35
init/functions/cd.fish
Normal file
35
init/functions/cd.fish
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#
|
||||||
|
# The following functions add support for a directory history
|
||||||
|
#
|
||||||
|
|
||||||
|
function cd -d "Change directory"
|
||||||
|
|
||||||
|
# Skip history in subshells
|
||||||
|
if status --is-command-substitution
|
||||||
|
builtin cd $argv
|
||||||
|
return $status
|
||||||
|
end
|
||||||
|
|
||||||
|
# Avoid set completions
|
||||||
|
set previous (command pwd)
|
||||||
|
|
||||||
|
if test $argv[1] = - ^/dev/null
|
||||||
|
if test $__fish_cd_direction = next ^/dev/null
|
||||||
|
nextd
|
||||||
|
else
|
||||||
|
prevd
|
||||||
|
end
|
||||||
|
return $status
|
||||||
|
end
|
||||||
|
|
||||||
|
builtin cd $argv[1]
|
||||||
|
|
||||||
|
if test $status = 0 -a (command pwd) != $previous
|
||||||
|
set -g dirprev $dirprev $previous
|
||||||
|
set -e dirnext
|
||||||
|
set -g __fish_cd_direction prev
|
||||||
|
end
|
||||||
|
|
||||||
|
return $status
|
||||||
|
end
|
||||||
|
|
49
init/functions/contains.fish
Normal file
49
init/functions/contains.fish
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
#
|
||||||
|
# This file defines various shellscript functions. Most of them are
|
||||||
|
# meant to be used directly by the user, but some of them, typically
|
||||||
|
# the ones whose name start with '__fish_', are only meant to be used
|
||||||
|
# internally by fish.
|
||||||
|
#
|
||||||
|
|
||||||
|
function contains -d "Test if a key is contained in a set of values"
|
||||||
|
while set -q argv
|
||||||
|
switch $argv[1]
|
||||||
|
case '-h' '--h' '--he' '--hel' '--help'
|
||||||
|
help contains
|
||||||
|
return
|
||||||
|
|
||||||
|
case '--'
|
||||||
|
# End the loop, the next argument is the key
|
||||||
|
set -e argv[1]
|
||||||
|
break
|
||||||
|
|
||||||
|
case '-*'
|
||||||
|
printf (_ "%s: Unknown option '%s'\n") contains $argv[$i]
|
||||||
|
help contains
|
||||||
|
return 1
|
||||||
|
|
||||||
|
case '*'
|
||||||
|
# End the loop, we found the key
|
||||||
|
break
|
||||||
|
|
||||||
|
end
|
||||||
|
set -e argv[1]
|
||||||
|
end
|
||||||
|
|
||||||
|
if not set -q argv
|
||||||
|
printf (_ "%s: Key not specified\n") contains
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
set -- key $argv[1]
|
||||||
|
set -e argv[1]
|
||||||
|
|
||||||
|
#
|
||||||
|
# Loop through values
|
||||||
|
#
|
||||||
|
|
||||||
|
printf "%s\n" $argv|grep -Fx -- $key >/dev/null
|
||||||
|
return $status
|
||||||
|
end
|
||||||
|
|
||||||
|
|
7
init/functions/ll.fish
Normal file
7
init/functions/ll.fish
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#
|
||||||
|
# These are very common and useful
|
||||||
|
#
|
||||||
|
function ll -d "List contents of directory using long format"
|
||||||
|
ls -lh $argv
|
||||||
|
end
|
||||||
|
|
7
init/functions/pwd.fish
Normal file
7
init/functions/pwd.fish
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#
|
||||||
|
# Make pwd print out the home directory as a tilde.
|
||||||
|
#
|
||||||
|
|
||||||
|
function pwd -d "Print working directory"
|
||||||
|
command pwd | sed -e 's|/private||' -e "s|^$HOME|~|"
|
||||||
|
end
|
|
@ -474,7 +474,6 @@ int parse_util_load( const wchar_t *cmd,
|
||||||
*/
|
*/
|
||||||
if( !reload && tm )
|
if( !reload && tm )
|
||||||
return 0;
|
return 0;
|
||||||
debug( 1, L"WOO %ls", cmd );
|
|
||||||
|
|
||||||
al_init( &path_list );
|
al_init( &path_list );
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue