121 lines
6.9 KiB
Bash
121 lines
6.9 KiB
Bash
#compdef rubocop
|
|
# ------------------------------------------------------------------------------
|
|
# Copyright (c) 2015 Github zsh-users - https://github.com/zsh-users
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are met:
|
|
# * Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# * Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
# * Neither the name of the zsh-users nor the
|
|
# names of its contributors may be used to endorse or promote products
|
|
# derived from this software without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
|
|
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
# ------------------------------------------------------------------------------
|
|
# Description
|
|
# -----------
|
|
#
|
|
# Completion script for rubocop 1.38 (https://github.com/rubocop/rubocop)
|
|
#
|
|
# ------------------------------------------------------------------------------
|
|
# Authors
|
|
# -------
|
|
#
|
|
# * Akira Maeda <https://github.com/glidenote>
|
|
# * Shohei Yoshida <https://github.com/syohex>
|
|
#
|
|
# ------------------------------------------------------------------------------
|
|
|
|
local curcontext="$curcontext" state line ret=1
|
|
typeset -A opt_args
|
|
|
|
_rubocop_format_params() {
|
|
local -a formatter=(
|
|
"autogenconf" "clang" "emacs" "files" "fuubar" "github" "html" "json" "junit"
|
|
"markdown" "offenses" "pacman" "progress" "quiet" "simple" "tap" "worst"
|
|
)
|
|
|
|
_values 'formatter' $formatter
|
|
}
|
|
|
|
_arguments -C \
|
|
'(-l --lint)'{-l,--lint}'[Run only lint cops]' \
|
|
'(-x --fix-layout)'{-x,--fix-layout}'[Run only layout cops, with autocorrect on]' \
|
|
'--safe[Run only safe cops]' \
|
|
'*--except[Exclude the given cops]:cops' \
|
|
'*--only[Run only the given cops]:cops' \
|
|
'--only-guide-cops[Run only cops for rules that link to a style guide]' \
|
|
'(-F --fail-fast)'{-f,--fail-fast}'[Inspect files in order of modification time and stop after the first file containing offenses]' \
|
|
'--disable-pending-cops[Run without pending cops]' \
|
|
'--enable-pending-cops[Run with pending cops]' \
|
|
'--ignore-disable-comments[Run cops even when they are disabled locally by a `rubocop:disable` directive]' \
|
|
'--force-exclusion[Any files excluded by `Exclude` in configuration files will be excluded, even if given explicitly as arguments]' \
|
|
'(-s --stdin)'{-s,--stdin}'[Pipe source from STDIN, using FILE in offense reports]: :_files' \
|
|
'(-P --parallel --no-parallel)'{-p,--parallel}'[Use available CPUs to execute inspection in parallel]' \
|
|
'(-P --parallel --no-parallel)--no-parallel[Execute not parallel]' \
|
|
'--raise-cop-error[Raise cop-related errors with cause and location]' \
|
|
'--fail-level[Minimum severity for exit with error code]:severity:(autocorrect info refactor convention warning error fatal)' \
|
|
'(-C --cache)'{-C,--cache}'[Use result caching or not]: :(TRUE FALSE)' \
|
|
'--cache-root[Set the cache root directory]: :_files -/' \
|
|
'--server[If a server process has not been started yet start the server process and execute inspection with server]' \
|
|
'--restart-server[Restart server process]' \
|
|
'--start-server[Start server process]' \
|
|
'--stop-server[Stop server process]' \
|
|
'--server-status[Show server status]' \
|
|
'(-f --format)'{-f,--format}'[Choose an output formatter]:FORMATTER:_rubocop_format_params' \
|
|
'(-D --display-cop-names)'{-D,--display-cop-names}'[Display cop names in offense messages]' \
|
|
'(-E --extra-details)'{-E,--extra-details}'[Display extra details in offense messages]' \
|
|
'(-S --display-style-guide)'{-S,--display-style-guide}'[Display style guide URLs in offense messages]' \
|
|
'(-o --out)'{-o,--out}'[Write output to a file instead of STDOUT]: :_files' \
|
|
'--stderr[Write all output to stderr except for the autocorrected source]' \
|
|
'--display-time[Display elapsed time in seconds]' \
|
|
'--display-only-failed[Only output offense messages]' \
|
|
'--display-only-fail-level-offenses[Only output offense messages at the specified --fail-level or above]' \
|
|
'--display-only-correctable[Only output correctable offense messages]' \
|
|
'--display-only-safe-correctable[Only output safe-correctable offense messages with combined with --display-only-correctable]' \
|
|
'(-a --autocorrect)'{-a,--autocorrect}"[Auto-correct offenses(only when it's safe)]" \
|
|
'(-A --autocorrect-all)'{-A,--autocorrect-all}'[Autocorrect offenses(safe and unsafe)]' \
|
|
'--auto-gen-config[Generate a configuration file acting as a TODO list]' \
|
|
'--regenerate-todo[Regenerate the TODO configuration file using the last configuration]' \
|
|
'(--no-exclude-limit)--exclude-limit[Set the limit for how many files to explicitly exclude]:count' \
|
|
'(--exclude-limit)--no-exclude-limit[Do not set the limit for how many files to exclude]' \
|
|
'--offense-counts[Include offense counts in configuration file generated by --auto-gen-config]' \
|
|
'--auto-gen-only-exclude[Generate only Exclude parameters and not Max when running --auto-gen-config]' \
|
|
'--auto-gen-timestamp[Include the data and time when the --auto-gen-config was run in the file it generates]' \
|
|
'(-L --list-target-files)'{-L,--list-target-files}'[List all files RuboCop will inspect]' \
|
|
'*--show-cops[Show the given cops or all cops]::cops' \
|
|
'--show-docs-url[Display url to documentation for the given cops or base url by default]::cops' \
|
|
'--init[Generate a .rubocop.yml file in the current directory]' \
|
|
'(-c --config)'{-c,--config}'[Specify configuration file]: :_files' \
|
|
'(-d --debug)'{-d,--debug}'[Display debug info]' \
|
|
'(-r --require)'{-r,--require}'[Require Ruby file]: :_files' \
|
|
'(--no-color --color)--color[Force color output on]' \
|
|
'(--no-color --color)--no-color[Force color output off]' \
|
|
'(-v --version -V --verbose-version)'{-v,--version}'[Display version]' \
|
|
'(-V --verbose-version -v --version)'{-V,--verbose-version}'[Display verbose version]' \
|
|
'(- *)'{-h,--help}'[Show help]' \
|
|
'*: :_files' && ret=0
|
|
|
|
return ret
|
|
|
|
# Local Variables:
|
|
# mode: Shell-Script
|
|
# sh-indentation: 2
|
|
# indent-tabs-mode: nil
|
|
# sh-basic-offset: 2
|
|
# End:
|
|
# vim: ft=zsh sw=2 ts=2 et
|