Skip to content

Commit 4a64de7

Browse files
committed
Encapsulate location encoding in response builders
1 parent 9f6b0e0 commit 4a64de7

25 files changed

Lines changed: 116 additions & 48 deletions

lib/ruby_lsp/requests/code_lens.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ def provider
2121
#: (GlobalState, RubyDocument | ERBDocument, Prism::Dispatcher) -> void
2222
def initialize(global_state, document, dispatcher)
2323
@response_builder = ResponseBuilders::CollectionResponseBuilder
24-
.new #: ResponseBuilders::CollectionResponseBuilder[Interface::CodeLens]
24+
.new(document.encoding, document.parse_result) #: ResponseBuilders::CollectionResponseBuilder[Interface::CodeLens]
2525
super()
2626

2727
@document = document
28-
@test_builder = ResponseBuilders::TestCollection.new #: ResponseBuilders::TestCollection
28+
@test_builder = ResponseBuilders::TestCollection.new(document.encoding, document.parse_result) #: ResponseBuilders::TestCollection
2929
uri = document.uri
3030
file_path = uri.full_path
3131
code_lens_config = global_state.feature_configuration(:codeLens)

lib/ruby_lsp/requests/completion.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def initialize(document, global_state, params, sorbet_level, dispatcher)
6161
code_units_cache: document.code_units_cache,
6262
)
6363
@response_builder = ResponseBuilders::CollectionResponseBuilder
64-
.new #: ResponseBuilders::CollectionResponseBuilder[Interface::CompletionItem]
64+
.new(document.encoding, document.parse_result) #: ResponseBuilders::CollectionResponseBuilder[Interface::CompletionItem]
6565

6666
Listeners::Completion.new(
6767
@response_builder,

lib/ruby_lsp/requests/definition.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class Definition < Request
1313
def initialize(document, global_state, position, dispatcher, sorbet_level)
1414
super()
1515
@response_builder = ResponseBuilders::CollectionResponseBuilder
16-
.new #: ResponseBuilders::CollectionResponseBuilder[(Interface::Location | Interface::LocationLink)]
16+
.new(document.encoding, document.parse_result) #: ResponseBuilders::CollectionResponseBuilder[(Interface::Location | Interface::LocationLink)]
1717
@dispatcher = dispatcher
1818

1919
char_position, _ = document.find_index_by_position(position)

lib/ruby_lsp/requests/discover_tests.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def initialize(global_state, document, dispatcher)
1818
@global_state = global_state
1919
@document = document
2020
@dispatcher = dispatcher
21-
@response_builder = ResponseBuilders::TestCollection.new #: ResponseBuilders::TestCollection
21+
@response_builder = ResponseBuilders::TestCollection.new(document.encoding, document.parse_result) #: ResponseBuilders::TestCollection
2222
end
2323

2424
# @override

lib/ruby_lsp/requests/document_highlight.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def initialize(global_state, document, position, dispatcher)
2626
)
2727

2828
@response_builder = ResponseBuilders::CollectionResponseBuilder
29-
.new #: ResponseBuilders::CollectionResponseBuilder[Interface::DocumentHighlight]
29+
.new(document.encoding, document.parse_result) #: ResponseBuilders::CollectionResponseBuilder[Interface::DocumentHighlight]
3030
Listeners::DocumentHighlight.new(
3131
@response_builder,
3232
node_context.node,

lib/ruby_lsp/requests/document_link.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ def provider
1616
end
1717
end
1818

19-
#: (URI::Generic uri, Array[Prism::Comment] comments, Prism::Dispatcher dispatcher) -> void
20-
def initialize(uri, comments, dispatcher)
19+
#: (URI::Generic uri, (RubyDocument | ERBDocument) document, Prism::Dispatcher dispatcher) -> void
20+
def initialize(uri, document, dispatcher)
2121
super()
2222
@response_builder = ResponseBuilders::CollectionResponseBuilder
23-
.new #: ResponseBuilders::CollectionResponseBuilder[Interface::DocumentLink]
24-
Listeners::DocumentLink.new(@response_builder, uri, comments, dispatcher)
23+
.new(document.encoding, document.parse_result) #: ResponseBuilders::CollectionResponseBuilder[Interface::DocumentLink]
24+
Listeners::DocumentLink.new(@response_builder, uri, document.parse_result.comments, dispatcher)
2525
end
2626

2727
# @override

lib/ruby_lsp/requests/document_symbol.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ def provider
2020
end
2121
end
2222

23-
#: (URI::Generic uri, Prism::Dispatcher dispatcher) -> void
24-
def initialize(uri, dispatcher)
23+
#: (URI::Generic uri, (RubyDocument | ERBDocument) document, Prism::Dispatcher dispatcher) -> void
24+
def initialize(uri, document, dispatcher)
2525
super()
26-
@response_builder = ResponseBuilders::DocumentSymbol.new #: ResponseBuilders::DocumentSymbol
26+
@response_builder = ResponseBuilders::DocumentSymbol.new(document.encoding, document.parse_result) #: ResponseBuilders::DocumentSymbol
2727
Listeners::DocumentSymbol.new(@response_builder, uri, dispatcher)
2828

2929
Addon.addons.each do |addon|

lib/ruby_lsp/requests/folding_ranges.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ def provider
1515
end
1616
end
1717

18-
#: (Array[Prism::Comment] comments, Prism::Dispatcher dispatcher) -> void
19-
def initialize(comments, dispatcher)
18+
#: ((RubyDocument | ERBDocument) document, Prism::Dispatcher dispatcher) -> void
19+
def initialize(document, dispatcher)
2020
super()
2121
@response_builder = ResponseBuilders::CollectionResponseBuilder
22-
.new #: ResponseBuilders::CollectionResponseBuilder[Interface::FoldingRange]
23-
@listener = Listeners::FoldingRanges.new(@response_builder, comments, dispatcher) #: Listeners::FoldingRanges
22+
.new(document.encoding, document.parse_result) #: ResponseBuilders::CollectionResponseBuilder[Interface::FoldingRange]
23+
@listener = Listeners::FoldingRanges.new(@response_builder, document.parse_result.comments, dispatcher) #: Listeners::FoldingRanges
2424
end
2525

2626
# @override

lib/ruby_lsp/requests/hover.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def initialize(document, global_state, position, dispatcher, sorbet_level)
4646

4747
@target = target #: Prism::Node?
4848
uri = document.uri
49-
@response_builder = ResponseBuilders::Hover.new #: ResponseBuilders::Hover
49+
@response_builder = ResponseBuilders::Hover.new(document.encoding, document.parse_result) #: ResponseBuilders::Hover
5050
Listeners::Hover.new(@response_builder, global_state, uri, node_context, dispatcher, sorbet_level, position)
5151
Addon.addons.each do |addon|
5252
addon.create_hover_listener(@response_builder, node_context, dispatcher)

lib/ruby_lsp/requests/inlay_hints.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def initialize(global_state, document, dispatcher)
2121
super()
2222

2323
@response_builder = ResponseBuilders::CollectionResponseBuilder
24-
.new #: ResponseBuilders::CollectionResponseBuilder[Interface::InlayHint]
24+
.new(document.encoding, document.parse_result) #: ResponseBuilders::CollectionResponseBuilder[Interface::InlayHint]
2525
Listeners::InlayHints.new(global_state, @response_builder, dispatcher)
2626
end
2727

0 commit comments

Comments
 (0)