hank 0.1.0

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.
Files changed (102) hide show
  1. checksums.yaml +7 -0
  2. data/.clodignore +32 -0
  3. data/.rubocop.yml +59 -0
  4. data/CLAUDE.md +22 -0
  5. data/Gemfile +11 -0
  6. data/LICENSE +21 -0
  7. data/README.md +70 -0
  8. data/Rakefile +17 -0
  9. data/bin/hank +7 -0
  10. data/hank.gemspec +55 -0
  11. data/lib/hank/cli.rb +162 -0
  12. data/lib/hank/file_selector.rb +204 -0
  13. data/lib/hank/hankfile.rb +70 -0
  14. data/lib/hank/path_utils.rb +47 -0
  15. data/lib/hank/symlink_manager.rb +94 -0
  16. data/lib/hank/validator.rb +65 -0
  17. data/lib/hank/version.rb +6 -0
  18. data/lib/hank.rb +25 -0
  19. data/sorbet/config +5 -0
  20. data/sorbet/rbi/annotations/.gitattributes +1 -0
  21. data/sorbet/rbi/annotations/colorize.rbi +121 -0
  22. data/sorbet/rbi/annotations/minitest.rbi +119 -0
  23. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  24. data/sorbet/rbi/gems/.gitattributes +1 -0
  25. data/sorbet/rbi/gems/ansi.rbi +398 -0
  26. data/sorbet/rbi/gems/ansi@1.5.0.rbi +688 -0
  27. data/sorbet/rbi/gems/ast.rbi +49 -0
  28. data/sorbet/rbi/gems/ast@2.4.3.rbi +585 -0
  29. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +618 -0
  30. data/sorbet/rbi/gems/builder.rbi +58 -0
  31. data/sorbet/rbi/gems/builder@3.3.0.rbi +502 -0
  32. data/sorbet/rbi/gems/citrus.rbi +238 -0
  33. data/sorbet/rbi/gems/citrus@3.0.2.rbi +1234 -0
  34. data/sorbet/rbi/gems/colorize.rbi +82 -0
  35. data/sorbet/rbi/gems/colorize@0.8.1.rbi +152 -0
  36. data/sorbet/rbi/gems/curses.rbi +327 -0
  37. data/sorbet/rbi/gems/curses@1.4.7.rbi +894 -0
  38. data/sorbet/rbi/gems/diffy.rbi +56 -0
  39. data/sorbet/rbi/gems/diffy@3.4.3.rbi +184 -0
  40. data/sorbet/rbi/gems/docile.rbi +36 -0
  41. data/sorbet/rbi/gems/docile@1.4.1.rbi +377 -0
  42. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  43. data/sorbet/rbi/gems/fiddle.rbi +120 -0
  44. data/sorbet/rbi/gems/fiddle@1.1.6.rbi +9 -0
  45. data/sorbet/rbi/gems/hank.rbi +15 -0
  46. data/sorbet/rbi/gems/json@2.10.2.rbi +2112 -0
  47. data/sorbet/rbi/gems/language_server-protocol.rbi +2868 -0
  48. data/sorbet/rbi/gems/language_server-protocol@3.17.0.4.rbi +9 -0
  49. data/sorbet/rbi/gems/lint_roller.rbi +75 -0
  50. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +86 -0
  51. data/sorbet/rbi/gems/logger.rbi +94 -0
  52. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  53. data/sorbet/rbi/gems/minitest-reporters.rbi +104 -0
  54. data/sorbet/rbi/gems/minitest-reporters@1.7.1.rbi +1018 -0
  55. data/sorbet/rbi/gems/minitest.rbi +440 -0
  56. data/sorbet/rbi/gems/minitest@5.25.5.rbi +1547 -0
  57. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  58. data/sorbet/rbi/gems/parallel.rbi +88 -0
  59. data/sorbet/rbi/gems/parallel@1.26.3.rbi +291 -0
  60. data/sorbet/rbi/gems/parser.rbi +1545 -0
  61. data/sorbet/rbi/gems/parser@3.3.7.4.rbi +5535 -0
  62. data/sorbet/rbi/gems/prism.rbi +4090 -0
  63. data/sorbet/rbi/gems/prism@1.4.0.rbi +41732 -0
  64. data/sorbet/rbi/gems/racc.rbi +41 -0
  65. data/sorbet/rbi/gems/racc@1.8.1.rbi +160 -0
  66. data/sorbet/rbi/gems/rainbow.rbi +122 -0
  67. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +403 -0
  68. data/sorbet/rbi/gems/rake.rbi +649 -0
  69. data/sorbet/rbi/gems/rake@13.2.1.rbi +3033 -0
  70. data/sorbet/rbi/gems/rbi@0.3.1.rbi +6599 -0
  71. data/sorbet/rbi/gems/rbs@3.9.2.rbi +6978 -0
  72. data/sorbet/rbi/gems/regexp_parser.rbi +1039 -0
  73. data/sorbet/rbi/gems/regexp_parser@2.10.0.rbi +3795 -0
  74. data/sorbet/rbi/gems/rubocop-ast.rbi +1470 -0
  75. data/sorbet/rbi/gems/rubocop-ast@1.44.0.rbi +7716 -0
  76. data/sorbet/rbi/gems/rubocop.rbi +10557 -0
  77. data/sorbet/rbi/gems/rubocop@1.75.2.rbi +61860 -0
  78. data/sorbet/rbi/gems/ruby-filemagic.rbi +46 -0
  79. data/sorbet/rbi/gems/ruby-filemagic@0.7.3.rbi +168 -0
  80. data/sorbet/rbi/gems/ruby-progressbar.rbi +321 -0
  81. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1318 -0
  82. data/sorbet/rbi/gems/simplecov-html.rbi +36 -0
  83. data/sorbet/rbi/gems/simplecov-html@0.13.1.rbi +225 -0
  84. data/sorbet/rbi/gems/simplecov.rbi +435 -0
  85. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +2149 -0
  86. data/sorbet/rbi/gems/simplecov_json_formatter.rbi +47 -0
  87. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +9 -0
  88. data/sorbet/rbi/gems/spoom@1.6.1.rbi +7274 -0
  89. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
  90. data/sorbet/rbi/gems/thor.rbi +583 -0
  91. data/sorbet/rbi/gems/thor@1.3.2.rbi +4378 -0
  92. data/sorbet/rbi/gems/toml-rb.rbi +136 -0
  93. data/sorbet/rbi/gems/toml-rb@2.2.0.rbi +419 -0
  94. data/sorbet/rbi/gems/unicode-display_width.rbi +28 -0
  95. data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +132 -0
  96. data/sorbet/rbi/gems/unicode-emoji.rbi +18 -0
  97. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +251 -0
  98. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  99. data/sorbet/rbi/gems/yard@0.9.37.rbi +18379 -0
  100. data/sorbet/tapioca/config.yml +13 -0
  101. data/sorbet/tapioca/require.rb +4 -0
  102. metadata +399 -0
@@ -0,0 +1,238 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: true
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/citrus/all/citrus.rbi
9
+ #
10
+ # citrus-3.0.2
11
+
12
+ module Citrus
13
+ def self.cache; end
14
+ def self.eval(code, options = nil); end
15
+ def self.load(file, options = nil); end
16
+ def self.require(file, options = nil); end
17
+ def self.rule(expr, options = nil); end
18
+ def self.version; end
19
+ end
20
+ class Citrus::Error < StandardError
21
+ end
22
+ class Citrus::LoadError < Citrus::Error
23
+ end
24
+ class Citrus::ParseError < Citrus::Error
25
+ def detail; end
26
+ def initialize(input); end
27
+ def line; end
28
+ def line_number; end
29
+ def line_offset; end
30
+ def offset; end
31
+ end
32
+ class Citrus::SyntaxError < Citrus::Error
33
+ def initialize(error); end
34
+ end
35
+ class Citrus::Input < StringScanner
36
+ def apply_rule(rule, position, events); end
37
+ def exec(rule, events = nil); end
38
+ def initialize(source); end
39
+ def line(pos = nil); end
40
+ def line_index(pos = nil); end
41
+ def line_number(pos = nil); end
42
+ def line_offset(pos = nil); end
43
+ def lineno(pos = nil); end
44
+ def lines; end
45
+ def max_offset; end
46
+ def memoized?; end
47
+ def reset; end
48
+ def source; end
49
+ def source_text(source); end
50
+ def test(rule); end
51
+ def to_str; end
52
+ end
53
+ class Citrus::MemoizedInput < Citrus::Input
54
+ def apply_rule(rule, position, events); end
55
+ def cache; end
56
+ def cache_hits; end
57
+ def initialize(string); end
58
+ def memoized?; end
59
+ def reset; end
60
+ end
61
+ module Citrus::Grammar
62
+ def self.included(mod); end
63
+ def self.new(&block); end
64
+ end
65
+ module Citrus::GrammarMethods
66
+ def all(*args, &block); end
67
+ def andp(rule, &block); end
68
+ def any(*args, &block); end
69
+ def butp(rule, &block); end
70
+ def dot(&block); end
71
+ def ext(rule, mod = nil, &block); end
72
+ def has_rule?(name); end
73
+ def included_grammars; end
74
+ def label(rule, label, &block); end
75
+ def mod(rule, &block); end
76
+ def name; end
77
+ def notp(rule, &block); end
78
+ def one_or_more(rule, &block); end
79
+ def parse(source, options = nil); end
80
+ def parse_file(path, options = nil); end
81
+ def rep(rule, min = nil, max = nil, &block); end
82
+ def root(name = nil); end
83
+ def rule(name, obj = nil, &block); end
84
+ def rule_names; end
85
+ def rules; end
86
+ def self.extend_object(obj); end
87
+ def setup_super(rule, name); end
88
+ def sup(&block); end
89
+ def super_rule(name); end
90
+ def zero_or_more(rule, &block); end
91
+ def zero_or_one(rule, &block); end
92
+ end
93
+ module Citrus::Rule
94
+ def ==(other); end
95
+ def ===(obj); end
96
+ def default_options; end
97
+ def elide?; end
98
+ def eql?(other); end
99
+ def extend_match(match); end
100
+ def extension; end
101
+ def extension=(mod); end
102
+ def grammar; end
103
+ def grammar=(arg0); end
104
+ def inspect; end
105
+ def label; end
106
+ def label=(label); end
107
+ def name; end
108
+ def name=(name); end
109
+ def needs_paren?; end
110
+ def parse(source, options = nil); end
111
+ def self.for(obj); end
112
+ def terminal?; end
113
+ def test(string, options = nil); end
114
+ def to_embedded_s; end
115
+ def to_s; end
116
+ def to_str; end
117
+ end
118
+ module Citrus::Proxy
119
+ def elide?; end
120
+ def exec(input, events = nil); end
121
+ def extend_match(match); end
122
+ def initialize(rule_name = nil); end
123
+ def rule; end
124
+ def rule_name; end
125
+ def rule_name=(rule_name); end
126
+ include Citrus::Rule
127
+ end
128
+ class Citrus::Alias
129
+ def resolve!; end
130
+ def to_citrus; end
131
+ include Citrus::Proxy
132
+ end
133
+ class Citrus::Super
134
+ def resolve!; end
135
+ def to_citrus; end
136
+ include Citrus::Proxy
137
+ end
138
+ class Citrus::Terminal
139
+ def ==(other); end
140
+ def case_sensitive?; end
141
+ def eql?(other); end
142
+ def exec(input, events = nil); end
143
+ def initialize(regexp = nil); end
144
+ def regexp; end
145
+ def terminal?; end
146
+ def to_citrus; end
147
+ include Citrus::Rule
148
+ end
149
+ class Citrus::StringTerminal < Citrus::Terminal
150
+ def ==(other); end
151
+ def eql?(other); end
152
+ def initialize(rule = nil, flags = nil); end
153
+ def to_citrus; end
154
+ end
155
+ module Citrus::Nonterminal
156
+ def grammar=(grammar); end
157
+ def initialize(rules = nil); end
158
+ def rules; end
159
+ include Citrus::Rule
160
+ end
161
+ class Citrus::AndPredicate
162
+ def exec(input, events = nil); end
163
+ def initialize(rule = nil); end
164
+ def rule; end
165
+ def to_citrus; end
166
+ include Citrus::Nonterminal
167
+ end
168
+ class Citrus::NotPredicate
169
+ def exec(input, events = nil); end
170
+ def initialize(rule = nil); end
171
+ def rule; end
172
+ def to_citrus; end
173
+ include Citrus::Nonterminal
174
+ end
175
+ class Citrus::ButPredicate
176
+ def exec(input, events = nil); end
177
+ def initialize(rule = nil); end
178
+ def rule; end
179
+ def to_citrus; end
180
+ include Citrus::Nonterminal
181
+ end
182
+ class Citrus::Repeat
183
+ def exec(input, events = nil); end
184
+ def initialize(rule = nil, min = nil, max = nil); end
185
+ def max; end
186
+ def min; end
187
+ def operator; end
188
+ def rule; end
189
+ def to_citrus; end
190
+ include Citrus::Nonterminal
191
+ end
192
+ class Citrus::Sequence
193
+ def exec(input, events = nil); end
194
+ def to_citrus; end
195
+ include Citrus::Nonterminal
196
+ end
197
+ class Citrus::Choice
198
+ def elide?; end
199
+ def exec(input, events = nil); end
200
+ def to_citrus; end
201
+ include Citrus::Nonterminal
202
+ end
203
+ class Citrus::Match
204
+ def ==(other); end
205
+ def [](key, *args); end
206
+ def capture!(rule, match); end
207
+ def capture(name); end
208
+ def captures(name = nil); end
209
+ def captures_hash; end
210
+ def dump(indent = nil); end
211
+ def eql?(other); end
212
+ def events; end
213
+ def first; end
214
+ def initialize(input, events = nil, offset = nil); end
215
+ def input; end
216
+ def inspect; end
217
+ def length; end
218
+ def matches; end
219
+ def offset; end
220
+ def process_events!; end
221
+ def source; end
222
+ def string; end
223
+ def to_a; end
224
+ def to_s; end
225
+ def to_str; end
226
+ def value; end
227
+ end
228
+ module Citrus::ModuleNameHelpers
229
+ def module_basename; end
230
+ def module_name; end
231
+ def module_namespace; end
232
+ def module_segments; end
233
+ end
234
+ module Citrus::File
235
+ def self.parse(*); end
236
+ extend Citrus::GrammarMethods
237
+ include Citrus::Grammar
238
+ end