Underline styles for double/dotted/dashed

My phone uses dotted underline to indicate errors; that seems nice, a bit
less aggressive than curly.  Unfortunately dotted underlines are not as well
supported in terminal emulators; sometimes they are barely visible.  So it's
unlikely that we want to use --underline=dotted for an important theme.
Add double and dashed too I guess, even though I don't have a concrete
use case..
This commit is contained in:
Johannes Altmanninger
2025-05-06 09:59:30 +02:00
parent 3081d0157b
commit 156fa8081c
9 changed files with 60 additions and 22 deletions

View File

@@ -133,7 +133,7 @@ complete -c set -n '__fish_set_is_color true false' -a --dim -x
complete -c set -n '__fish_set_is_color true false' -a --italics -x
complete -c set -n '__fish_set_is_color true true' -a --reverse -x
complete -c set -n '__fish_set_is_color true false' -a --underline -x
complete -c set -n '__fish_set_is_color true false' -a --underline=curly -x
complete -c set -n '__fish_set_is_color true false' -a--underline={double,curly,dotted,dashed} -x
# Locale completions
complete -c set -n '__fish_set_is_locale; and not __fish_seen_argument -s e -l erase' -x -a '(command -sq locale; and locale -a)' -d Locale

View File

@@ -5,6 +5,6 @@ complete -c set_color -s o -l bold -d 'Make font bold'
complete -c set_color -s i -l italics -d Italicise
complete -c set_color -s d -l dim -d 'Dim text'
complete -c set_color -s r -l reverse -d 'Reverse color text'
complete -c set_color -s u -l underline -d 'Underline style' -a 'single curly'
complete -c set_color -s u -l underline -d 'Underline style' -a 'single double curly dotted dashed'
complete -c set_color -s h -l help -d 'Display help and exit'
complete -c set_color -s c -l print-colors -d 'Print a list of all accepted color names'

View File

@@ -244,7 +244,7 @@ def parse_color(color_str):
underline = "single"
elif comp.startswith("--underline="):
underline = comp.stripprefix("--underline=")
elif comp.startswith("-u"): # Multiple short options like "-rbcurly" are not yet supported.
elif comp.startswith("-u"): # Multiple short options like "-rucurly" are not yet supported.
underline = comp.stripprefix("-u")
elif comp == "--italics" or comp == "-i":
italics = True