Skip to content

Commit 28ddf36

Browse files
authored
Remove T::Enum for language ID (#3454)
1 parent b82ab2d commit 28ddf36

File tree

9 files changed

+26
-34
lines changed

9 files changed

+26
-34
lines changed

lib/ruby_lsp/document.rb

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,6 @@
33

44
module RubyLsp
55
class Document
6-
class LanguageId < T::Enum
7-
enums do
8-
Ruby = new("ruby")
9-
ERB = new("erb")
10-
RBS = new("rbs")
11-
end
12-
end
13-
146
extend T::Sig
157
extend T::Helpers
168
extend T::Generic
@@ -71,7 +63,7 @@ def ==(other)
7163
self.class == other.class && uri == other.uri && @source == other.source
7264
end
7365

74-
sig { abstract.returns(LanguageId) }
66+
sig { abstract.returns(Symbol) }
7567
def language_id; end
7668

7769
#: [T] (String request_name) { (Document[ParseResultType] document) -> T } -> T

lib/ruby_lsp/erb_document.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ def syntax_error?
4646
end
4747

4848
# @override
49-
#: -> LanguageId
49+
#: -> Symbol
5050
def language_id
51-
LanguageId::ERB
51+
:erb
5252
end
5353

5454
#: (Hash[Symbol, untyped] position, ?node_types: Array[singleton(Prism::Node)]) -> NodeContext

lib/ruby_lsp/listeners/definition.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class Definition
88

99
MAX_NUMBER_OF_DEFINITION_CANDIDATES_WITHOUT_RECEIVER = 10
1010

11-
#: (ResponseBuilders::CollectionResponseBuilder[(Interface::Location | Interface::LocationLink)] response_builder, GlobalState global_state, Document::LanguageId language_id, URI::Generic uri, NodeContext node_context, Prism::Dispatcher dispatcher, SorbetLevel sorbet_level) -> void
11+
#: (ResponseBuilders::CollectionResponseBuilder[(Interface::Location | Interface::LocationLink)] response_builder, GlobalState global_state, Symbol language_id, URI::Generic uri, NodeContext node_context, Prism::Dispatcher dispatcher, SorbetLevel sorbet_level) -> void
1212
def initialize(response_builder, global_state, language_id, uri, node_context, dispatcher, sorbet_level) # rubocop:disable Metrics/ParameterLists
1313
@response_builder = response_builder
1414
@global_state = global_state
@@ -62,7 +62,7 @@ def on_call_node_enter(node)
6262

6363
# Until we can properly infer the receiver type in erb files (maybe with ruby-lsp-rails),
6464
# treating method calls' type as `nil` will allow users to get some completion support first
65-
if @language_id == Document::LanguageId::ERB && inferrer_receiver_type&.name == "Object"
65+
if @language_id == :erb && inferrer_receiver_type&.name == "Object"
6666
inferrer_receiver_type = nil
6767
end
6868

lib/ruby_lsp/rbs_document.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ def syntax_error?
3636
end
3737

3838
# @override
39-
#: -> LanguageId
39+
#: -> Symbol
4040
def language_id
41-
LanguageId::RBS
41+
:rbs
4242
end
4343
end
4444
end

lib/ruby_lsp/ruby_document.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,9 +144,9 @@ def syntax_error?
144144
end
145145

146146
# @override
147-
#: -> LanguageId
147+
#: -> Symbol
148148
def language_id
149-
LanguageId::Ruby
149+
:ruby
150150
end
151151

152152
#: (Hash[Symbol, untyped] range, ?node_types: Array[singleton(Prism::Node)]) -> Prism::Node?

lib/ruby_lsp/server.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -387,11 +387,11 @@ def text_document_did_open(message)
387387
text_document = message.dig(:params, :textDocument)
388388
language_id = case text_document[:languageId]
389389
when "erb", "eruby"
390-
Document::LanguageId::ERB
390+
:erb
391391
when "rbs"
392-
Document::LanguageId::RBS
392+
:rbs
393393
else
394-
Document::LanguageId::Ruby
394+
:ruby
395395
end
396396

397397
document = @store.set(

lib/ruby_lsp/store.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ def get(uri)
3838
ext = File.extname(path)
3939
language_id = case ext
4040
when ".erb", ".rhtml"
41-
Document::LanguageId::ERB
41+
:erb
4242
when ".rbs"
43-
Document::LanguageId::RBS
43+
:rbs
4444
else
45-
Document::LanguageId::Ruby
45+
:ruby
4646
end
4747

4848
set(uri: uri, source: File.binread(path), version: 0, language_id: language_id)
@@ -51,12 +51,12 @@ def get(uri)
5151
raise NonExistingDocumentError, uri.to_s
5252
end
5353

54-
#: (uri: URI::Generic, source: String, version: Integer, language_id: Document::LanguageId) -> Document[untyped]
54+
#: (uri: URI::Generic, source: String, version: Integer, language_id: Symbol) -> Document[untyped]
5555
def set(uri:, source:, version:, language_id:)
5656
@state[uri.to_s] = case language_id
57-
when Document::LanguageId::ERB
57+
when :erb
5858
ERBDocument.new(source: source, version: version, uri: uri, global_state: @global_state)
59-
when Document::LanguageId::RBS
59+
when :rbs
6060
RBSDocument.new(source: source, version: version, uri: uri, global_state: @global_state)
6161
else
6262
RubyDocument.new(source: source, version: version, uri: uri, global_state: @global_state)

test/requests/rename_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ class RenameMe
8484
end
8585
RUBY
8686
global_state.index.index_single(untitled_uri, untitled_source)
87-
store.set(uri: untitled_uri, source: untitled_source, version: 1, language_id: RubyLsp::Document::LanguageId::Ruby)
87+
store.set(uri: untitled_uri, source: untitled_source, version: 1, language_id: :ruby)
8888

8989
document = RubyLsp::RubyDocument.new(
9090
source: source,

test/store_test.rb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def setup
1111
uri: URI::Generic.from_path(path: "/foo/bar.rb"),
1212
source: "def foo; end",
1313
version: 1,
14-
language_id: RubyLsp::Document::LanguageId::Ruby,
14+
language_id: :ruby,
1515
)
1616
end
1717

@@ -56,7 +56,7 @@ def test_get_treats_rhtml_as_erb
5656

5757
def test_handling_uris_with_spaces
5858
uri = URI("file:///foo%20bar/baz.rb")
59-
@store.set(uri: uri, source: "def foo; end", version: 1, language_id: RubyLsp::Document::LanguageId::Ruby)
59+
@store.set(uri: uri, source: "def foo; end", version: 1, language_id: :ruby)
6060

6161
assert_equal(
6262
RubyLsp::RubyDocument.new(source: "def foo; end", version: 1, uri: uri, global_state: @global_state),
@@ -66,7 +66,7 @@ def test_handling_uris_with_spaces
6666

6767
def test_handling_uris_for_unsaved_files
6868
uri = URI("untitled:Untitled-1")
69-
@store.set(uri: uri, source: "def foo; end", version: 1, language_id: RubyLsp::Document::LanguageId::Ruby)
69+
@store.set(uri: uri, source: "def foo; end", version: 1, language_id: :ruby)
7070

7171
assert_equal(
7272
RubyLsp::RubyDocument.new(source: "def foo; end", version: 1, uri: uri, global_state: @global_state),
@@ -81,8 +81,8 @@ def test_uris_with_different_schemes_do_not_collide
8181
path = "/foo/bar.rb"
8282
file_uri = URI("file://#{path}")
8383
git_uri = URI("git://#{path}")
84-
@store.set(uri: file_uri, source: "def foo; end", version: 1, language_id: RubyLsp::Document::LanguageId::Ruby)
85-
@store.set(uri: git_uri, source: "def foo; end", version: 1, language_id: RubyLsp::Document::LanguageId::Ruby)
84+
@store.set(uri: file_uri, source: "def foo; end", version: 1, language_id: :ruby)
85+
@store.set(uri: git_uri, source: "def foo; end", version: 1, language_id: :ruby)
8686

8787
refute_same(@store.get(file_uri), @store.get(git_uri))
8888

@@ -158,7 +158,7 @@ def test_cache
158158
assert_equal(1, counter)
159159

160160
# After the entry in the storage is updated, the cache is invalidated
161-
@store.set(uri: uri, source: "def bar; end", version: 1, language_id: RubyLsp::Document::LanguageId::Ruby)
161+
@store.set(uri: uri, source: "def bar; end", version: 1, language_id: :ruby)
162162
5.times do
163163
@store.cache_fetch(uri, "textDocument/foldingRange") do
164164
counter += 1
@@ -170,7 +170,7 @@ def test_cache
170170

171171
def test_push_edits
172172
uri = URI("file:///foo/bar.rb")
173-
@store.set(uri: uri, source: +"def bar; end", version: 1, language_id: RubyLsp::Document::LanguageId::Ruby)
173+
@store.set(uri: uri, source: +"def bar; end", version: 1, language_id: :ruby)
174174

175175
# Write puts 'a' in incremental edits
176176
@store.push_edits(

0 commit comments

Comments
 (0)