Sha256: f231b40ec5b8beb8ec202faabfdb23e8216bdb96395495d5891e7cd55caa1412

Contents?: true

Size: 1.05 KB

Versions: 19

Compression:

Stored size: 1.05 KB

Contents

require 'autoproj/shell_completion'

module Autoproj
    # This class generates shell completion for code for a given Thor subclasss
    class ZshCompletion < ShellCompletion
        MAIN_FUNCTION_TEMPLATE = 'main.zsh.erb'
        SUBCOMMAND_FUNCTION_TEMPLATE = 'subcommand.zsh.erb'

        def setup_file_completion(metadata)
            metadata[:completer] = '_files'
        end

        def setup_executable_completion(metadata)
            metadata[:completer] = '_path_commands'
        end

        def setup_package_completion(metadata)
            metadata[:completer] = '_autoproj_installed_packages'
        end

        def disable_completion(metadata)
            metadata[:completer] = ':'
        end

        def quote(s)
            escaped = s.gsub(/'/, "''")
            %('#{escaped}')
        end

        def bracket(s)
            %([#{s}])
        end

        def escape_option_names(names)
            if names.size == 1
                names.first
            else
                '{' + names.join(',') + '}'
            end
        end
    end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
autoproj-2.14.0 lib/autoproj/zsh_completion.rb
autoproj-2.13.0 lib/autoproj/zsh_completion.rb
autoproj-2.12.1 lib/autoproj/zsh_completion.rb
autoproj-2.12.0 lib/autoproj/zsh_completion.rb
autoproj-2.11.0 lib/autoproj/zsh_completion.rb
autoproj-2.10.2 lib/autoproj/zsh_completion.rb
autoproj-2.10.1 lib/autoproj/zsh_completion.rb
autoproj-2.10.0 lib/autoproj/zsh_completion.rb
autoproj-2.9.0 lib/autoproj/zsh_completion.rb
autoproj-2.8.8 lib/autoproj/zsh_completion.rb
autoproj-2.8.7 lib/autoproj/zsh_completion.rb
autoproj-2.8.6 lib/autoproj/zsh_completion.rb
autoproj-2.8.5 lib/autoproj/zsh_completion.rb
autoproj-2.8.5.b1 lib/autoproj/zsh_completion.rb
autoproj-2.8.4 lib/autoproj/zsh_completion.rb
autoproj-2.8.3 lib/autoproj/zsh_completion.rb
autoproj-2.8.2 lib/autoproj/zsh_completion.rb
autoproj-2.8.1 lib/autoproj/zsh_completion.rb
autoproj-2.8.0 lib/autoproj/zsh_completion.rb