Skip to content

Commit 16b4c7e

Browse files
authored
Remove aliased shapes (#1254)
1 parent 0ddc05b commit 16b4c7e

File tree

8 files changed

+28
-27
lines changed

8 files changed

+28
-27
lines changed

lib/ruby_lsp/document.rb

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@ class Document
88

99
abstract!
1010

11-
PositionShape = T.type_alias { { line: Integer, character: Integer } }
12-
RangeShape = T.type_alias { { start: PositionShape, end: PositionShape } }
13-
EditShape = T.type_alias { { range: RangeShape, text: String } }
14-
1511
sig { returns(Prism::ParseResult) }
1612
attr_reader :parse_result
1713

@@ -80,7 +76,7 @@ def cache_get(request_name)
8076
@cache[request_name]
8177
end
8278

83-
sig { params(edits: T::Array[EditShape], version: Integer).void }
79+
sig { params(edits: T::Array[T::Hash[Symbol, T.untyped]], version: Integer).void }
8480
def push_edits(edits, version:)
8581
edits.each do |edit|
8682
range = edit[:range]
@@ -112,7 +108,7 @@ def create_scanner
112108

113109
sig do
114110
params(
115-
position: PositionShape,
111+
position: T::Hash[Symbol, T.untyped],
116112
node_types: T::Array[T.class_of(Prism::Node)],
117113
).returns([T.nilable(Prism::Node), T.nilable(Prism::Node), T::Array[String]])
118114
end
@@ -193,7 +189,7 @@ def initialize(source, encoding)
193189
end
194190

195191
# Finds the character index inside the source string for a given line and column
196-
sig { params(position: PositionShape).returns(Integer) }
192+
sig { params(position: T::Hash[Symbol, T.untyped]).returns(Integer) }
197193
def find_char_position(position)
198194
# Find the character index for the beginning of the requested line
199195
until @current_line == position[:line]

lib/ruby_lsp/executor.rb

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ def perform_initial_indexing
246246
sig do
247247
params(
248248
uri: URI::Generic,
249-
position: Document::PositionShape,
249+
position: T::Hash[Symbol, T.untyped],
250250
context: T::Hash[Symbol, T.untyped],
251251
).returns(T.any(T.nilable(Interface::SignatureHelp), T::Hash[Symbol, T.untyped]))
252252
end
@@ -280,15 +280,15 @@ def workspace_symbol(query)
280280
Requests::WorkspaceSymbol.new(query, @index).run
281281
end
282282

283-
sig { params(uri: URI::Generic, range: T.nilable(Document::RangeShape)).returns({ ast: String }) }
283+
sig { params(uri: URI::Generic, range: T.nilable(T::Hash[Symbol, T.untyped])).returns({ ast: String }) }
284284
def show_syntax_tree(uri, range)
285285
{ ast: Requests::ShowSyntaxTree.new(@store.get(uri), range).run }
286286
end
287287

288288
sig do
289289
params(
290290
uri: URI::Generic,
291-
position: Document::PositionShape,
291+
position: T::Hash[Symbol, T.untyped],
292292
).returns(T.nilable(T.any(T::Array[Interface::Location], Interface::Location)))
293293
end
294294
def definition(uri, position)
@@ -309,7 +309,7 @@ def definition(uri, position)
309309
sig do
310310
params(
311311
uri: URI::Generic,
312-
position: Document::PositionShape,
312+
position: T::Hash[Symbol, T.untyped],
313313
).returns(T.nilable(Interface::Hover))
314314
end
315315
def hover(uri, position)
@@ -336,7 +336,7 @@ def hover(uri, position)
336336
end
337337

338338
sig do
339-
params(uri: URI::Generic, content_changes: T::Array[Document::EditShape], version: Integer).returns(Object)
339+
params(uri: URI::Generic, content_changes: T::Array[T::Hash[Symbol, T.untyped]], version: Integer).returns(Object)
340340
end
341341
def text_document_did_change(uri, content_changes, version)
342342
@store.push_edits(uri: uri, edits: content_changes, version: version)
@@ -358,7 +358,7 @@ def text_document_did_close(uri)
358358
sig do
359359
params(
360360
uri: URI::Generic,
361-
positions: T::Array[Document::PositionShape],
361+
positions: T::Array[T::Hash[Symbol, T.untyped]],
362362
).returns(T.nilable(T::Array[T.nilable(Requests::Support::SelectionRange)]))
363363
end
364364
def selection_range(uri, positions)
@@ -396,7 +396,7 @@ def formatting(uri)
396396
sig do
397397
params(
398398
uri: URI::Generic,
399-
position: Document::PositionShape,
399+
position: T::Hash[Symbol, T.untyped],
400400
character: String,
401401
).returns(T::Array[Interface::TextEdit])
402402
end
@@ -407,7 +407,7 @@ def on_type_formatting(uri, position, character)
407407
sig do
408408
params(
409409
uri: URI::Generic,
410-
position: Document::PositionShape,
410+
position: T::Hash[Symbol, T.untyped],
411411
).returns(T.nilable(T::Array[Interface::DocumentHighlight]))
412412
end
413413
def document_highlight(uri, position)
@@ -420,7 +420,12 @@ def document_highlight(uri, position)
420420
listener.response
421421
end
422422

423-
sig { params(uri: URI::Generic, range: Document::RangeShape).returns(T.nilable(T::Array[Interface::InlayHint])) }
423+
sig do
424+
params(
425+
uri: URI::Generic,
426+
range: T::Hash[Symbol, T.untyped],
427+
).returns(T.nilable(T::Array[Interface::InlayHint]))
428+
end
424429
def inlay_hint(uri, range)
425430
document = @store.get(uri)
426431

@@ -437,7 +442,7 @@ def inlay_hint(uri, range)
437442
sig do
438443
params(
439444
uri: URI::Generic,
440-
range: Document::RangeShape,
445+
range: T::Hash[Symbol, T.untyped],
441446
context: T::Hash[Symbol, T.untyped],
442447
).returns(T.nilable(T::Array[Interface::CodeAction]))
443448
end
@@ -491,7 +496,7 @@ def diagnostic(uri)
491496
Interface::FullDocumentDiagnosticReport.new(kind: "full", items: response) if response
492497
end
493498

494-
sig { params(uri: URI::Generic, range: Document::RangeShape).returns(Interface::SemanticTokens) }
499+
sig { params(uri: URI::Generic, range: T::Hash[Symbol, T.untyped]).returns(Interface::SemanticTokens) }
495500
def semantic_tokens_range(uri, range)
496501
document = @store.get(uri)
497502
start_line = range.dig(:start, :line)
@@ -507,7 +512,7 @@ def semantic_tokens_range(uri, range)
507512
sig do
508513
params(
509514
uri: URI::Generic,
510-
position: Document::PositionShape,
515+
position: T::Hash[Symbol, T.untyped],
511516
).returns(T.nilable(T::Array[Interface::CompletionItem]))
512517
end
513518
def completion(uri, position)

lib/ruby_lsp/requests/code_action_resolve.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ def run
137137

138138
private
139139

140-
sig { params(range: Document::RangeShape, new_text: String).returns(Interface::TextEdit) }
140+
sig { params(range: T::Hash[Symbol, T.untyped], new_text: String).returns(Interface::TextEdit) }
141141
def create_text_edit(range, new_text)
142142
Interface::TextEdit.new(
143143
range: Interface::Range.new(

lib/ruby_lsp/requests/code_actions.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class CodeActions < BaseRequest
2222
sig do
2323
params(
2424
document: Document,
25-
range: Document::RangeShape,
25+
range: T::Hash[Symbol, T.untyped],
2626
context: T::Hash[Symbol, T.untyped],
2727
).void
2828
end
@@ -49,7 +49,7 @@ def run
4949

5050
private
5151

52-
sig { params(range: Document::RangeShape, uri: URI::Generic).returns(Interface::CodeAction) }
52+
sig { params(range: T::Hash[Symbol, T.untyped], uri: URI::Generic).returns(Interface::CodeAction) }
5353
def refactor_code_action(range, uri)
5454
Interface::CodeAction.new(
5555
title: "Refactor: Extract Variable",

lib/ruby_lsp/requests/on_type_formatting.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class OnTypeFormatting < BaseRequest
2626
T::Array[Regexp],
2727
)
2828

29-
sig { params(document: Document, position: Document::PositionShape, trigger_character: String).void }
29+
sig { params(document: Document, position: T::Hash[Symbol, T.untyped], trigger_character: String).void }
3030
def initialize(document, position, trigger_character)
3131
super(document)
3232

@@ -143,7 +143,7 @@ def handle_comment_line(spaces)
143143
add_edit_with_text("##{spaces}")
144144
end
145145

146-
sig { params(text: String, position: Document::PositionShape).void }
146+
sig { params(text: String, position: T::Hash[Symbol, T.untyped]).void }
147147
def add_edit_with_text(text, position = @position)
148148
pos = Interface::Position.new(
149149
line: position[:line],

lib/ruby_lsp/requests/show_syntax_tree.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ module Requests
2020
class ShowSyntaxTree < BaseRequest
2121
extend T::Sig
2222

23-
sig { params(document: Document, range: T.nilable(Document::RangeShape)).void }
23+
sig { params(document: Document, range: T.nilable(T::Hash[Symbol, T.untyped])).void }
2424
def initialize(document, range)
2525
super(document)
2626

lib/ruby_lsp/requests/support/selection_range.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ module Support
77
class SelectionRange < Interface::SelectionRange
88
extend T::Sig
99

10-
sig { params(position: Document::PositionShape).returns(T::Boolean) }
10+
sig { params(position: T::Hash[Symbol, T.untyped]).returns(T::Boolean) }
1111
def cover?(position)
1212
start_covered = range.start.line < position[:line] ||
1313
(range.start.line == position[:line] && range.start.character <= position[:character])

lib/ruby_lsp/store.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def set(uri:, source:, version:)
6363
@state[uri.to_s] = document
6464
end
6565

66-
sig { params(uri: URI::Generic, edits: T::Array[Document::EditShape], version: Integer).void }
66+
sig { params(uri: URI::Generic, edits: T::Array[T::Hash[Symbol, T.untyped]], version: Integer).void }
6767
def push_edits(uri:, edits:, version:)
6868
T.must(@state[uri.to_s]).push_edits(edits, version: version)
6969
end

0 commit comments

Comments
 (0)