Strip plugin list decorators when parsing fishfile

This commit is contained in:
Jorge Bucaran 2016-02-04 13:56:06 +09:00
parent 6247057d09
commit 399e0ba56b
2 changed files with 9 additions and 3 deletions

View File

@ -9,7 +9,7 @@ function __fisher_file
}
!/^[ \t]*(#.*)*$/ {
gsub("#.*", "")
gsub("^[|*>]|#.*", "")
if (! seen[$1]++) {
printf("%s\n", $1)

View File

@ -4,8 +4,6 @@ set -l manifest $DIRNAME/fixtures/manifest
# __fisher_file parses a fishfile/bundle and writes declared plugins to standard out.
# URLs and paths are returned *as is*. To retrieve the plugin names use fisher --list
# See also `list-fishfile.fish`.
test "$TESTNAME - Parse a fishfile/bundle #1"
(__fisher_file < $manifest/fishfile) = (cat $manifest/fishfile-parsed)
end
@ -13,3 +11,11 @@ end
test "$TESTNAME - Parse a fishfile/bundle #2"
(__fisher_file < $manifest/fishfile-parsed) = (cat $manifest/fishfile-parsed)
end
test "$TESTNAME - Remove `*` and `>` decorators from the input"
# These characters indicate a plugin is enabled or a plugin is the
# currently selected prompt.
(printf "%s\n" "*plugin" ">theme" | __fisher_file) = plugin theme
end