Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qqmllanguageserver_p.h
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QQMLLANGUAGESERVER_P_H
6#define QQMLLANGUAGESERVER_P_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <private/qqmldocumentsymbolsupport_p.h>
20#include <private/qlanguageserver_p.h>
21#include <private/qqmlcodemodelmanager_p.h>
22#include <private/qqmlfindusagessupport_p.h>
23#include <private/qtextsynchronization_p.h>
24#include <private/qqmllintsuggestions_p.h>
25#include <private/qworkspace_p.h>
26#include <private/qqmlcompletionsupport_p.h>
27#include <private/qqmlgototypedefinitionsupport_p.h>
28#include <private/qqmlformatting_p.h>
29#include <private/qqmlrangeformatting_p.h>
30#include <private/qqmlgotodefinitionsupport_p.h>
31#include <private/qqmlrenamesymbolsupport_p.h>
32#include <private/qqmlhover_p.h>
33#include <private/qqmlhighlightsupport_p.h>
34#include <private/qqmlprogresssupport_p.h>
35#include <private/qqmllscodeaction_p.h>
36
37QT_BEGIN_NAMESPACE
38
39class QQmlToolingSettings;
40
41namespace QmlLsp {
42
44{
46public:
50
51 int returnValue() const;
52
54
55public Q_SLOTS:
56 void exit();
57 void errorExit();
58
59private:
60 QQmlCodeModelManager m_codeModelManager;
61
62 TextSynchronization m_textSynchronization;
63 WorkspaceHandlers m_workspace;
64
65 // note: the order in which server modules are initialized also defines the order in which
66 // they are run! Most of them connect to m_codeModelManager::updatedSnapshot in
67 // their constructors, see https://doc.qt.io/qt-6/signalsandslots.html#signals.
68 // ==== modules that are directly triggered by the user ====
69 QmlCompletionSupport m_completionSupport;
70 QmlGoToTypeDefinitionSupport m_navigationSupport;
71 QmlGoToDefinitionSupport m_definitionSupport;
72 QQmlFindUsagesSupport m_referencesSupport;
73 QQmlDocumentFormatting m_documentFormatting;
74 QQmlRenameSymbolSupport m_renameSupport;
75 QQmlRangeFormatting m_rangeFormatting;
76 QQmlHover m_hover;
77 QQmlCodeActionSupport m_codeActionSupport;
78
79 // ==== Highlighting ====
80 QQmlHighlightSupport m_highlightSupport;
81
82 // ==== modules that are not triggered by the user ====
83 QQmlDocumentSymbolSupport m_documentSymbolSupport;
84 QQmlProgressSupport m_progressSupport;
85
86 // ==== Linting should happen at the end as it potentially can take a longer time ====
87 QmlLintSuggestions m_lint;
88 int m_returnValue = 1;
89};
90
91} // namespace QmlLsp
92QT_END_NAMESPACE
93#endif // QQMLLANGUAGESERVER_P_H
Sets up a QmlLanguageServer.
QQmlCodeModelManager * codeModelManager()