aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/languageclient/languageclient.qbs
Commit message (Collapse)AuthorAgeFilesLines
* LSP: add symbol support classDavid Schulz2020-05-191-0/+2
| | | | | | | | | | | | Declutter the client and client manager by moving find usage and follow symbol into this helper. This functionality was "temporary" put into the client manager, but is more an implementation detail that shouldn't be handled in that central place. Rename symbol will also go into this helper class. Task-number: QTCREATORBUG-21578 Change-Id: I56680f6ccbb8d244066561167178af7b341b8822 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* LanguageClient: Add logging windowDavid Schulz2020-03-021-0/+2
| | | | | Change-Id: Ib86b70381b69df55d62a97abdf52b747f7f1c75e Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* LanguageClient: add lsp based auto formatterDavid Schulz2020-01-221-0/+2
| | | | | Change-Id: I2a7347961b4633868aa3b033c351a1e709c3597e Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* LanguageClient: add support for proposed semantic highlightDavid Schulz2019-06-211-0/+2
| | | | | | | | | implements the current proposal for the semantic highlighting via the language server protocol. https://github.com/microsoft/vscode-languageserver-node/pull/367 Change-Id: I857d606fcf5c782e0ea8e18e5d098edd26286aed Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* LanguageClient: add signature help providerDavid Schulz2019-05-211-0/+2
| | | | | Change-Id: Ia89c28b574c92802bbfda280115a50f5955f0854 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* LanguageClient: add hover handlerDavid Schulz2019-05-171-0/+2
| | | | | Change-Id: Iddf30828ef26a157ab935d0abe708087ab123dd6 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* LanguageClient: add current document locator filterDavid Schulz2019-04-301-0/+2
| | | | | Change-Id: I20442a254e4e016088b2da845d87af6e9f836731 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* LanguageClient: add cache for document symbolsDavid Schulz2019-04-251-0/+2
| | | | | Change-Id: Ia4c4061258c74d839edbd472c2087be74ac30113 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* LSP: collect and execute quick fixes via shortcutDavid Schulz2019-02-121-2/+4
| | | | | | Fixes: QTCREATORBUG-21802 Change-Id: I611fac1c3fc5b094816441e36492ed57706c98b8 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* LSP: rename BaseClient -> ClientDavid Schulz2019-02-041-2/+2
| | | | | | | | Since BaseClient isn't part of an inheritance hirarchie any more the Base doesn't make sense now. Change-Id: I69200b19a22e5a04079e5289a02234af4f56a1bd Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* LSP: separate communication interface and client logicDavid Schulz2019-02-041-0/+2
| | | | | Change-Id: I7d35fa634287b5f858c4a87aa10f99bf18d1ad07 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* LSP: add a convenient function returning a TextDocumentDavid Schulz2019-01-251-0/+2
| | | | | | | ...for a Utils::FileName Change-Id: If490eba29a50f20c2f19f741e60f09244ee73cb6 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* LSP: add outline supportDavid Schulz2019-01-101-0/+2
| | | | | | Fixes: QTCREATORBUG-21573 Change-Id: If579715c84210eb80d258ec944e00f1fac1badbe Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* LSP: add resource file to qbs project fileDavid Schulz2018-10-101-0/+1
| | | | | Change-Id: I8aa2818dc0f9f6578d585365561d38597ecb63cc Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Introduce a basic client for the language server protocolDavid Schulz2018-09-031-0/+31
The language server protocol is used to transport language specific information needed to efficiently edit source files. For example completion, go to operations and symbol information. These information are transferred via JSON-RPC. The complete definition can be found under https://microsoft.github.io/language-server-protocol/specification. This language server protocol support consists of two major parts, the C++ representation of the language server protocol, and the client part for the communication with an external language server. The TypeScript definitions of the protocol interfaces are transferred to C++ classes. Those classes have getter and setter for every interface value. Optional values from the protocol are represented by Utils::optional<ValueType>. The JSON objects that are used to transfer the data between client and server are hidden by a specialized JsonObject class derived from QJsonObject. Additionally this JsonObject provides a validity check that is capable of creating a detailed error message for malformed, or at least unexpected JSON representation of the protocol. The client is the interface between Qt Creator and language server functionality, like completion, diagnostics, document and workspace synchronization. The base client converts the data that is sent from/to the server between the raw byte array and the corresponding C++ objects. The transportat layer is defined in a specialized base client (this initial change will only support stdio language server). The running clients are handled inside the language client manager, which is also used to connect global and exclusive Qt Creator functionality to the clients. Task-number: QTCREATORBUG-20284 Change-Id: I8e123e20c3f14ff7055c505319696d5096fe1704 Reviewed-by: Eike Ziller <eike.ziller@qt.io>