Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions scenario/class/initialize.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ class A

class B
def initialize(xxx) # 5
# ^[A]
@xxx = xxx
end
end
Expand All @@ -13,6 +14,7 @@ class C

def foo
B.new(1) # 14
# ^[B]
end

## assert
Expand All @@ -27,8 +29,8 @@ class Object
def foo: -> B
end

## hover: test.rb:5:19
## hover: [A]
Integer

## hover: test.rb:14:6
## hover: [B]
B#initialize : (Integer) -> void
6 changes: 4 additions & 2 deletions scenario/definitions/definition-rbs.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,13 @@ def call_1
end

Animal::Cat.new.call_1
# ^[A]
Animal::Cat.new.call_2
# ^[B]

## definition: test.rb:9:17
## definition: [A]
test.rbs:(3,8)-(3,14)
test.rb:(3,8)-(3,14)

## definition: test.rb:10:17
## definition: [B]
test.rbs:(4,8)-(4,14)
7 changes: 4 additions & 3 deletions scenario/definitions/definition.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,13 @@ def call
end

Animal::Cat.new.call
#^[A] ^[B] ^[C]

## definition: test.rb:9:1
## definition: [A]
test.rb:(1,7)-(1,13)

## definition: test.rb:9:9
## definition: [B]
test.rb:(2,8)-(2,11)

## definition: test.rb:9:17
## definition: [C]
test.rb:(3,8)-(3,12)
7 changes: 4 additions & 3 deletions scenario/definitions/definition_multibyte_characters.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,13 @@ def 🐱🐱🐱
end

A動物::B猫.new.🐱🐱🐱
#^[A] ^[B] ^[C]

## definition: test.rb:9:1
## definition: [A]
test.rb:(1,7)-(1,10)

## definition: test.rb:9:6
## definition: [B]
test.rb:(2,8)-(2,10)

## definition: test.rb:9:13
## definition: [C]
test.rb:(3,8)-(3,14)
12 changes: 8 additions & 4 deletions scenario/rbs/attr.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,17 @@ class A
def test1
a = A.new
a.foo = 42.0
# ^[A]
a.foo
# ^[B]
end

def test2
a = A.new
a.bar = "foo"
# ^[C]
a.bar
# ^[D]
end

## assert: test.rb
Expand All @@ -25,14 +29,14 @@ def test1: -> Integer
def test2: -> String
end

## hover: test.rb:3:4
## hover: [A]
A#foo= : (Integer | Float) -> Integer | Float

## hover: test.rb:4:4
## hover: [B]
A#foo : -> Integer

## hover: test.rb:9:4
## hover: [C]
A#bar= : (String) -> String

## hover: test.rb:10:4
## hover: [D]
A#bar : -> String
12 changes: 8 additions & 4 deletions scenario/rbs/inline-hover.rb
Original file line number Diff line number Diff line change
@@ -1,25 +1,29 @@
## update: test.rb
#: (Integer) -> void
def check(var)
# ^[A]
var
# ^[B]
end

## hover: test.rb:2:11
## hover: [A]
Integer

## hover: test.rb:3:3
## hover: [B]
Integer

## update: test2.rb
class Foo
#: (String) -> void
def bar(x)
# ^[C]
x
# ^[D]
end
end

## hover: test2.rb:3:10
## hover: [C]
String

## hover: test2.rb:4:4
## hover: [D]
String
6 changes: 4 additions & 2 deletions scenario/service/completion_dot.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,23 @@ def baz(_)

def test1(x)
x
# ^[A]
end

def test2
test1(Foo.new)
# ^[B]
end

Foo.new.foo(1.0)
test(Foo.new)

## completion: test.rb:15:2
## completion: [A]
Foo#foo : (Float) -> Integer
Foo#bar : (untyped) -> String
Foo#baz : (Foo) -> Foo

## completion: test.rb:19:15
## completion: [B]
Foo#foo : (Float) -> Integer
Foo#bar : (untyped) -> String
Foo#baz : (Foo) -> Foo
4 changes: 3 additions & 1 deletion scenario/service/completion_dot_module.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ def foo = :FOO
end
x = C.new
x
#\
^[A]

## completion: test.rb:12:0
## completion: [A]
C#foo : -> :FOO
M#bar : -> :BAR
P#baz : -> :BAZ
31 changes: 20 additions & 11 deletions scenario/service/definition.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,46 +14,55 @@ def foo(n)
end

Foo.new(1).foo(1.0)
#^[A]^[B] ^[C]
Foo.new(1).bar_sym_reader
# ^[D]
Foo.new(1).baz_sym_reader
# ^[E]
Foo.new(1).bar_sym_accessor
# ^[F]
Foo.new(1).baz_sym_accessor
# ^[G]
Foo::BAR
# ^[H]
Foo::BBAR = 1
Foo::BBAR
# ^[I]
Foo::CCAR, Foo::DDAR = [1, 2]
Foo::CCAR
# ^[J]
Foo::DDAR
# ^[K]

## definition: test.rb:15:1
## definition: [A]
test.rb:(1,6)-(1,9) # Jump to Foo class

## definition: test.rb:15:5
## definition: [B]
test.rb:(7,6)-(7,16) # Jump Foo.initialize from Foo.new

## definition: test.rb:15:12
## definition: [C]
test.rb:(11,6)-(11,9) # Jump to Foo#foo

## definition: test.rb:16:12
## definition: [D]
test.rb:(4,14)-(4,29) # Jump to Foo#bar_sym_reader (first sym arg of attr_reader)

## definition: test.rb:17:12
## definition: [E]
test.rb:(4,31)-(4,46) # Jump to Foo#baz_sym_reader (second sym arg of attr_reader)

## definition: test.rb:18:12
## definition: [F]
test.rb:(5,16)-(5,33) # Jump to Foo#bar_sym_accessor (first sym arg of attr_accessor)

## definition: test.rb:19:12
## definition: [G]
test.rb:(5,35)-(5,52) # Jump to Foo#baz_sym_accessor (second sym arg of attr_accessor)

## definition: test.rb:20:5
## definition: [H]
test.rb:(2,2)-(2,5) # Jump to Foo#BAR (constant_write_node)

## definition: test.rb:22:5
## definition: [I]
test.rb:(21,0)-(21,9) # Jump to Foo#BBAR (constant_path_write_node)

## definition: test.rb:24:5
## definition: [J]
test.rb:(23,0)-(23,9) # Jump to Foo#CCAR (first arg of constant_path_target_node)

## definition: test.rb:25:5
## definition: [K]
test.rb:(23,11)-(23,20) # Jump to Foo#DDAR (second arg of constant_path_target_node)
9 changes: 6 additions & 3 deletions scenario/service/hover.rb
Original file line number Diff line number Diff line change
@@ -1,26 +1,29 @@
## update
def foo(variable)
# ^[A]
variable + 1
# ^[B]
end

def main(_)
foo(2)
end

## hover: test.rb:1:10
## hover: [A]
Integer

## hover: test.rb:2:3
## hover: [B]
Integer

## update
def foo(nnn)
nnn.times do |var|
var
# ^[C]
end
end

foo(42)

## hover: test.rb:3:4
## hover: [C]
Integer
12 changes: 9 additions & 3 deletions scenario/service/hover2.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ def foo
end

foo
#\
^[A]

## hover: test.rb:6:0
## hover: [A]
Object#foo : -> Integer

## diagnostics
Expand All @@ -19,8 +21,10 @@ def foo
end

foo
#\
^[B]

## hover: test.rb:6:0
## hover: [B]
Object#foo : -> Integer?

## update: test.rb
Expand All @@ -30,8 +34,10 @@ def foo
end

foo
#\
^[C]

# TODO: The above test is mainly for SIG_TYPE#show

## hover: test.rb:6:0
## hover: [C]
Object#foo : -> (Integer | String)?
3 changes: 2 additions & 1 deletion scenario/service/hover3.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
## update: test.rb
x = { 1 => 2 }
x.map do |k, v|
# ^[A]
end

# TODO: support showing type parameters

## hover: test.rb:2:3
## hover: [A]
Hash[Integer, Integer]#map : -> Array[...] | -> Enumerator[...]
24 changes: 16 additions & 8 deletions scenario/service/hover4.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,34 +19,42 @@ def rest_keywords: (**untyped) -> Integer

## update: test.rb
required_positional_args
#^[A]
optional_positional_args
#^[B]
post_required_positional_args
#^[C]
rest_positional_args
#^[D]
rest_post_positional_args
#^[E]
required_keywords
#^[F]
optional_keywords
#^[G]
rest_keywords
#^[H]

## hover: test.rb:1:1
## hover: [A]
Object#required_positional_args : (Integer) -> Integer

## hover: test.rb:2:1
## hover: [B]
Object#optional_positional_args : (?Integer) -> Integer

## hover: test.rb:3:1
## hover: [C]
Object#post_required_positional_args : (?Integer, Integer) -> Integer

## hover: test.rb:4:1
## hover: [D]
Object#rest_positional_args : (*Integer) -> Integer

## hover: test.rb:5:1
## hover: [E]
Object#rest_post_positional_args : (*Integer, Integer) -> Integer

## hover: test.rb:6:1
## hover: [F]
Object#required_keywords : (a: Integer) -> Integer

## hover: test.rb:7:1
## hover: [G]
Object#optional_keywords : (?a: Integer) -> Integer

## hover: test.rb:8:1
## hover: [H]
Object#rest_keywords : (**untyped) -> Integer
Loading