aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmlls/qlanguageserver.cpp
Commit message (Collapse)AuthorAgeFilesLines
* qmlls: move into own private static librarySami Shalayel2023-02-071-376/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qmlls was completely implemented in the ./tools directory, which made its code complicated to test and try out. Also, it required some "dirty" hacks in the actual tests (including files from others targets to be able to use them) and made testing new features for qmlls more complicated. To remedy this, the qmlls code was split into a tool (qmlls) and a static library (QmlLSPrivate). The tool only contains tools/qmlls/qmllanguageservertool.cpp (which has the qmlls main method) and links to QmlLSPrivate, that contains all the other qmlls-related code. This way, the tests can also link to QmlLSPrivate and test out individual functions there without needing to include files from other targets. Also rename all the files to make syncqt happy (adding "_p" to headers and prepending "q" to headers and files and includeguards), and use QString::fromUtf8() to silence the QString()-constructor deprecation warnings. On the way, move tools/shared/qqmltoolingsettings.* into its own private static library, instead of recompiling it for each tool that requires it. Move the qqmltoolingsettings stuff into the qt namespace to be usable. Also, add qmlls as a dependency to the qmlls tests to avoid testing an outdated qmlls-binary. This commit prepares qmlls's code to implement the go-to and find-usages features. Task-number: QTBUG-109006 Change-Id: I91eed689c68a0c53fb88006de335b0f852cc1a83 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-071-1/+1
| | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: I601bf70f020f511019ed28731ba53b14b765dbf0 Reviewed-by: Shawn Rutledge <[email protected]>
* Use SPDX license identifiersLucie Gérard2022-06-111-27/+2
| | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I63563bbeb6f60f89d2c99660400dca7fab78a294 Reviewed-by: Shawn Rutledge <[email protected]>
* Replace uses of deprecated _qs with _s/QStringLiteralSona Kurazyan2022-04-291-4/+5
| | | | | | Task-number: QTBUG-101408 Change-Id: Ic925751b73f52d8fa5add5cacc52d6dd6ea2dc27 Reviewed-by: Ulf Hermann <[email protected]>
* qmlls qlanguageserver: clientInfo and serverInfo locking fixesFawzi Mohamed2021-12-231-26/+4
| | | | | | | | correct and more concise double locking or clientInfo and serverInfo. Pick-to: 6.3 Change-Id: Ib168fc4fd3d5d5b9b8dbc0ff318b1abaaa23517c Reviewed-by: Andrei Golubev <[email protected]>
* qmlls qlanguageserver: minor cleanupsFawzi Mohamed2021-12-221-2/+1
| | | | | | | | | Fixes that do not affect the running code: Q_ENUM declaration, default constructor, clarifying comment Pick-to: 6.3 Change-Id: Ic93dba58b33e4532fd16cabdc450fc3920b1ca55 Reviewed-by: Andrei Golubev <[email protected]>
* qmlls: fix license header (tool -> GPL)Fawzi Mohamed2021-12-221-16/+5
| | | | | | Pick-to: 6.3 Change-Id: I6ebd1e8f3ca9fc88f2c92cd10703540154040baf Reviewed-by: Andrei Golubev <[email protected]>
* qmlls: qml language server implementationFawzi Mohamed2021-12-211-0/+434
This is the initial commit, with just qmllint integration, but many of the tricky bits and the architecture are already there, see the description in qqmllanguageserver.cpp and qqmlcodemodel.cpp Pick-to: 6.3 Change-Id: Ie493fed02276f938fde641e8d91c67aed0514d1f Reviewed-by: Andrei Golubev <[email protected]>