Add support for zsh parameter expansion flags
Add support for zsh parameter expansion flags

Example:

    ${(L)foo}     # Lower-case foo, equivalent to ${foo,,} in bash
    # ^ punctuation.definition.flag.begin.shell
    #  ^ keyword.operator.expansion.flag.shell
    #   ^ punctuation.definition.flag.end.shell

    ${(@)foo}     # Separate elements of foo, equivalent to ${foo[@]}
    # ^ punctuation.definition.flag.begin.shell
    #  ^ keyword.operator.expansion.flag.shell
    #   ^ punctuation.definition.flag.end.shell

    ${(uU)foo[@]} # Filter foo for unique elements and upper-case each one
    # ^ punctuation.definition.flag.begin.shell
    #  ^^ keyword.operator.expansion.flag.shell
    #    ^ punctuation.definition.flag.end.shell

    ${(%)foo}     # Apply prompt expansion to foo
    # ^ punctuation.definition.flag.begin.shell
    #  ^ keyword.operator.expansion.flag.shell
    #   ^ punctuation.definition.flag.end.shell

    ${(ps.ps$sep.)val}
    # ^ punctuation.definition.flag.begin.shell
    #  ^^ keyword.operator.expansion.flag.shell
    #     ^^ - keyword.operator.expansion.flag.shell
    #       ^^^^ variable.other.normal.shell
    #            ^ punctuation.definition.flag.end.shell

jfcherng/Sublime-ShellScriptImproved