diff options
Diffstat (limited to 'alpine-river/config/fish/functions/_fzf_extract_var_info.fish')
-rw-r--r-- | alpine-river/config/fish/functions/_fzf_extract_var_info.fish | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/alpine-river/config/fish/functions/_fzf_extract_var_info.fish b/alpine-river/config/fish/functions/_fzf_extract_var_info.fish new file mode 100644 index 0000000..dd4e952 --- /dev/null +++ b/alpine-river/config/fish/functions/_fzf_extract_var_info.fish @@ -0,0 +1,15 @@ +# helper function for _fzf_search_variables +function _fzf_extract_var_info --argument-names variable_name set_show_output --description "Extract and reformat lines pertaining to \$variable_name from \$set_show_output." + # Extract only the lines about the variable, all of which begin with either + # $variable_name: ...or... $variable_name[ + string match --regex "^\\\$$variable_name(?::|\[).*" <$set_show_output | + + # Strip the variable name prefix, including ": " for scope info lines + string replace --regex "^\\\$$variable_name(?:: )?" '' | + + # Distill the lines of values, replacing... + # [1]: |value| + # ...with... + # [1] value + string replace --regex ": \|(.*)\|" ' $1' +end |