@@ -106,6 +106,38 @@ defmodule ElixirLS.LanguageServer.Test.ServerTestHelpers do
106106 end
107107
108108 def fake_initialize ( server , mix_project? \\ true ) do
109+ # Store default client capabilities for tests
110+ default_client_capabilities = % GenLSP.Structures.ClientCapabilities {
111+ text_document: % GenLSP.Structures.TextDocumentClientCapabilities {
112+ completion: % GenLSP.Structures.CompletionClientCapabilities {
113+ completion_item: % {
114+ snippet_support: true ,
115+ deprecated_support: true ,
116+ tag_support: % { value_set: [ 1 ] }
117+ }
118+ } ,
119+ hover: % GenLSP.Structures.HoverClientCapabilities { } ,
120+ signature_help: % GenLSP.Structures.SignatureHelpClientCapabilities { } ,
121+ document_symbol: % GenLSP.Structures.DocumentSymbolClientCapabilities {
122+ hierarchical_document_symbol_support: true
123+ }
124+ } ,
125+ workspace: % GenLSP.Structures.WorkspaceClientCapabilities {
126+ configuration: true ,
127+ did_change_configuration: % GenLSP.Structures.DidChangeConfigurationClientCapabilities {
128+ dynamic_registration: true
129+ } ,
130+ did_change_watched_files: % GenLSP.Structures.DidChangeWatchedFilesClientCapabilities {
131+ dynamic_registration: true
132+ } ,
133+ symbol: % GenLSP.Structures.WorkspaceSymbolClientCapabilities {
134+ tag_support: % { value_set: [ 1 ] }
135+ }
136+ }
137+ }
138+
139+ ClientCapabilities . store ( default_client_capabilities )
140+
109141 :sys . replace_state ( server , fn state ->
110142 % { state | server_instance_id: "123" , project_dir: File . cwd! ( ) , mix_project?: mix_project? }
111143 end )
0 commit comments