summaryrefslogtreecommitdiff
path: root/.config/fish/functions/_fzf_extract_var_info.fish
blob: dd4e9523ad3293e2009b9ea00cb9a3f782775630 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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