Module: PuppetLanguageServer::ServerCapabilites
- Defined in:
- lib/puppet-languageserver/server_capabilities.rb
Class Method Summary collapse
- .capabilities(options = {}) ⇒ Object
- .document_on_type_formatting_options ⇒ Object
- .folding_provider_supported? ⇒ Boolean
- .folding_range_provider_options ⇒ Object
- .no_capabilities ⇒ Object
Class Method Details
.capabilities(options = {}) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/puppet-languageserver/server_capabilities.rb', line 11 def self.capabilities( = {}) # https://github.com/Microsoft/language-server-protocol/blob/master/protocol.md#initialize-request value = { 'textDocumentSync' => LSP::TextDocumentSyncKind::FULL, 'hoverProvider' => true, 'completionProvider' => { 'resolveProvider' => true, 'triggerCharacters' => ['>', '$', '[', '='] }, 'definitionProvider' => true, 'documentFormattingProvider' => true, 'documentSymbolProvider' => true, 'workspaceSymbolProvider' => true, 'signatureHelpProvider' => { 'triggerCharacters' => ['(', ','] } } value['documentOnTypeFormattingProvider'] = if [:documentOnTypeFormattingProvider] value['foldingRangeProvider'] = if [:foldingRangeProvider] value end |
.document_on_type_formatting_options ⇒ Object
34 35 36 37 38 |
# File 'lib/puppet-languageserver/server_capabilities.rb', line 34 def self. { 'firstTriggerCharacter' => '>' } end |
.folding_provider_supported? ⇒ Boolean
7 8 9 |
# File 'lib/puppet-languageserver/server_capabilities.rb', line 7 def self.folding_provider_supported? @folding_provider ||= PuppetLanguageServer::Manifest::FoldingProvider.supported? end |
.folding_range_provider_options ⇒ Object
40 41 42 |
# File 'lib/puppet-languageserver/server_capabilities.rb', line 40 def self. true end |
.no_capabilities ⇒ Object
44 45 46 47 |
# File 'lib/puppet-languageserver/server_capabilities.rb', line 44 def self.no_capabilities # Any empty hash denotes no capabilities at all {} end |