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,155 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `erubi` gem.
5
+ # Please instead update this file by running `bin/tapioca gem erubi`.
6
+
7
+
8
+ # source://erubi//lib/erubi.rb#3
9
+ module Erubi
10
+ private
11
+
12
+ def h(_arg0); end
13
+
14
+ class << self
15
+ def h(_arg0); end
16
+ end
17
+ end
18
+
19
+ # source://erubi//lib/erubi.rb#51
20
+ class Erubi::Engine
21
+ # Initialize a new Erubi::Engine. Options:
22
+ # +:bufval+ :: The value to use for the buffer variable, as a string (default <tt>'::String.new'</tt>).
23
+ # +:bufvar+ :: The variable name to use for the buffer variable, as a string.
24
+ # +:chain_appends+ :: Whether to chain <tt><<</t> calls to the buffer variable. Offers better
25
+ # performance, but can cause issues when the buffer variable is reassigned during
26
+ # template rendering (default +false+).
27
+ # +:ensure+ :: Wrap the template in a begin/ensure block restoring the previous value of bufvar.
28
+ # +:escapefunc+ :: The function to use for escaping, as a string (default: <tt>'::Erubi.h'</tt>).
29
+ # +:escape+ :: Whether to make <tt><%=</tt> escape by default, and <tt><%==</tt> not escape by default.
30
+ # +:escape_html+ :: Same as +:escape+, with lower priority.
31
+ # +:filename+ :: The filename for the template.
32
+ # the resulting source code. Note this may cause problems if you are wrapping the resulting
33
+ # source code in other code, because the magic comment only has an effect at the beginning of
34
+ # the file, and having the magic comment later in the file can trigger warnings.
35
+ # +:freeze_template_literals+ :: Whether to suffix all literal strings for template code with <tt>.freeze</tt>
36
+ # (default: +true+ on Ruby 2.1+, +false+ on Ruby 2.0 and older).
37
+ # Can be set to +false+ on Ruby 2.3+ when frozen string literals are enabled
38
+ # in order to improve performance.
39
+ # +:literal_prefix+ :: The prefix to output when using escaped tag delimiters (default <tt>'<%'</tt>).
40
+ # +:literal_postfix+ :: The postfix to output when using escaped tag delimiters (default <tt>'%>'</tt>).
41
+ # +:outvar+ :: Same as +:bufvar+, with lower priority.
42
+ # +:postamble+ :: The postamble for the template, by default returns the resulting source code.
43
+ # +:preamble+ :: The preamble for the template, by default initializes the buffer variable.
44
+ # +:regexp+ :: The regexp to use for scanning.
45
+ # +:src+ :: The initial value to use for the source code, an empty string by default.
46
+ # +:trim+ :: Whether to trim leading and trailing whitespace, true by default.
47
+ #
48
+ # @return [Engine] a new instance of Engine
49
+ #
50
+ # source://erubi//lib/erubi.rb#91
51
+ def initialize(input, properties = T.unsafe(nil)); end
52
+
53
+ # The variable name used for the buffer variable.
54
+ #
55
+ # source://erubi//lib/erubi.rb#62
56
+ def bufvar; end
57
+
58
+ # The filename of the template, if one was given.
59
+ #
60
+ # source://erubi//lib/erubi.rb#59
61
+ def filename; end
62
+
63
+ # The frozen ruby source code generated from the template, which can be evaled.
64
+ #
65
+ # source://erubi//lib/erubi.rb#56
66
+ def src; end
67
+
68
+ private
69
+
70
+ # :nocov:
71
+ #
72
+ # source://erubi//lib/erubi.rb#209
73
+ def _dup_string_if_frozen(string); end
74
+
75
+ # Add ruby code to the template
76
+ #
77
+ # source://erubi//lib/erubi.rb#232
78
+ def add_code(code); end
79
+
80
+ # Add the given ruby expression result to the template,
81
+ # escaping it based on the indicator given and escape flag.
82
+ #
83
+ # source://erubi//lib/erubi.rb#241
84
+ def add_expression(indicator, code); end
85
+
86
+ # Add the result of Ruby expression to the template
87
+ #
88
+ # source://erubi//lib/erubi.rb#250
89
+ def add_expression_result(code); end
90
+
91
+ # Add the escaped result of Ruby expression to the template
92
+ #
93
+ # source://erubi//lib/erubi.rb#255
94
+ def add_expression_result_escaped(code); end
95
+
96
+ # Add the given postamble to the src. Can be overridden in subclasses
97
+ # to make additional changes to src that depend on the current state.
98
+ #
99
+ # source://erubi//lib/erubi.rb#261
100
+ def add_postamble(postamble); end
101
+
102
+ # Add raw text to the template. Modifies argument if argument is mutable as a memory optimization.
103
+ # Must be called with a string, cannot be called with nil (Rails's subclass depends on it).
104
+ #
105
+ # source://erubi//lib/erubi.rb#222
106
+ def add_text(text); end
107
+
108
+ # Raise an exception, as the base engine class does not support handling other indicators.
109
+ #
110
+ # @raise [ArgumentError]
111
+ #
112
+ # source://erubi//lib/erubi.rb#267
113
+ def handle(indicator, code, tailch, rspace, lspace); end
114
+
115
+ # Make sure that any current expression has been terminated.
116
+ # The default is to terminate all expressions, but when
117
+ # the chain_appends option is used, expressions may not be
118
+ # terminated.
119
+ #
120
+ # source://erubi//lib/erubi.rb#295
121
+ def terminate_expression; end
122
+
123
+ # Make sure the buffer variable is the target of the next append
124
+ # before yielding to the block. Mark that the buffer is the target
125
+ # of the next append after the block executes.
126
+ #
127
+ # This method should only be called if the block will result in
128
+ # code where << will append to the bufvar.
129
+ #
130
+ # source://erubi//lib/erubi.rb#277
131
+ def with_buffer; end
132
+ end
133
+
134
+ # The default regular expression used for scanning.
135
+ #
136
+ # source://erubi//lib/erubi.rb#53
137
+ Erubi::Engine::DEFAULT_REGEXP = T.let(T.unsafe(nil), Regexp)
138
+
139
+ # source://erubi//lib/erubi.rb#17
140
+ Erubi::FREEZE_TEMPLATE_LITERALS = T.let(T.unsafe(nil), TrueClass)
141
+
142
+ # source://erubi//lib/erubi.rb#15
143
+ Erubi::MATCH_METHOD = T.let(T.unsafe(nil), Symbol)
144
+
145
+ # source://erubi//lib/erubi.rb#8
146
+ Erubi::RANGE_FIRST = T.let(T.unsafe(nil), Integer)
147
+
148
+ # source://erubi//lib/erubi.rb#9
149
+ Erubi::RANGE_LAST = T.let(T.unsafe(nil), Integer)
150
+
151
+ # source://erubi//lib/erubi.rb#16
152
+ Erubi::SKIP_DEFINED_FOR_INSTANCE_VARIABLE = T.let(T.unsafe(nil), TrueClass)
153
+
154
+ # source://erubi//lib/erubi.rb#4
155
+ Erubi::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,120 @@
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/fiddle/all/fiddle.rbi
9
+ #
10
+ # fiddle-1.1.6
11
+
12
+ module Fiddle
13
+ def dlopen(library); end
14
+ def dlunwrap(arg0); end
15
+ def dlwrap(arg0); end
16
+ def free(arg0); end
17
+ def malloc(arg0); end
18
+ def realloc(arg0, arg1); end
19
+ def self.dlopen(library); end
20
+ def self.dlunwrap(arg0); end
21
+ def self.dlwrap(arg0); end
22
+ def self.free(arg0); end
23
+ def self.last_error; end
24
+ def self.last_error=(error); end
25
+ def self.malloc(arg0); end
26
+ def self.realloc(arg0, arg1); end
27
+ end
28
+ class Fiddle::Function
29
+ def abi; end
30
+ def call(*arg0); end
31
+ def initialize(*arg0); end
32
+ def name; end
33
+ def need_gvl?; end
34
+ def ptr; end
35
+ def to_i; end
36
+ def to_proc; end
37
+ end
38
+ class Fiddle::Closure
39
+ def args; end
40
+ def ctype; end
41
+ def free; end
42
+ def freed?; end
43
+ def initialize(*arg0); end
44
+ def self.create(*args); end
45
+ def to_i; end
46
+ end
47
+ class Fiddle::Handle
48
+ def [](arg0); end
49
+ def close; end
50
+ def close_enabled?; end
51
+ def disable_close; end
52
+ def enable_close; end
53
+ def file_name; end
54
+ def initialize(*arg0); end
55
+ def self.[](arg0); end
56
+ def self.sym(arg0); end
57
+ def self.sym_defined?(arg0); end
58
+ def sym(arg0); end
59
+ def sym_defined?(arg0); end
60
+ def to_i; end
61
+ def to_ptr; end
62
+ end
63
+ class Fiddle::Pointer
64
+ def +(arg0); end
65
+ def +@; end
66
+ def -(arg0); end
67
+ def -@; end
68
+ def <=>(arg0); end
69
+ def ==(arg0); end
70
+ def [](*arg0); end
71
+ def []=(*arg0); end
72
+ def call_free; end
73
+ def eql?(arg0); end
74
+ def free; end
75
+ def free=(arg0); end
76
+ def freed?; end
77
+ def initialize(*arg0); end
78
+ def inspect; end
79
+ def null?; end
80
+ def ptr; end
81
+ def ref; end
82
+ def self.[](arg0); end
83
+ def self.malloc(*arg0); end
84
+ def self.read(arg0, arg1); end
85
+ def self.to_ptr(arg0); end
86
+ def self.write(arg0, arg1); end
87
+ def size; end
88
+ def size=(arg0); end
89
+ def to_i; end
90
+ def to_int; end
91
+ def to_s(*arg0); end
92
+ def to_str(*arg0); end
93
+ def to_value; end
94
+ end
95
+ class Fiddle::Pinned
96
+ def clear; end
97
+ def cleared?; end
98
+ def initialize(arg0); end
99
+ def ref; end
100
+ end
101
+ class Fiddle::MemoryView
102
+ def [](*arg0); end
103
+ def byte_size; end
104
+ def format; end
105
+ def initialize(arg0); end
106
+ def item_size; end
107
+ def ndim; end
108
+ def obj; end
109
+ def readonly?; end
110
+ def release; end
111
+ def self.export(arg0); end
112
+ def shape; end
113
+ def strides; end
114
+ def sub_offsets; end
115
+ def to_s; end
116
+ end
117
+ class Fiddle::Closure::BlockCaller < Fiddle::Closure
118
+ def call(*args); end
119
+ def initialize(ctype, args, abi = nil, &block); end
120
+ end
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `fiddle` gem.
5
+ # Please instead update this file by running `bin/tapioca gem fiddle`.
6
+
7
+
8
+ # THIS IS AN EMPTY RBI FILE.
9
+ # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
@@ -0,0 +1,15 @@
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/hank/all/hank.rbi
9
+ #
10
+ # hank-0.1.0
11
+
12
+ module Hank
13
+ end
14
+ class Hank::Error < StandardError
15
+ end