Sha256: e7bd751e9b70086e44daa5f7cef342c0013b9f41ecf489e05a4810aec1147e43

Contents?: true

Size: 1.69 KB

Versions: 2

Compression:

Stored size: 1.69 KB

Contents

<%- if subcommand[:subcommands].any? %>
<%= function_name %>() {
  readonly local DEPTH=<%= depth %>

  case $CURRENT in
    $DEPTH)
      _arguments \
        <%- subcommand[:options].each do |option| -%>
        <%= escape_option_names(option[:names]) %><%= quote(bracket(option[:description])) if option[:description] %> \
        <%- end -%>
        '*: :->subcommands'

      case $state in
        subcommands)
          _values \
            'subcommand' \
            <%- subcommand[:subcommands].each do |subcommand| -%>
            <%= quote(subcommand[:name] + bracket(subcommand[:description])) %> \
            <%- subcommand[:aliases].each do |_alias| -%>
            <%= quote(_alias + bracket(subcommand[:description])) %> \
            <%- end -%>
            <%- end -%>
            ;
          ;;
      esac
      ;;
    *)
      case $words[$DEPTH] in
        <%- subcommand[:subcommands].each do |subcommand| -%>
        <%= subcommand[:name] %>)
          <%= function_name %>_<%= subcommand[:name] %>
          ;;
        <%- subcommand[:aliases].each do |_alias| -%>
        <%= _alias %>)
          <%= function_name %>_<%= subcommand[:name] %>
          ;;
        <%- end -%>
        <%- end -%>
        *)
          # if does not match any subcommand
          # complete rest arguments
          _files
          ;;
      esac
      ;;
  esac
}
<%- else %>
<%= function_name %>() {
  _arguments \
    <%- subcommand[:options].each do |option| -%>
    <%= escape_option_names(option[:names]) %><%= quote(bracket(option[:description])) if option[:description] %> \
    <%- end -%>
    '*: :->rest'

  case $state in
    rest)
      # complete rest arguments
      _files
      ;;
  esac
}
<%- end %>

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
thor-zsh_completion-0.1.5 lib/thor/zsh_completion/template/subcommand_function.erb
thor-zsh_completion-0.1.4 lib/thor/zsh_completion/template/subcommand_function.erb