aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/completions/bundle.fish
blob: 8499d03b9b9244bfe0cc4c937c4b58ed3f59c7dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
# Completion for bundler

function __fish_bundle_no_command --description 'Test if bundle has been given no subcommand'
  set cmd (commandline -opc)
  if [ (count $cmd) -eq 1 ]
    return 0
  end
  return 1
end

function __fish_bundle_using_command --description 'Test if bundle has been given a specific subcommand'
  set cmd (commandline -opc)
  if [ (count $cmd) -gt 1 ]
    if [ $argv[1] = $cmd[2] ]
      return 0
    end
  end
  return 1
end

function __fish_bundled_gems
  bundle list | sed '1 d' | sed -e 's/\*//g' -e 's/(.*)//g' -e 's/^ *//g' -e 's/ *$//g'
end

# Options for all commands
complete -c bundle -s r -l retry --description 'Specify the number of times you wish to attempt network commands'
complete -c bundle -l no-color --description 'Disable colorization in output'
complete -c bundle -s V -l verbose --description 'Enable verbose output mode'

# No command
complete -f -n '__fish_bundle_no_command' -c bundle -l help --description 'Display a help page'
complete -c bundle -s v -l version --description 'Prints version information'

##
# Primary Commands
##

# Install
complete -f -n '__fish_bundle_no_command' -c bundle -a 'install' --description 'Install the gems specified by the Gemfile or Gemfile.lock'
complete -f -n '__fish_bundle_using_command install' -c bundle -l gemfile --description 'The location of the Gemfile bundler should use'
complete -f -n '__fish_bundle_using_command install' -c bundle -l path --description 'The location to install the gems in the bundle to'
complete -f -n '__fish_bundle_using_command install' -c bundle -l system --description 'Installs the gems in the bundle to the system location'
complete -f -n '__fish_bundle_using_command install' -c bundle -l without --description 'A space-separated list of groups to skip installing'
complete -f -n '__fish_bundle_using_command install' -c bundle -l local --description 'Use cached gems instead of connecting to rubygems.org'
complete -f -n '__fish_bundle_using_command install' -c bundle -l deployment --description "Switches bundler's defaults into deployment mode."
complete -f -n '__fish_bundle_using_command install' -c bundle -l binstubs --description 'Create a directory containing executabes that run in the context of the bundle'
complete -f -n '__fish_bundle_using_command install' -c bundle -l shebang --description 'Specify a ruby executable to use with generated binstubs'
complete -f -n '__fish_bundle_using_command install' -c bundle -l standalone --description 'Make a bundle that can work without RubyGems or Bundler at run-time'
complete -f -n '__fish_bundle_using_command install' -c bundle -s P -l trust-policy --description 'Apply a RubyGems security policy: {High,Medium,Low,No}Security'
complete -f -n '__fish_bundle_using_command install' -c bundle -s j -l jobs --description 'Install  gems parallely by starting size number of parallel workers'
complete -f -n '__fish_bundle_using_command install' -c bundle -l no-cache --description 'Do not update the cache in vendor/cache with the newly bundled gems'
complete -f -n '__fish_bundle_using_command install' -c bundle -l quiet --description 'Do not print progress information to stdout'
complete -f -n '__fish_bundle_using_command install' -c bundle -l clean --description 'Run bundle clean automatically after install'
complete -f -n '__fish_bundle_using_command install' -c bundle -l full-index --description 'Use the rubygems modern index instead of the API endpoint'
complete -f -n '__fish_bundle_using_command install' -c bundle -l no-prune --description 'Do not remove stale gems from the cache'
complete -f -n '__fish_bundle_using_command install' -c bundle -l frozen --description 'Do not allow the Gemfile.lock to be updated after this install'

# Update
complete -f -n '__fish_bundle_no_command' -c bundle -a 'update'  --description 'Update dependencies to their latest versions'
complete -f -n '__fish_bundle_using_command update' -c bundle -l source --description 'The name of a :git or :path source used in the Gemfile'
complete -f -n '__fish_bundle_using_command update' -c bundle -l local --description 'Do not attempt to fetch gems remotely and use the gem cache instead'
complete -f -n '__fish_bundle_using_command update' -c bundle -l quiet --description 'Only output warnings and errors'
complete -f -n '__fish_bundle_using_command update' -c bundle -l full-index --description 'Use the rubygems modern index instead of the API endpoint'
complete -f -n '__fish_bundle_using_command update' -c bundle -s j -l jobs --description 'Specify the number of jobs to run in parallel'
complete -f -n '__fish_bundle_using_command update' -c bundle -s g -l group --description 'Update a specific group'
complete -f -n '__fish_bundle_using_command update' -c bundle -a '(__fish_bundled_gems)'

# Package
complete -f -n '__fish_bundle_no_command' -c bundle -a 'package' --description 'Package the .gem files required by your application into the vendor/cache directory'

# Binstubs
complete -f -n '__fish_bundle_no_command' -c bundle -a 'binstubs' --description 'Install the binstubs of the listed gem'
complete -f -n '__fish_bundle_using_command binstubs' -c bundle -l path --description 'Binstub destination directory (default bin)'
complete -f -n '__fish_bundle_using_command binstubs' -c bundle -l force --description 'Overwrite existing binstubs if they exist'
complete -f -n '__fish_bundle_using_command binstubs' -c bundle -a '(__fish_bundled_gems)'

# Exec
complete -f -n '__fish_bundle_no_command' -c bundle -a 'exec' --description 'Execute a script in the context of the current bundle'
complete -f -n '__fish_bundle_using_command exec' -c bundle -l keep-file-descriptors --description 'Exec runs a command, providing it access to the gems in the bundle'

# Help
complete -f -n '__fish_bundle_no_command' -c bundle -a 'help' --description 'Describe available tasks or one specific task'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'install' --description 'Install the gems specified by the Gemfile or Gemfile.lock'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'update' --description 'Update dependencies to their latest versions'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'package' --description 'Package .gem files into the vendor/cache directory'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'exec' --description 'Execute a script in the context of the current bundle'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'config' --description 'Specify and read configuration options for bundler'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'check' --description 'Check bundler requirements for your application'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'list' --description 'Show all of the gems in the current bundle'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'show' --description 'Show the source location of a particular gem in the bundle'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'outdated' --description 'Show all of the outdated gems in the current bundle'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'console' --description 'Start an IRB session in the context of the current bundle'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'open' --description 'Open an installed gem in your $EDITOR'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'viz' --description 'Generate a visual representation of your dependencies'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'init' --description 'Generate a simple Gemfile'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'gem' --description 'Create a simple gem, suitable for development with bundler'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'platform' --description 'Displays platform compatibility information'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'cleanup' --description 'Cleans up unused gems in your bundler directory'

##
# Utilities
##

# Check
complete -f -n '__fish_bundle_no_command' -c bundle -a 'check' --description 'Determine whether the requirements for your application are installed and available to bundler'
complete -f -n '__fish_bundle_using_command check' -c bundle -l gemfile --description 'The location of the Gemfile bundler should use'
complete -f -n '__fish_bundle_using_command check' -c bundle -l path --description 'Specify a path other than the system default (BUNDLE_PATH or GEM_HOME)'
complete -f -n '__fish_bundle_using_command check' -c bundle -l dry-run --description 'Lock the Gemfile'

# List
complete -f -n '__fish_bundle_no_command' -c bundle -a 'list' --description 'Show lists the names and versions of all gems that are required by your Gemfile'
complete -f -n '__fish_bundle_using_command list' -c bundle -l paths --description 'List the paths of all gems required by your Gemfile'
complete -f -n '__fish_bundle_using_command list' -c bundle -a '(__fish_bundled_gems)'

# Show
complete -f -n '__fish_bundle_no_command' -c bundle -a 'show' --description 'Show lists the names and versions of all gems that are required by your Gemfile'
complete -f -n '__fish_bundle_using_command show' -c bundle -l paths --description 'List the paths of all gems required by your Gemfile'
complete -f -n '__fish_bundle_using_command show' -c bundle -a '(__fish_bundled_gems)'

# Outdated
complete -f -n '__fish_bundle_no_command' -c bundle -a 'outdated' --description 'Show all of the outdated gems in the current bundle'
complete -f -n '__fish_bundle_using_command outdated' -c bundle -l pre --description 'Check for newer pre-release gems'
complete -f -n '__fish_bundle_using_command outdated' -c bundle -l source --description 'Check against a specific source'
complete -f -n '__fish_bundle_using_command outdated' -c bundle -l local --description 'Use cached gems instead of attempting to fetch gems remotely'
complete -f -n '__fish_bundle_using_command outdated' -c bundle -l strict --description 'Only list newer versions allowed by your Gemfile requirements'
complete -f -n '__fish_bundle_using_command outdated' -c bundle -a '(__fish_bundled_gems)'

# Console
complete -f -n '__fish_bundle_no_command' -c bundle -a 'console' --description 'Start an IRB session in the context of the current bundle'

# Open
complete -f -n '__fish_bundle_no_command' -c bundle -a 'open' --description 'Open an installed gem in your $EDITOR'
complete -f -n '__fish_bundle_using_command open' -c bundle -a '(__fish_bundled_gems)'

# Viz
complete -f -n '__fish_bundle_no_command' -c bundle -a 'viz' --description 'Generate a visual representation of your dependencies'
complete -f -n '__fish_bundle_using_command viz' -c bundle -s f -l file --description 'The name to use for the generated file (see format option)'
complete -f -n '__fish_bundle_using_command viz' -c bundle -s v -l version --description 'Show each gem version'
complete -f -n '__fish_bundle_using_command viz' -c bundle -s r -l requirements --description 'Show the version of each required dependency'
complete -f -n '__fish_bundle_using_command viz' -c bundle -s F -l format --description 'Output a specific format (png, jpg, svg, dot, ...)'

# Init
complete -f -n '__fish_bundle_no_command' -c bundle -a 'init' --description 'Generate a simple Gemfile, placed in the current directory'
complete -f -n '__fish_bundle_using_command init' -c bundle -l gemspec --description 'Use a specified .gemspec to create the Gemfile'

# Gem
complete -f -n '__fish_bundle_no_command' -c bundle -a 'gem' --description 'Create a simple gem, suitable for development with bundler'
complete -f -n '__fish_bundle_using_command gem' -c bundle -s b -l bin  --description 'Generate a binary for your library'
complete -f -n '__fish_bundle_using_command gem' -c bundle -s t -l test --description 'Generate a test directory for your library (rspec or minitest)'
complete -f -n '__fish_bundle_using_command gem' -c bundle -s e -l edit --description 'Path to your editor'
complete -f -n '__fish_bundle_using_command gem' -c bundle -l ext --description 'Generate the boilerplate for C extension code'

# Platform
complete -f -n '__fish_bundle_no_command' -c bundle -a 'platform' --description 'Displays platform compatibility information'
complete -f -n '__fish_bundle_using_command platform' -c bundle -l ruby --description 'Only display Ruby directive information'

# Clean
complete -f -n '__fish_bundle_no_command' -c bundle -a 'clean'    --description 'Cleans up unused gems in your bundler directory'
complete -f -n '__fish_bundle_using_command clean' -c bundle -l dry-run --description 'Only print out changes, do not actually clean gems'
complete -f -n '__fish_bundle_using_command clean' -c bundle -l force --description 'Forces clean even if --path is not set'

# Cache
complete -f -n '__fish_bundle_no_command' -c bundle -a 'cache' --description 'Cache all the gems to vendor/cache'
complete -f -n '__fish_bundle_using_command cache' -c bundle -l no-prune --description 'Do not remove stale gems from the cache'
complete -f -n '__fish_bundle_using_command cache' -c bundle -l all --description 'Include all sources (including path and git)'

# Licenses
complete -f -n '__fish_bundle_no_command' -c bundle -a 'licenses' --description 'Prints the license of all gems in the bundle'

# Env
complete -f -n '__fish_bundle_no_command' -c bundle -a 'env' --description 'Print information about the environment Bundler is running under'