mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-27 20:25:12 +00:00
Support bold and underlined characters in help output
darcs-hash:20061119232734-ac50b-d426980ee143b44065a3ea2afc7d3808174acd5f.gz
This commit is contained in:
parent
dd061b1dda
commit
372c811763
1 changed files with 22 additions and 2 deletions
|
@ -1,7 +1,27 @@
|
||||||
|
|
||||||
function __fish_print_help
|
function __fish_print_help -d (N_ "Print help message for the specified fish function or builtin")
|
||||||
|
|
||||||
|
# These two expressions take care of underlines (Should be italic)
|
||||||
|
set -l cmd1 s/_\x08'\(.\)'/(set_color --underline)\\1(set_color normal)/g
|
||||||
|
set -l cmd2 s/'\(.\)'\x08_/(set_color --underline)\\1(set_color normal)/g
|
||||||
|
|
||||||
|
# This expression should take care of bold characters. It's not
|
||||||
|
# waterproof, since it doesn't check that the same character is
|
||||||
|
# used both before and after the backspace, since regular
|
||||||
|
# languages don't allow backreferences.
|
||||||
|
set -l cmd3 s/.\x08'\(.\)'/(set_color --bold)\\1(set_color normal)/g
|
||||||
|
|
||||||
|
# Combine all expressions in a single variable
|
||||||
|
set -l sed_cmd -e $cmd1 -e $cmd2 -e $cmd3
|
||||||
|
|
||||||
|
# Render help output, save output into the variable 'help'
|
||||||
set -l help (nroff -man $__fish_datadir/man/$argv.1)
|
set -l help (nroff -man $__fish_datadir/man/$argv.1)
|
||||||
set -l lines (count $help)
|
set -l lines (count $help)
|
||||||
|
|
||||||
|
# Print an empty line first
|
||||||
echo
|
echo
|
||||||
printf "%s\n" $help| tail -n (expr $lines - 5 ) | head -n (expr $lines - 8)
|
|
||||||
|
# Filter and print help
|
||||||
|
printf "%s\n" $help| tail -n (expr $lines - 5 ) | head -n (expr $lines - 8) | sed $sed_cmd
|
||||||
|
|
||||||
end
|
end
|
Loading…
Reference in a new issue