aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/languageclient/languageclientsettings.h
Commit message (Collapse)AuthorAgeFilesLines
* LSP: mark some clients as not activatableDavid Schulz13 days1-0/+2
| | | | | | | | | | | | | | Differentiate between normal lsp clients that can be used for tasks like completions/outline/highlight and those that just uses the protocol to have a basic document update communication and uses their own messages for specialised tasks like the copilot, coco or ai assistant server. The user should not be able to manually switch to any of those servers as the active server for the current document, so filter those servers in the editor tool bar. Task-number: QTCREATORBUG-32909 Change-Id: Idd5e1c10e613ce986a56defad02a3787aeae85b2 Reviewed-by: Marcus Tillmanns <[email protected]>
* LanguageClient: have one LanguageClient per BuildConfighjk2025-04-291-5/+10
| | | | | | | | Language server behavior does not depend only on the project files but also on Kit configuration and in some cases the actual build. Change-Id: I1c26de62da9e5ee2f2f9e655f23cd2d30cfedd85 Reviewed-by: David Schulz <[email protected]>
* LSP: add BaseSettings::isValidOnProject() virtual methodSami Shalayel2025-01-021-0/+1
| | | | | | | | | | | Add a method to BaseSettings that allow language clients to tell whether they can be used on a certain project. This allows BaseSettings to be disabled on certain projects, for example qmlls can't be enabled on a project that has an invalid Qt version. Task-number: QTCREATORBUG-31897 Change-Id: Id8d6c05bc31c8596f685852ff20179d7f728feda Reviewed-by: David Schulz <[email protected]>
* LSP: recreate clients enabled on a projectSami Shalayel2024-12-021-0/+1
| | | | | | | | | | | | | Add a method on BaseSettings to check whether it is enabled on a certain project via global or project settings, and use it when creating a client to create globally disabled but project-specifically enabled clients. Amends 18cd9359b9378dca470a04c782cca4d35ac8636c that introduced the enabling/disabling of settings project-wide. Change-Id: I1e6f2212ef6da965d01bd09348238c98a3a768ba Reviewed-by: David Schulz <[email protected]>
* LanguageClient: Allow to disable server per projectDavid Schulz2024-11-271-0/+9
| | | | | | | Fixes: QTCREATORBUG-31987 Change-Id: I5eb1fd672e8b07b54795fffd70173ba1884b9426 Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Christian Stenger <[email protected]>
* LanguageClient: Change toMap() signature of settings classeshjk2024-11-111-2/+3
| | | | | | | | ... from 'Store toMap() const' to 'voud toMap(Store &map)' to make it more similar to AspectContainers. Change-Id: Ia8a10d97513b54321c0bac5caa76b7a589394a78 Reviewed-by: David Schulz <[email protected]>
* LanguageClient: Add option to hide settingsMarcus Tillmanns2024-08-151-0/+1
| | | | | Change-Id: Iefc9398bdc4ffcf498eb66a702994e9e143beb74 Reviewed-by: David Schulz <[email protected]>
* LanguageClient: Rename jsonEditor()Marcus Tillmanns2024-07-151-1/+1
| | | | | | | Also adds QObject *parent argument for ease of use. Change-Id: I25d23186d398d35ebc8519b5964da637bf4d028d Reviewed-by: David Schulz <[email protected]>
* Use LayoutBuilder V2hjk2024-05-271-1/+1
| | | | | | | | | | | | This puts the implementation introduced in acf1ecb47fdf into use, after significant simplifications in the class hierarchy. CRTP is not used anymore, and the new tag based dispatch is also used for Layout::addItem, effectively reducing the number of different code paths. The Lua based settings access is disabled for now. Change-Id: Idb6d1a25675378757c5267bdb630bcd4c1f52d34 Reviewed-by: Alessandro Portale <[email protected]>
* LSP: Remove unused function declarationMarcus Tillmanns2024-05-161-3/+0
| | | | | | Change-Id: Ib8841b7eafb225faaa7952fde6c71cbcf6848c4f Reviewed-by: <[email protected]> Reviewed-by: David Schulz <[email protected]>
* Lua: Add lsp supportMarcus Tillmanns2024-04-191-0/+2
| | | | | Change-Id: I47a1f73a1e1191e116c7cf3b06db5af9e7548fc0 Reviewed-by: Marcus Tillmanns <[email protected]>
* LanguageClient: Allow to define Clients that cannot be added by the userDavid Schulz2024-04-181-0/+1
| | | | | | | | | | Used for programmatically created client types which should not be addable by the user. Change-Id: I38ba4f17d5e92415c1e167ecee5780f951818263 Reviewed-by: <[email protected]> Reviewed-by: Marcus Tillmanns <[email protected]> (cherry picked from commit 5b9344e4698233903039fcb9e41227e917a2dd07)
* LanguageClient: Use Layoutbuilder and FormMarcus Tillmanns2024-04-161-1/+7
| | | | | | Change-Id: Id1b94ac4bfd838626a4be0a4912c7811c6cc490d Reviewed-by: <[email protected]> Reviewed-by: David Schulz <[email protected]>
* LSP: Make it obvious which functions need overloadsMarcus Tillmanns2024-01-111-2/+2
| | | | | Change-Id: Ib452770a2ec3938183428ac86bfb3955de231a13 Reviewed-by: David Schulz <[email protected]>
* LanguageClient: Use new construction pattern for project panelhjk2023-11-161-11/+2
| | | | | Change-Id: If3fa41d33a5d9b39d2596d619251bff3cfdf4b5d Reviewed-by: Christian Stenger <[email protected]>
* Utils: Use a proper class as Keyhjk2023-09-271-2/+2
| | | | | | | | | | | | | | | | The Key encapsulates now a QByteArray. Plan is to use QByteArray::fromRawData on literals, but that's not active yet due to an unclear ASAN report, see the gerrit discussion. For now we also paddle back when interfacing QSettings, instead of mimicing writing a QVariantMap (and fail in some corners), always convert the Store. This is meant to go away in the future when code paths are better controled. Change-Id: Id1206a434d511f8003903d5322c7c9bd5f5fb859 Reviewed-by: <[email protected]> Reviewed-by: Marcus Tillmanns <[email protected]>
* LanguageClient: add workspace configuration project settingsDavid Schulz2023-09-111-0/+26
| | | | | Change-Id: I9876773550f3dc566dec05b78f818ca49c930da1 Reviewed-by: Christian Stenger <[email protected]>
* Utils: Rename the new Storage to Storehjk2023-08-241-4/+4
| | | | | | | | | Apparently that's what the young people on the web use for such a thing. Change-Id: I75d5396ff3cb3c26efd6008b5f2261354c4f7896 Reviewed-by: Marcus Tillmanns <[email protected]> Reviewed-by: Jarek Kobus <[email protected]> Reviewed-by: <[email protected]>
* Use Utils::Storage instead of QVariantMap in a few placeshjk2023-08-231-4/+4
| | | | | Change-Id: I02833cf2bc3caaadc22ff93ae530e4aebe4c3868 Reviewed-by: Marcus Tillmanns <[email protected]>
* LanguageClient: Tr::trhjk2023-01-201-1/+0
| | | | | Change-Id: Idbd7c5cdadba4f269b2033df91db0e05bb5281d5 Reviewed-by: Alessandro Portale <[email protected]>
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-061-1/+1
| | | | | | | | | | | | | | | Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0, this applies only to a hypothetical newer version of GPL, that doesn't exist yet. If such a version emerges, we can still decide to relicense... While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only Change was done by running find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \; Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b Reviewed-by: Eike Ziller <[email protected]>
* Use SPDX license identifiersLucie Gérard2022-08-261-24/+2
| | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Task-number: QTBUG-67283 Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813 Reviewed-by: Eike Ziller <[email protected]>
* Python: automatically disable outdated pyls settingsDavid Schulz2022-06-241-1/+1
| | | | | Change-Id: I301c6df3fdd9cf634a1abff20c6f24b9bc5fc23b Reviewed-by: Christian Stenger <[email protected]>
* LanguageClient: fix todoDavid Schulz2022-06-071-7/+2
| | | | | Change-Id: Ia6b3b5fe6e595c32a8b8a13b869f3178afb37ed8 Reviewed-by: Christian Kandeler <[email protected]>
* LanguageClient: pimpl Client and cleanup includesDavid Schulz2022-05-231-1/+2
| | | | | Change-Id: I653861e29baeaddcbcd21a5e738be6bd85514617 Reviewed-by: Christian Kandeler <[email protected]>
* LanguageClient: constify createClientDavid Schulz2022-03-211-2/+2
| | | | | Change-Id: I4b9aba1388a31b6d1531cb4a6346a394c5aab150 Reviewed-by: Christian Stenger <[email protected]>
* LanguageClient: support sorting outline combo box itemsDavid Schulz2022-02-231-0/+3
| | | | | | Fixes: QTCREATORBUG-26976 Change-Id: I6ec31072629c62a007bc27381f4adba597307057 Reviewed-by: Christian Stenger <[email protected]>
* Python: add lsp configuration widgetDavid Schulz2022-02-091-0/+5
| | | | | | Change-Id: I688981293e3bbbee64fc2d714146fcdfa8126458 Reviewed-by: <[email protected]> Reviewed-by: Christian Stenger <[email protected]>
* LanguangeClient: Use more FilePathhjk2021-08-311-2/+2
| | | | | Change-Id: Ic849da11da646feb804717550d2a8a60d61f332d Reviewed-by: David Schulz <[email protected]>
* LSP: Set client working directory to project directoryEike Ziller2021-08-301-1/+7
| | | | | | | | | | | If the server settings specify that a server is to be started "per project". This fixes e.g. running the haskell-language-server Fixes: QTCREATORBUG-26115 Change-Id: If10af71d60786826a9218b4b98818df8d9710adf Reviewed-by: David Schulz <[email protected]>
* Move CommandLine out of fileutils.hEike Ziller2021-05-111-2/+2
| | | | | | | | | to ProcessArgs and rename the files to commandline.*. fileutils was a strange place for CommandLine, and this reduces the dependencies needed for sdktool. Change-Id: I9d7e8ffe8a3560f5d12934457b086f9446976883 Reviewed-by: hjk <[email protected]>
* JLS: add special java client that can execute jls commandsDavid Schulz2021-02-191-0/+1
| | | | | | | | | the java language server uses special "java.apply.workspaceEdit" commands that already contain the workspace edit that should be applied when triggering the command. Change-Id: If7c53b9b097aaeca289e3958a39be37a9725d395 Reviewed-by: Christian Stenger <[email protected]>
* LanguageClient: export settings widgetsDavid Schulz2021-02-161-2/+2
| | | | | Change-Id: Ica348818955c7ef9173780c65e44ff48ead4b172 Reviewed-by: Christian Stenger <[email protected]>
* LanguageClient: Add generic way to provide specialized settingsDavid Schulz2021-02-161-1/+16
| | | | | Change-Id: Iab482220ec7fd73ecd4cbf3d8b1b121e93148059 Reviewed-by: Christian Stenger <[email protected]>
* LanguageClient: use less magic when changing settingsDavid Schulz2021-01-291-5/+6
| | | | | Change-Id: I8c5f5a85bff7cf0cf0545199358c306f7f9b539e Reviewed-by: Christian Stenger <[email protected]>
* LSP: Add setting to provide initializationOptions to the language serverAlexis Murzeau2020-05-111-0/+7
| | | | | | | | | | | When the language server is initialized, the Initialize request can contain user provided data in initializationOptions field. Allow the user to set data inside. This can be required to let the language server have some context. Change-Id: Ib057fdb940c21b3fd032853fb84253d42ad1e321 Reviewed-by: David Schulz <[email protected]>
* Python: Add info bar entry to enable pylsDavid Schulz2019-10-181-0/+1
| | | | | | | | Show an editor info bar entry displaying that the language server for the current python is disabled and a button to quickly enable the pyls. Change-Id: I3adb2e7cbfb1a32e35413b0b06dfbe66a0b214af Reviewed-by: Christian Stenger <[email protected]>
* Python: Switch pyls on interpreter changeDavid Schulz2019-10-181-0/+3
| | | | | Change-Id: I458b635986a55003a1e7254e27e2df9667704273 Reviewed-by: Christian Stenger <[email protected]>
* LanguageClient: allow adding settings via the managerDavid Schulz2019-09-231-0/+1
| | | | | | | | This adds the possibility to configure language servers from other plugins. Change-Id: I33c7d637ddd73dcfc0d02c366b8b9749ac1c2b98 Reviewed-by: Christian Stenger <[email protected]>
* LanguageClient: export manager, client and settingsDavid Schulz2019-09-191-3/+5
| | | | | Change-Id: I8827fb1c36a41ab76b9509cdbf008e9f2309fd6c Reviewed-by: Christian Stenger <[email protected]>
* LanguageClient: remove unused variableDavid Schulz2019-07-091-2/+0
| | | | | Change-Id: Ie934ac6d636ff098a3a8f6588e19901655bc38ed Reviewed-by: Christian Stenger <[email protected]>
* Utils: Rename FileName to FilePathhjk2019-05-281-2/+2
| | | | | | | | More in line with QFileInfo terminonlogy which appears to be best-of-breed within Qt. Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab Reviewed-by: Christian Kandeler <[email protected]>
* LanguageClient: add option to start client per projectDavid Schulz2019-04-291-4/+16
| | | | | | | | | Some server like rust or haskell require a project at server startup. Add option that postpones the server start until we can assign a project to an open file. Change-Id: Iaa475289e833b27a730a90ea228f5d85ecc30338 Reviewed-by: Christian Stenger <[email protected]>
* LanguageClient: move setting client relationship to managerDavid Schulz2019-04-241-3/+5
| | | | | Change-Id: I9bf712227d44eada28abb18bbf641a2bfa835914 Reviewed-by: Christian Stenger <[email protected]>
* LanguageClient: remove unneeded forward delarationDavid Schulz2019-04-231-5/+0
| | | | | | Change-Id: I02e8dd07f8f04c82cdf31fc536c7d23924539296 Reviewed-by: Christian Stenger <[email protected]> Reviewed-by: David Schulz <[email protected]>
* LanguageClient: move current settings to managerDavid Schulz2019-04-231-1/+1
| | | | | | | | In preparation to have relationship between clients, settings and project to one another in the manager. Change-Id: I00ae15abe03c54b4a58e429d67d6ff939662cce6 Reviewed-by: Christian Stenger <[email protected]>
* LanguageClient: only use BaseSettings in the settings APIDavid Schulz2019-04-041-3/+3
| | | | | Change-Id: Ie2ccda8fe4349f495f31a5d46254b68f6074ac6d Reviewed-by: Christian Stenger <[email protected]>
* LanguageClient: Compare expanded arguments for stdio clientsDavid Schulz2019-04-021-0/+1
| | | | | Change-Id: I6b33aa6b3ddb03a1965dbda4e7e1e1724299eba1 Reviewed-by: Christian Stenger <[email protected]>
* LanguageClient: Add option to start server when neededDavid Schulz2019-03-151-1/+7
| | | | | | | | | | Until now all servers where startet on creator startup. Change this default to start server when first file that matches the configured filter is opened. Additionally add an option that restores the old behavior of always on servers. Change-Id: I595e0ede1cf136cc803181377155bcd58ca1a83c Reviewed-by: Eike Ziller <[email protected]>
* LanguageClient: remove unused settings constructorsDavid Schulz2019-03-141-12/+0
| | | | | Change-Id: Ic6c33b5ca63af1de8805341fc62bc26d3c2d15c3 Reviewed-by: Christian Stenger <[email protected]>