Static capabilities
See original GitHub issueI don’t quite understand why this language server needs to register all of its capabilities dynamically:
:: --> jedi-language-server initialize(1): {'rootPath': '/home/raoul/.config/sublime-text-3/Packages/LSP', 'capabilities': {'experimental': {}, 'workspace': {'executeCommand': {}, 'didChangeConfiguration': {}, 'configuration': True, 'symbol': {'dynamicRegistration': True, 'symbolKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}}, 'applyEdit': True, 'workspaceFolders': True}, 'textDocument': {'typeDefinition': {'dynamicRegistration': True, 'linkSupport': True}, 'codeAction': {'dynamicRegistration': True, 'codeActionLiteralSupport': {'codeActionKind': {'valueSet': []}}}, 'implementation': {'dynamicRegistration': True, 'linkSupport': True}, 'rename': {'dynamicRegistration': True}, 'definition': {'dynamicRegistration': True, 'linkSupport': True}, 'completion': {'dynamicRegistration': True, 'completionItem': {'snippetSupport': True}, 'completionItemKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]}}, 'hover': {'dynamicRegistration': True, 'contentFormat': ['markdown', 'plaintext']}, 'signatureHelp': {'dynamicRegistration': True, 'signatureInformation': {'parameterInformation': {'labelOffsetSupport': True}, 'documentationFormat': ['markdown', 'plaintext']}}, 'colorProvider': {'dynamicRegistration': True}, 'publishDiagnostics': {'relatedInformation': True}, 'formatting': {'dynamicRegistration': True}, 'rangeFormatting': {'dynamicRegistration': True}, 'references': {'dynamicRegistration': True}, 'declaration': {'dynamicRegistration': True, 'linkSupport': True}, 'documentSymbol': {'dynamicRegistration': True, 'symbolKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}}, 'documentHighlight': {'dynamicRegistration': True}, 'synchronization': {'willSaveWaitUntil': True, 'dynamicRegistration': True, 'willSave': True, 'didSave': True}}}, 'initializationOptions': {}, 'processId': 7057, 'workspaceFolders': [{'name': 'LSP', 'uri': 'file:///home/raoul/.config/sublime-text-3/Packages/LSP'}, {'name': 'LSP-eslint', 'uri': 'file:///home/raoul/.config/sublime-text-3/Packages/LSP-eslint'}, {'name': 'metals-sublime', 'uri': 'file:///home/raoul/.config/sublime-text-3/Packages/metals-sublime'}, {'name': 'lsp_utils', 'uri': 'file:///home/raoul/.config/sublime-text-3/Packages/lsp_utils'}, {'name': 'LSP-json', 'uri': 'file:///home/raoul/.config/sublime-text-3/Packages/LSP-json'}, {'name': 'UnitTesting', 'uri': 'file:///home/raoul/.config/sublime-text-3/Packages/UnitTesting'}, {'name': 'LSP-vue', 'uri': 'file:///home/raoul/.config/sublime-text-3/Packages/LSP-vue'}, {'name': 'LSP-css', 'uri': 'file:///home/raoul/.config/sublime-text-3/Packages/LSP-css'}, {'name': 'LSP-html', 'uri': 'file:///home/raoul/.config/sublime-text-3/Packages/LSP-html'}, {'name': 'LSP-intelephense', 'uri': 'file:///home/raoul/.config/sublime-text-3/Packages/LSP-intelephense'}, {'name': 'LSP-typescript', 'uri': 'file:///home/raoul/.config/sublime-text-3/Packages/LSP-typescript'}, {'name': 'LSP-elm', 'uri': 'file:///home/raoul/.config/sublime-text-3/Packages/LSP-elm'}, {'name': 'User', 'uri': 'file:///home/raoul/.config/sublime-text-3/Packages/User'}, {'name': 'tonic', 'uri': 'file:///home/raoul/Documents/Programming/tonic'}], 'rootUri': 'file:///home/raoul/.config/sublime-text-3/Packages/LSP', 'clientInfo': {'name': 'Sublime Text LSP'}}
:: <<< jedi-language-server 1: {'capabilities': {'referencesProvider': False, 'hoverProvider': False, 'renameProvider': False, 'definitionProvider': False, 'executeCommandProvider': {'commands': []}, 'documentSymbolProvider': False, 'documentHighlightProvider': False, 'documentRangeFormattingProvider': False, 'workspaceSymbolProvider': False, 'workspace': {'workspaceFolders': {'changeNotifications': True, 'supported': True}}, 'documentFormattingProvider': False, 'textDocumentSync': 2, 'codeActionProvider': False}}
:: -> jedi-language-server initialized: {}
:: -> jedi-language-server textDocument/didOpen
:: <-- jedi-language-server workspace/configuration(03b5234d-8f0c-4316-9965-9f3911e0cef5): {'items': [{'section': 'jedi', 'scopeUri': None}]}
:: >>> jedi-language-server 03b5234d-8f0c-4316-9965-9f3911e0cef5: [None]
:: <-- jedi-language-server client/registerCapability(8f4015fb-a9b9-4c52-8d6a-cb46c4220d3d): {'registrations': [{'id': 'de8a2314-4162-4c6d-8d6a-f620854f465f', 'method': 'textDocument/completion', 'registerOptions': {'triggerCharacters': ['.', "'", '"']}}]}
:: >>> jedi-language-server 8f4015fb-a9b9-4c52-8d6a-cb46c4220d3d: None
:: <-- jedi-language-server client/registerCapability(88ac0d23-4fa3-4a94-98cb-e75688ffb04a): {'registrations': [{'id': '8b2739bf-9fc0-4809-a48d-0bd551987b87', 'method': 'textDocument/definition', 'registerOptions': {}}]}
:: >>> jedi-language-server 88ac0d23-4fa3-4a94-98cb-e75688ffb04a: None
:: <-- jedi-language-server client/registerCapability(3a30f99e-f728-47db-956a-bd9beb364c6b): {'registrations': [{'id': '780e31e2-9b02-4585-b3c2-a21e027cf2a8', 'method': 'textDocument/documentHighlight', 'registerOptions': {}}]}
:: >>> jedi-language-server 3a30f99e-f728-47db-956a-bd9beb364c6b: None
:: <-- jedi-language-server client/registerCapability(1f5b653f-6ca0-45a4-ae42-00071d96d874): {'registrations': [{'id': '2133486f-74c0-4022-b783-98f4febb33a5', 'method': 'textDocument/documentSymbol', 'registerOptions': {}}]}
:: >>> jedi-language-server 1f5b653f-6ca0-45a4-ae42-00071d96d874: None
:: <-- jedi-language-server client/registerCapability(d67ef90d-a7e5-4728-b088-57695a3140cb): {'registrations': [{'id': '595a229e-94b1-4fea-8d47-6e41dd026ff5', 'method': 'textDocument/hover', 'registerOptions': {}}]}
:: >>> jedi-language-server d67ef90d-a7e5-4728-b088-57695a3140cb: None
:: <-- jedi-language-server client/registerCapability(7c7d37b8-cace-47dc-8ea9-a5adb97928d7): {'registrations': [{'id': '90ba73d4-b6b1-41ca-a93f-61ee324cb138', 'method': 'textDocument/references', 'registerOptions': {}}]}
:: >>> jedi-language-server 7c7d37b8-cace-47dc-8ea9-a5adb97928d7: None
:: <-- jedi-language-server client/registerCapability(04bab9f0-ef3a-4169-9266-b86d066e7095): {'registrations': [{'id': '8c0863db-96c7-4c9e-8c69-9cef51acb92b', 'method': 'textDocument/rename', 'registerOptions': {}}]}
:: >>> jedi-language-server 04bab9f0-ef3a-4169-9266-b86d066e7095: None
:: <-- jedi-language-server client/registerCapability(cfe3dfd6-c3a1-407d-a5ac-bfc403097b7f): {'registrations': [{'id': '1e058f76-d10c-432a-8c45-f64e639c5fbb', 'method': 'textDocument/signatureHelp', 'registerOptions': {'triggerCharacters': ['(', ',', ')']}}]}
:: >>> jedi-language-server cfe3dfd6-c3a1-407d-a5ac-bfc403097b7f: None
:: <-- jedi-language-server client/registerCapability(66429cb1-ed0f-4efd-8a44-740d2481338e): {'registrations': [{'id': '91701d2c-5e7c-4334-965e-84d88254de85', 'method': 'workspace/symbol', 'registerOptions': {}}]}
:: >>> jedi-language-server 66429cb1-ed0f-4efd-8a44-740d2481338e: None
:: <-- jedi-language-server client/registerCapability(82c9352c-06f4-4a39-9169-5a4c7a0d1f7a): {'registrations': [{'id': '58635467-db25-41c9-b78d-8c31d68c856e', 'method': 'textDocument/didOpen', 'registerOptions': {}}]}
:: >>> jedi-language-server 82c9352c-06f4-4a39-9169-5a4c7a0d1f7a: None
:: <-- jedi-language-server client/registerCapability(5f60e62b-e254-4e14-9bc1-84ca459b4095): {'registrations': [{'id': '086b4cc1-8511-43db-bf9a-c3e66410db49', 'method': 'textDocument/didChange', 'registerOptions': {}}]}
:: >>> jedi-language-server 5f60e62b-e254-4e14-9bc1-84ca459b4095: None
:: <-- jedi-language-server client/registerCapability(35874c00-9974-4aa3-a032-76f08914f4ca): {'registrations': [{'id': '1e6b6b84-4f18-4521-8625-f663e1a32187', 'method': 'textDocument/didSave', 'registerOptions': {}}]}
:: >>> jedi-language-server 35874c00-9974-4aa3-a032-76f08914f4ca: None
:: <- jedi-language-server window/showMessage: {'type': 3, 'message': 'jedi-language-server initialized'}
Wouldn’t it be easier to put all this stuff in the initialize
response?
Issue Analytics
- State:
- Created 3 years ago
- Comments:18 (7 by maintainers)
Top Results From Across the Web
Designing with Static Capabilities and Effects - YouTube
csgordon explores the trade-offs in the kinds of programs well-handled by static capability systems in comparison to static effect systems, ...
Read more >Static vs Dynamic capability | Waterstons
Static being any intelligence or information built over time inherent to the organisation, be it process, documents or anything you would consider intellectual ......
Read more >Dynamic or Static Capabilities? Process Management ...
Whether and how organizations adapt to changes in their environments has been a prominent theme in organization and strategy research.
Read more >Lightweight static capabilities - Indiana
This paper demonstrates a lightweight notion of static capabilities (Walker et al. 2000) that brings together increasingly expressive type systems and ...
Read more >Step 5: Report Your App's Static Capabilities (VSK Fire TV)
With the static capabilities integration, all content is searchable and playable for free, with no user authentication needed.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
The
)
should not be a trigger char for signatureHelp. Means that if the user is done typing the args of a function and types the)
character, the editor requests textDocument/signatureHelp, and then you won’t be in a function signature context.Yes, it’s working great for me now. Thanks for fixing this! I’ll try to create a PR in lsp-mode for emacs mentioning the server and adding the configurations.