thor-zsh_completion 0.1.4 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []