thor-zsh_completion 0.1.4 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7e7f271e7920b86a3507c69dcba4f1161bfd8508
4
- data.tar.gz: 3a43af41a8d16d7a4d8bd193a184099925ba2693
2
+ SHA256:
3
+ metadata.gz: 5197a7ec9bc58a2f224de749802ddf4986d669e0760913eb9af0d180f2173770
4
+ data.tar.gz: af2706ba6b7b7ce44726414b4a4ef1e31992d45d836376ed643e2b0a7d0779a7
5
5
  SHA512:
6
- metadata.gz: d734e5a168bfeb0d5d563962896d63a2ec9d718d76cf2bcbd0e5b822d38920a3747b24fbc8c1fdfe711efdb6e8dbc0366c6ce7aabb262a19f3307945e66631a0
7
- data.tar.gz: 4a8a3da7011a7c2d33ea2d48d214ba5d5750fd4d51ab9279a66079cc970519c767cd1edcc3c5a688f9f078d42427c5f15d148abeed041b5e7836354af8e50f61
6
+ metadata.gz: 33a9a5b35afc4878ccf8319e0012cd5ae85f4aa9a15be621adad8a50d30742040217851c944cc3702bf27d7fdff02e2856db529787ba8d8ca0f5485075b7a877
7
+ data.tar.gz: 2de8cd832aa3c42028b0c3f4ea6097acee9221557f20a9d33cc0c8800e7bf9fcb8ae0b2a6fb6653b3c6544f5bf898e9927b5ad10ba9cfbd005c4b1ce0eb4d4dc
@@ -0,0 +1,127 @@
1
+ AllCops:
2
+ Exclude:
3
+ - bin/*
4
+ - node_modules/**/*
5
+ NewCops: enable
6
+
7
+ Layout/CaseIndentation:
8
+ EnforcedStyle: end
9
+
10
+ Layout/EndAlignment:
11
+ EnforcedStyleAlignWith: variable
12
+
13
+ Layout/LineLength:
14
+ Enabled: false
15
+
16
+ Layout/EmptyLinesAroundAccessModifier:
17
+ EnforcedStyle: only_before
18
+
19
+ Layout/SpaceInLambdaLiteral:
20
+ EnforcedStyle: require_space
21
+
22
+ Layout/SpaceInsideBlockBraces:
23
+ SpaceBeforeBlockParameters: false
24
+
25
+ Layout/SpaceInsideHashLiteralBraces:
26
+ EnforcedStyle: no_space
27
+
28
+ Metrics/AbcSize:
29
+ Enabled: false
30
+
31
+ Metrics/BlockLength:
32
+ Enabled: false
33
+
34
+ Metrics/ClassLength:
35
+ Enabled: false
36
+
37
+ Metrics/CyclomaticComplexity:
38
+ Enabled: false
39
+
40
+ Metrics/MethodLength:
41
+ Enabled: false
42
+
43
+ Metrics/ModuleLength:
44
+ Enabled: false
45
+
46
+ Metrics/PerceivedComplexity:
47
+ Enabled: false
48
+
49
+ Naming/HeredocDelimiterNaming:
50
+ Enabled: false
51
+
52
+ Naming/MethodParameterName:
53
+ Enabled: false
54
+
55
+ Naming/PredicateName:
56
+ Enabled: false
57
+
58
+ Style/Alias:
59
+ EnforcedStyle: prefer_alias_method
60
+
61
+ Style/AsciiComments:
62
+ Enabled: false
63
+
64
+ Style/BlockDelimiters:
65
+ Enabled: false
66
+
67
+ Style/Documentation:
68
+ Enabled: false
69
+
70
+ Style/EmptyCaseCondition:
71
+ Enabled: false
72
+
73
+ Style/EmptyMethod:
74
+ EnforcedStyle: expanded
75
+
76
+ Style/FrozenStringLiteralComment:
77
+ Enabled: false
78
+
79
+ Style/HashSyntax:
80
+ Exclude:
81
+ - Rakefile
82
+ - "**/*.rake"
83
+
84
+ Style/Lambda:
85
+ EnforcedStyle: literal
86
+
87
+ Style/IfUnlessModifier:
88
+ Enabled: false
89
+
90
+ Style/MultilineBlockChain:
91
+ Enabled: false
92
+
93
+ Style/NumericLiterals:
94
+ Enabled: false
95
+
96
+ Style/NumericPredicate:
97
+ Enabled: false
98
+
99
+ Style/PercentLiteralDelimiters:
100
+ PreferredDelimiters:
101
+ '%i': '()'
102
+ '%w': '()'
103
+ '%r': '()'
104
+
105
+ Style/SpecialGlobalVars:
106
+ Enabled: false
107
+
108
+ Style/StringLiterals:
109
+ EnforcedStyle: double_quotes
110
+
111
+ Style/StringLiteralsInInterpolation:
112
+ EnforcedStyle: double_quotes
113
+
114
+ Style/SymbolArray:
115
+ Enabled: false
116
+
117
+ Style/TrailingCommaInArguments:
118
+ EnforcedStyleForMultiline: consistent_comma
119
+
120
+ Style/TrailingCommaInArrayLiteral:
121
+ EnforcedStyleForMultiline: consistent_comma
122
+
123
+ Style/TrailingCommaInHashLiteral:
124
+ EnforcedStyleForMultiline: consistent_comma
125
+
126
+ Style/ZeroLengthPredicate:
127
+ Enabled: false
@@ -1,3 +1,33 @@
1
+ ### 0.1.9
2
+
3
+ Bugfixes
4
+
5
+ - fix file mode to avoid LoadError on the gem installed by another user (reported by @belden)
6
+
7
+ ### 0.1.8
8
+
9
+ Misc
10
+
11
+ - update `thor` dependency
12
+
13
+ ### 0.1.7
14
+
15
+ Misc
16
+
17
+ - fix the generation of zsh completion scripts to prevent all [ShellCheck](https://www.shellcheck.net/) warnings
18
+
19
+ ### 0.1.6
20
+
21
+ Misc
22
+
23
+ - fix the generation of zsh completion scripts to prevent [ShellCheck](https://www.shellcheck.net/) warnings (@joehorsnell)
24
+
25
+ ### 0.1.5
26
+
27
+ Bugfixes
28
+
29
+ - remove unnecessary `local state` in generated script. (reported by @aoyama-val)
30
+
1
31
  ### 0.1.4
2
32
 
3
33
  Bugfixes
data/Gemfile CHANGED
@@ -1,4 +1,9 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in thor-zsh_completion.gemspec
4
4
  gemspec
5
+
6
+ gem "bundler", "~> 2.1"
7
+ gem "rake", "~> 13.0"
8
+ gem "rspec", "~> 3.9"
9
+ gem "rubocop", "~> 0.86"
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rspec' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("rspec-core", "rspec")
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rubocop' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("rubocop", "rubocop")
@@ -47,7 +47,7 @@ class Thor
47
47
  name: "__#{name}",
48
48
  description: nil,
49
49
  options: [],
50
- subcommands: subcommand_metadata(thor)
50
+ subcommands: subcommand_metadata(thor),
51
51
  }
52
52
 
53
53
  erb = File.read("#{File.dirname(__FILE__)}/template/main.erb")
@@ -66,8 +66,8 @@ class Thor
66
66
 
67
67
  source << SUBCOMMAND_FUNCTION_TEMPLATE.result(binding)
68
68
 
69
- subcommand[:subcommands].each do |subcommand|
70
- source << render_subcommand_function(subcommand, prefix: prefix)
69
+ subcommand[:subcommands].each do |nested|
70
+ source << render_subcommand_function(nested, prefix: prefix)
71
71
  end
72
72
  source.join("\n").strip + "\n"
73
73
  end
@@ -75,7 +75,7 @@ class Thor
75
75
  def subcommand_metadata(thor)
76
76
  result = []
77
77
  thor.tasks.each do |(name, command)|
78
- aliases = thor.map.select{|_, original_name|
78
+ aliases = thor.map.select {|_, original_name|
79
79
  name == original_name
80
80
  }.map(&:first)
81
81
  result << generate_command_information(thor, name, command, aliases)
@@ -84,25 +84,23 @@ class Thor
84
84
  end
85
85
 
86
86
  def generate_command_information(thor, name, command, aliases)
87
- if subcommand_class = thor.subcommand_classes[name]
88
- subcommands = subcommand_metadata(subcommand_class)
87
+ subcommands = if (subcommand_class = thor.subcommand_classes[name])
88
+ subcommand_metadata(subcommand_class)
89
89
  else
90
- subcommands = []
90
+ []
91
91
  end
92
- { name: hyphenate(name),
93
- aliases: aliases.map{|a| hyphenate(a) },
94
- usage: command.usage,
95
- description: command.description,
96
- options: thor.class_options.map{|_, o| option_metadata(o) } +
97
- command.options.map{|(_, o)| option_metadata(o) },
98
- subcommands: subcommands
99
- }
92
+ {name: hyphenate(name),
93
+ aliases: aliases.map {|a| hyphenate(a) },
94
+ usage: command.usage,
95
+ description: command.description,
96
+ options: thor.class_options.map {|_, o| option_metadata(o) } +
97
+ command.options.map {|(_, o)| option_metadata(o) },
98
+ subcommands: subcommands,}
100
99
  end
101
100
 
102
101
  def option_metadata(option)
103
- { names: ["--#{option.name}"] + option.aliases.map{|a| "-#{a}" },
104
- description: option.description,
105
- }
102
+ {names: ["--#{option.name}"] + option.aliases.map {|a| "-#{a}" },
103
+ description: option.description,}
106
104
  end
107
105
 
108
106
  def quote(s)
@@ -1,6 +1,6 @@
1
1
  #compdef <%= name %>
2
-
3
- local state
2
+ # shellcheck disable=SC2034
3
+ # https://github.com/koalaman/shellcheck/wiki/SC2034
4
4
 
5
5
  _<%= name %>() {
6
6
  __<%= name %>
@@ -3,14 +3,14 @@
3
3
  readonly local DEPTH=<%= depth %>
4
4
 
5
5
  case $CURRENT in
6
- $DEPTH)
6
+ "$DEPTH")
7
7
  _arguments \
8
8
  <%- subcommand[:options].each do |option| -%>
9
9
  <%= escape_option_names(option[:names]) %><%= quote(bracket(option[:description])) if option[:description] %> \
10
10
  <%- end -%>
11
11
  '*: :->subcommands'
12
12
 
13
- case $state in
13
+ case ${state:?} in
14
14
  subcommands)
15
15
  _values \
16
16
  'subcommand' \
@@ -25,7 +25,7 @@
25
25
  esac
26
26
  ;;
27
27
  *)
28
- case $words[$DEPTH] in
28
+ case ${words[$DEPTH]:?} in
29
29
  <%- subcommand[:subcommands].each do |subcommand| -%>
30
30
  <%= subcommand[:name] %>)
31
31
  <%= function_name %>_<%= subcommand[:name] %>
@@ -53,7 +53,7 @@
53
53
  <%- end -%>
54
54
  '*: :->rest'
55
55
 
56
- case $state in
56
+ case ${state:?} in
57
57
  rest)
58
58
  # complete rest arguments
59
59
  _files
@@ -1,5 +1,5 @@
1
1
  class Thor
2
2
  module ZshCompletion
3
- VERSION = "0.1.4"
3
+ VERSION = "0.1.9".freeze
4
4
  end
5
5
  end
@@ -1,7 +1,6 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path("lib", __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'thor/zsh_completion/version'
3
+ require "thor/zsh_completion/version"
5
4
 
6
5
  Gem::Specification.new do |spec|
7
6
  spec.name = "thor-zsh_completion"
@@ -9,18 +8,15 @@ Gem::Specification.new do |spec|
9
8
  spec.authors = ["labocho"]
10
9
  spec.email = ["labocho@penguinlab.jp"]
11
10
 
12
- spec.summary = %q{Create zsh completion script for Thor subclass}
13
- spec.description = %q{Create zsh completion script for Thor subclass}
11
+ spec.summary = "Create zsh completion script for Thor subclass"
12
+ spec.description = "Create zsh completion script for Thor subclass"
14
13
  spec.homepage = "https://github.com/labocho/thor-zsh_completion"
15
14
  spec.license = "MIT"
16
15
 
17
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
16
+ spec.files = `git ls-files -z`.split("\x0").reject {|f| f.match(%r{^(test|spec|features)/}) }
18
17
  spec.bindir = "exe"
19
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
+ spec.executables = spec.files.grep(%r(^exe/)) {|f| File.basename(f) }
20
19
  spec.require_paths = ["lib"]
21
20
 
22
- spec.add_dependency "thor", "~> 0"
23
- spec.add_development_dependency "bundler", "~> 1.10"
24
- spec.add_development_dependency "rake", "~> 10.0"
25
- spec.add_development_dependency "rspec"
21
+ spec.add_dependency "thor", "< 2"
26
22
  end
metadata CHANGED
@@ -1,71 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thor-zsh_completion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - labocho
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-07-21 00:00:00.000000000 Z
11
+ date: 2020-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - "<"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - "<"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: bundler
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '1.10'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '1.10'
41
- - !ruby/object:Gem::Dependency
42
- name: rake
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '10.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '10.0'
55
- - !ruby/object:Gem::Dependency
56
- name: rspec
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
26
+ version: '2'
69
27
  description: Create zsh completion script for Thor subclass
70
28
  email:
71
29
  - labocho@penguinlab.jp
@@ -75,6 +33,7 @@ extra_rdoc_files: []
75
33
  files:
76
34
  - ".gitignore"
77
35
  - ".rspec"
36
+ - ".rubocop.yml"
78
37
  - ".travis.yml"
79
38
  - CHANGELOG.md
80
39
  - CODE_OF_CONDUCT.md
@@ -83,6 +42,8 @@ files:
83
42
  - README.md
84
43
  - Rakefile
85
44
  - bin/console
45
+ - bin/rspec
46
+ - bin/rubocop
86
47
  - bin/setup
87
48
  - lib/thor/zsh_completion.rb
88
49
  - lib/thor/zsh_completion/command.rb
@@ -95,7 +56,7 @@ homepage: https://github.com/labocho/thor-zsh_completion
95
56
  licenses:
96
57
  - MIT
97
58
  metadata: {}
98
- post_install_message:
59
+ post_install_message:
99
60
  rdoc_options: []
100
61
  require_paths:
101
62
  - lib
@@ -110,9 +71,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
71
  - !ruby/object:Gem::Version
111
72
  version: '0'
112
73
  requirements: []
113
- rubyforge_project:
114
- rubygems_version: 2.6.10
115
- signing_key:
74
+ rubygems_version: 3.1.2
75
+ signing_key:
116
76
  specification_version: 4
117
77
  summary: Create zsh completion script for Thor subclass
118
78
  test_files: []