ripper-tags 0.9.0 → 1.0.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.
- checksums.yaml +4 -4
- data/lib/ripper-tags/parser.rb +33 -19
- data/lib/ripper-tags.rb +2 -2
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49763a523894bbbefd2b30cb86634ee63576c2109e9954a0f0b2e9b57f799585
|
4
|
+
data.tar.gz: 9ceda5050f002211a6c61f2dea6f65eb1e1978e2e689d73e2d6740045ae62c8d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 37450f44bd80a4e79aeb3a025e703ef4c186ab1fcd92b44dfb064d9168808322a369ff90ee97b7289170252b4ff749fd4c8d0a7377d7a81e46c1f5e255e693a4
|
7
|
+
data.tar.gz: e29983e918577f41e485ee4576355db5d683d5c01ba80a99a9e9c85d653573b5d9bab8c65d91b891e0978ae9310319abfb5da9ef1e3902f188a319c45187718f
|
data/lib/ripper-tags/parser.rb
CHANGED
@@ -136,7 +136,7 @@ class Parser < Ripper
|
|
136
136
|
end
|
137
137
|
|
138
138
|
def on_string_add(*args)
|
139
|
-
[args[1], lineno]
|
139
|
+
[args[1], lineno] unless args[0].is_a?(Array) && args[0].include?(:string_embexpr)
|
140
140
|
end
|
141
141
|
|
142
142
|
def on_string_embexpr(*)
|
@@ -193,17 +193,21 @@ class Parser < Ripper
|
|
193
193
|
klass = name == access ? nil : 'self'
|
194
194
|
procedure = :def_with_access
|
195
195
|
|
196
|
-
if args[1][0].is_a?(
|
197
|
-
|
198
|
-
|
196
|
+
if args[1][0].is_a?(Array)
|
197
|
+
args[1].inject([]) do |gen, def_args|
|
198
|
+
if def_args[1].is_a?(String)
|
199
|
+
gen << [procedure, klass, def_args[1], access, line]
|
200
|
+
else
|
201
|
+
gen
|
202
|
+
end
|
203
|
+
end
|
204
|
+
elsif args[1][0].is_a?(String)
|
205
|
+
[:redefine_access, klass, args[1][0], access, line]
|
199
206
|
elsif args[1][1] == 'self'
|
200
|
-
|
207
|
+
[procedure, klass, args[1][2], access, line]
|
201
208
|
else
|
202
|
-
|
203
|
-
method_name = args[1][1]
|
209
|
+
[procedure, nil, args[1][1], access, line]
|
204
210
|
end
|
205
|
-
|
206
|
-
[procedure, klass, method_name, access, line]
|
207
211
|
when "module_function"
|
208
212
|
access = "public"
|
209
213
|
klass = "self"
|
@@ -223,11 +227,13 @@ class Parser < Ripper
|
|
223
227
|
when /^[mc]?attr_(accessor|reader|writer)$/
|
224
228
|
gen_reader = $1 != 'writer'
|
225
229
|
gen_writer = $1 != 'reader'
|
226
|
-
|
230
|
+
gen = []
|
231
|
+
args[1..-1].compact.each do |arg|
|
232
|
+
next unless arg[0].is_a?(String)
|
227
233
|
gen << [:def, arg[0], line] if gen_reader
|
228
234
|
gen << [:def, "#{arg[0]}=", line] if gen_writer
|
229
|
-
gen
|
230
235
|
end
|
236
|
+
gen
|
231
237
|
when "has_many", "has_and_belongs_to_many"
|
232
238
|
a = args[1][0]
|
233
239
|
kind = name.to_sym
|
@@ -285,8 +291,9 @@ class Parser < Ripper
|
|
285
291
|
end
|
286
292
|
|
287
293
|
def on_method_add_block(method, body)
|
288
|
-
|
289
|
-
|
294
|
+
if method.nil?
|
295
|
+
body ? body.last : nil
|
296
|
+
elsif (method[2] == "class_eval" || method[2] == "module_eval") && body
|
290
297
|
[:class_eval, [
|
291
298
|
method[1].is_a?(Array) ? method[1][0] : method[1],
|
292
299
|
method[3]
|
@@ -296,6 +303,8 @@ class Parser < Ripper
|
|
296
303
|
call = method.dup
|
297
304
|
call[4] = body.last
|
298
305
|
call
|
306
|
+
elsif :fcall == method[0] && body
|
307
|
+
body.last
|
299
308
|
else
|
300
309
|
super
|
301
310
|
end
|
@@ -538,12 +547,17 @@ end
|
|
538
547
|
end
|
539
548
|
|
540
549
|
def on_call(*args)
|
550
|
+
process(args)
|
541
551
|
end
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
alias
|
547
|
-
alias
|
552
|
+
|
553
|
+
def ignore(*args)
|
554
|
+
end
|
555
|
+
|
556
|
+
alias on_aref_field ignore
|
557
|
+
alias on_field ignore
|
558
|
+
alias on_fcall ignore
|
559
|
+
alias on_args ignore
|
560
|
+
alias on_assoc ignore
|
561
|
+
alias on_! ignore
|
548
562
|
end
|
549
563
|
end
|
data/lib/ripper-tags.rb
CHANGED
@@ -11,7 +11,7 @@ require 'ripper-tags/vim_append_formatter'
|
|
11
11
|
require 'ripper-tags/json_formatter'
|
12
12
|
|
13
13
|
module RipperTags
|
14
|
-
def self.version() "0.
|
14
|
+
def self.version() "1.0.0" end
|
15
15
|
|
16
16
|
FatalError = Class.new(RuntimeError)
|
17
17
|
|
@@ -97,7 +97,7 @@ module RipperTags
|
|
97
97
|
opts.on("--tag-relative[=yes|no|always|never]", "Make file paths relative to the directory of the tag file") do |value|
|
98
98
|
options.tag_relative = value || true
|
99
99
|
end
|
100
|
-
opts.on("-L", "--input-file=FILE", "File to read paths to process
|
100
|
+
opts.on("-L", "--input-file=FILE", "File to read paths to process from (use `-` for stdin)") do |file|
|
101
101
|
options.input_file = file
|
102
102
|
end
|
103
103
|
opts.on("-R", "--recursive", "Descend recursively into subdirectories") do
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ripper-tags
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mislav Marohnić
|
8
8
|
- Aman Gupta
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-05-18 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: fast, accurate ctags generator for ruby source code using Ripper
|
15
15
|
email:
|
@@ -36,7 +36,7 @@ homepage: https://github.com/tmm1/ripper-tags
|
|
36
36
|
licenses:
|
37
37
|
- MIT
|
38
38
|
metadata: {}
|
39
|
-
post_install_message:
|
39
|
+
post_install_message:
|
40
40
|
rdoc_options: []
|
41
41
|
require_paths:
|
42
42
|
- lib
|
@@ -51,8 +51,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: '0'
|
53
53
|
requirements: []
|
54
|
-
rubygems_version: 3.
|
55
|
-
signing_key:
|
54
|
+
rubygems_version: 3.4.6
|
55
|
+
signing_key:
|
56
56
|
specification_version: 4
|
57
57
|
summary: ctags generator for ruby code
|
58
58
|
test_files: []
|