Class: LanguageServer::Protocol::Interface::InitializeParams

Inherits:
WorkDoneProgressParams show all
Defined in:
lib/language_server/protocol/interface/initialize_params.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from WorkDoneProgressParams

#work_done_token

Constructor Details

#initialize(work_done_token: nil, process_id:, client_info: nil, root_path: nil, root_uri:, initialization_options: nil, capabilities:, trace: nil, workspace_folders: nil) ⇒ InitializeParams

Returns a new instance of InitializeParams.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/language_server/protocol/interface/initialize_params.rb', line 5

def initialize(work_done_token: nil, process_id:, client_info: nil, root_path: nil, root_uri:, initialization_options: nil, capabilities:, trace: nil, workspace_folders: nil)
  @attributes = {}

  @attributes[:workDoneToken] = work_done_token if work_done_token
  @attributes[:processId] = process_id
  @attributes[:clientInfo] = client_info if client_info
  @attributes[:rootPath] = root_path if root_path
  @attributes[:rootUri] = root_uri
  @attributes[:initializationOptions] = initialization_options if initialization_options
  @attributes[:capabilities] = capabilities
  @attributes[:trace] = trace if trace
  @attributes[:workspaceFolders] = workspace_folders if workspace_folders

  @attributes.freeze
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



93
94
95
# File 'lib/language_server/protocol/interface/initialize_params.rb', line 93

def attributes
  @attributes
end

Instance Method Details

#capabilitiesClientCapabilities

The capabilities provided by the client (editor or tool)

Returns:



70
71
72
# File 'lib/language_server/protocol/interface/initialize_params.rb', line 70

def capabilities
  attributes.fetch(:capabilities)
end

#client_info{ name: string; version?: string; }

Information about the client

Returns:

  • ({ name: string; version?: string; })


35
36
37
# File 'lib/language_server/protocol/interface/initialize_params.rb', line 35

def client_info
  attributes.fetch(:clientInfo)
end

#initialization_optionsany

User provided initialization options.

Returns:

  • (any)


62
63
64
# File 'lib/language_server/protocol/interface/initialize_params.rb', line 62

def initialization_options
  attributes.fetch(:initializationOptions)
end

#process_idnumber

The process Id of the parent process that started the server. Is null if the process has not been started by another process. If the parent process is not alive then the server should exit (see exit notification) its process.

Returns:

  • (number)


27
28
29
# File 'lib/language_server/protocol/interface/initialize_params.rb', line 27

def process_id
  attributes.fetch(:processId)
end

#root_pathstring

The rootPath of the workspace. Is null if no folder is open.

Returns:

  • (string)


44
45
46
# File 'lib/language_server/protocol/interface/initialize_params.rb', line 44

def root_path
  attributes.fetch(:rootPath)
end

#root_uristring

The rootUri of the workspace. Is null if no folder is open. If both ‘rootPath` and `rootUri` are set `rootUri` wins.

Returns:

  • (string)


54
55
56
# File 'lib/language_server/protocol/interface/initialize_params.rb', line 54

def root_uri
  attributes.fetch(:rootUri)
end

#to_hashObject



95
96
97
# File 'lib/language_server/protocol/interface/initialize_params.rb', line 95

def to_hash
  attributes
end

#to_json(*args) ⇒ Object



99
100
101
# File 'lib/language_server/protocol/interface/initialize_params.rb', line 99

def to_json(*args)
  to_hash.to_json(*args)
end

#trace"off" | "messages" | "verbose"

The initial trace setting. If omitted trace is disabled (‘off’).

Returns:

  • ("off" | "messages" | "verbose")


78
79
80
# File 'lib/language_server/protocol/interface/initialize_params.rb', line 78

def trace
  attributes.fetch(:trace)
end

#workspace_foldersWorkspaceFolder[]

The workspace folders configured in the client when the server starts. This property is only available if the client supports workspace folders. It can be ‘null` if the client supports workspace folders but none are configured.

Returns:



89
90
91
# File 'lib/language_server/protocol/interface/initialize_params.rb', line 89

def workspace_folders
  attributes.fetch(:workspaceFolders)
end