mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-13 21:44:16 +00:00
Update for type function
darcs-hash:20050924013016-ac50b-d153454213661a003b54306f9ee32caf6c390505.gz
This commit is contained in:
parent
3e0e50fbf3
commit
5a7a14003f
3 changed files with 124 additions and 89 deletions
|
@ -103,7 +103,7 @@ CMD_DOC_SRC := doc_src/count.txt doc_src/dirh.txt doc_src/dirs.txt \
|
||||||
doc_src/fishd.txt doc_src/help.txt doc_src/mimedb.txt \
|
doc_src/fishd.txt doc_src/help.txt doc_src/mimedb.txt \
|
||||||
doc_src/nextd.txt doc_src/open.txt doc_src/popd.txt \
|
doc_src/nextd.txt doc_src/open.txt doc_src/popd.txt \
|
||||||
doc_src/prevd.txt doc_src/pushd.txt doc_src/set_color.txt \
|
doc_src/prevd.txt doc_src/pushd.txt doc_src/set_color.txt \
|
||||||
doc_src/tokenize.txt
|
doc_src/tokenize.txt doc_src/type.txt
|
||||||
|
|
||||||
#
|
#
|
||||||
# Files generated by running doxygen on the files in $(CMD_DOC_SRC)
|
# Files generated by running doxygen on the files in $(CMD_DOC_SRC)
|
||||||
|
|
20
doc_src/type.txt
Normal file
20
doc_src/type.txt
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
|
||||||
|
\section type type - Indicate how a name would be interpreted if used as a command name
|
||||||
|
|
||||||
|
\subsection type-synopsis Synopsis
|
||||||
|
<tt>type [OPTIONS] name [name ...]</tt>
|
||||||
|
|
||||||
|
\subsection type-description Description
|
||||||
|
|
||||||
|
With no options, indicate how each name would be interpreted if used as a command name.
|
||||||
|
|
||||||
|
- \c -h or \c --help print this message
|
||||||
|
- \c -a or \c --all print all of possible definitions of the specified names
|
||||||
|
- \c -f or \c --no-functions supresses function and builtin lookup
|
||||||
|
- \c -t or \c --type print a string which is one of alias, keyword, function, builtin, or file if name is an alias, shell reserved word, function, builtin, or disk file, respectively
|
||||||
|
- \c -p or \c --path either return the name of the disk file that would be executed if name were specified as a command name, or nothing if ‘‘type -t name’’ would not return file
|
||||||
|
- \c -P or \c --force-path either return the name of the disk file that would be executed if name were specified as a command name, or nothing no file with the spacified name could be found in the PATH
|
||||||
|
|
||||||
|
\subsection type-example Example
|
||||||
|
|
||||||
|
<tt>type fg</tt> outputs the string 'fg is a shell builtin'.
|
|
@ -242,7 +242,7 @@ function vared -d "Edit variable value"
|
||||||
switch $argv
|
switch $argv
|
||||||
|
|
||||||
case '-h' '--h' '--he' '--hel' '--help'
|
case '-h' '--h' '--he' '--hel' '--help'
|
||||||
printf "Synopsis\n\t%svared%s VARIABLE\n\n" (set_color $FISH_COLOR_COMMAND) (set_color $FISH_COLOR_NORMAL)
|
printf "Synopsis\n\t%svared%s VARIABLE\n\n" (set_color $fish_color_command) (set_color normal)
|
||||||
printf "\tInteractively edit the value of an environment variable\n\n"
|
printf "\tInteractively edit the value of an environment variable\n\n"
|
||||||
|
|
||||||
case '-*'
|
case '-*'
|
||||||
|
@ -528,11 +528,41 @@ function dirh -d "Print the current directory history (the back- and fwd- lists)
|
||||||
echo
|
echo
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function __bold -d "Print argument in bold"
|
||||||
|
set_color --bold
|
||||||
|
printf "%s" $argv[1]
|
||||||
|
set_color normal
|
||||||
|
end
|
||||||
|
|
||||||
|
function __type_help -d "Help for the type shellscript function"
|
||||||
|
|
||||||
|
echo \ttype type - Indicate how a name would be interpreted if used as a command name
|
||||||
|
echo (__bold Synopsis)
|
||||||
|
echo \t(set_color $fish_color_command)type(set_color normal) [OPTIONS] name [name ...]
|
||||||
|
echo
|
||||||
|
echo (__bold Description)
|
||||||
|
echo
|
||||||
|
echo \tWith no options, indicate how each name would be interpreted if used as a command name.
|
||||||
|
echo
|
||||||
|
echo \t\* (__bold -h) or (__bold --help) print this message
|
||||||
|
echo \t\* (__bold -a) or (__bold --all) print all of possible definitions of the specified names
|
||||||
|
echo \t\* (__bold -f) or (__bold --no-functions) supresses function and builtin lookup
|
||||||
|
echo \t\* (__bold -t) or (__bold --type) print a string which is one of alias, keyword, function, builtin, or file if name is an alias, shell reserved word, function, builtin, or disk file, respectively
|
||||||
|
echo \t\* (__bold -p) or (__bold --path) either return the name of the disk file that would be executed if name were specified as a command name, or nothing if ‘‘type -t name’’ would not return file
|
||||||
|
echo \t\* (__bold -P) or (__bold --force-path) either return the name of the disk file that would be executed if name were specified as a command name, or nothing no file with the spacified name could be found in the PATH
|
||||||
|
echo
|
||||||
|
echo (__bold Example)
|
||||||
|
echo
|
||||||
|
echo \t\'(set_color $fish_color_command)type(set_color normal) fg\' outputs the string \'fg is a shell builtin\'.
|
||||||
|
echo
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
function type -d "Print the type of a command"
|
function type -d "Print the type of a command"
|
||||||
|
|
||||||
set status 0
|
set status 1
|
||||||
set mode normal
|
set mode normal
|
||||||
|
set selection all
|
||||||
|
|
||||||
for i in $argv
|
for i in $argv
|
||||||
switch $i
|
switch $i
|
||||||
|
@ -542,8 +572,18 @@ function type -d "Print the type of a command"
|
||||||
case -p --p --pa --pat --path
|
case -p --p --pa --pat --path
|
||||||
set mode path
|
set mode path
|
||||||
|
|
||||||
|
case -P --f --fo --for --forc --force --force- --force-p --force-pa --force-pat --force-path
|
||||||
|
set mode path
|
||||||
|
set selection files
|
||||||
|
|
||||||
case -a --a --al --all
|
case -a --a --al --all
|
||||||
set mode all
|
set selection multi
|
||||||
|
|
||||||
|
case -f --n --no --no- --no-f --no-fu --no-fun --no-func --no-funct --no-functi --no-functio --no-function --no-functions
|
||||||
|
set selection files
|
||||||
|
|
||||||
|
case -h --h --he --hel --help
|
||||||
|
__type_help
|
||||||
|
|
||||||
case --
|
case --
|
||||||
break
|
break
|
||||||
|
@ -554,105 +594,80 @@ function type -d "Print the type of a command"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
switch $mode
|
for i in $argv
|
||||||
|
|
||||||
|
switch $i
|
||||||
|
case '-*'
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
|
||||||
case normal
|
# Found will be set to 1 if a match is found
|
||||||
for i in $argv
|
set found 0
|
||||||
|
|
||||||
|
if test $selection != files
|
||||||
|
|
||||||
|
if contains -- $i (functions -n)
|
||||||
|
set status 0
|
||||||
|
set found 1
|
||||||
|
switch $mode
|
||||||
|
case normal
|
||||||
|
echo $i is a function with definition
|
||||||
|
functions $i
|
||||||
|
|
||||||
|
case type
|
||||||
|
echo function
|
||||||
|
|
||||||
|
case path
|
||||||
|
echo
|
||||||
|
|
||||||
switch $i
|
|
||||||
case '-*'
|
|
||||||
continue;
|
|
||||||
end
|
end
|
||||||
|
if test $selection != multi
|
||||||
if contains -- $i (functions -n)
|
|
||||||
echo $i is a function with definition
|
|
||||||
functions $i
|
|
||||||
continue
|
continue
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
if contains -- $i (builtin -n)
|
if contains -- $i (builtin -n)
|
||||||
echo $i is a shell builtin
|
set status 0
|
||||||
|
set found 1
|
||||||
|
switch $mode
|
||||||
|
case normal
|
||||||
|
echo $i is a builtin
|
||||||
|
|
||||||
|
case type
|
||||||
|
echo builtin
|
||||||
|
|
||||||
|
case path
|
||||||
|
echo
|
||||||
|
end
|
||||||
|
if test $selection != multi
|
||||||
continue
|
continue
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
if which $i ^/dev/null >/dev/null
|
end
|
||||||
|
|
||||||
|
if which $i ^/dev/null >/dev/null
|
||||||
|
set status 0
|
||||||
|
set found 1
|
||||||
|
switch $mode
|
||||||
|
case normal
|
||||||
echo $i is (which $i)
|
echo $i is (which $i)
|
||||||
continue
|
|
||||||
end
|
case type
|
||||||
echo type: $i: not found
|
echo file
|
||||||
set status 1
|
|
||||||
|
case path
|
||||||
|
which $i
|
||||||
end
|
end
|
||||||
|
if test $selection != multi
|
||||||
case path
|
continue
|
||||||
for i in $argv
|
|
||||||
|
|
||||||
switch $i
|
|
||||||
case '-*'
|
|
||||||
continue;
|
|
||||||
end
|
|
||||||
|
|
||||||
if which $i ^/dev/null >/dev/null
|
|
||||||
echo $i is (which $i)
|
|
||||||
continue
|
|
||||||
end
|
|
||||||
set status 1
|
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
case all
|
if test $found = 0
|
||||||
for i in $argv
|
echo type: $i: not found
|
||||||
set found ""
|
end
|
||||||
switch $i
|
|
||||||
case '-*'
|
|
||||||
continue;
|
|
||||||
end
|
|
||||||
|
|
||||||
if contains -- $i (functions -n)
|
|
||||||
echo $i is a function with definition
|
|
||||||
functions $i
|
|
||||||
set found 1
|
|
||||||
end
|
|
||||||
|
|
||||||
if contains -- $i (builtin -n)
|
|
||||||
echo $i is a shell builtin
|
|
||||||
set found 1
|
|
||||||
end
|
|
||||||
|
|
||||||
if which $i ^/dev/null >/dev/null
|
|
||||||
echo $i is (which $i)
|
|
||||||
set found 1
|
|
||||||
end
|
|
||||||
|
|
||||||
if test -z $found
|
|
||||||
echo type: $i: not found
|
|
||||||
set status 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
case type
|
|
||||||
for i in $argv
|
|
||||||
|
|
||||||
switch $i
|
|
||||||
case '-*'
|
|
||||||
continue;
|
|
||||||
end
|
|
||||||
|
|
||||||
if contains -- $i (functions -n)
|
|
||||||
echo function
|
|
||||||
continue
|
|
||||||
end
|
|
||||||
|
|
||||||
if contains -- $i (builtin -n)
|
|
||||||
echo builtin
|
|
||||||
continue
|
|
||||||
end
|
|
||||||
|
|
||||||
if which $i ^/dev/null >/dev/null
|
|
||||||
echo file
|
|
||||||
continue
|
|
||||||
end
|
|
||||||
set status 1
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return $status
|
return $status
|
||||||
|
|
Loading…
Reference in a new issue