forked from qt-creator/qt-creator
ClangCodeModel: Add experimental clangd support
If the user has enabled clangd (default is off), we start up one instance per project when it is opened/changed (including build config switches), and trigger background indexing. So far, the index is used to provide results for locators and "Find Usages". Per-document functionality such as semantic highlighting and completion is still provided by libclang. Change-Id: I12532fca1b9c6278baab560e7238cba6189cde9f Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -113,11 +113,17 @@ public:
|
||||
bool reachable() const { return m_state == Initialized; }
|
||||
|
||||
// capabilities
|
||||
static LanguageServerProtocol::ClientCapabilities defaultClientCapabilities();
|
||||
void setClientCapabilities(const LanguageServerProtocol::ClientCapabilities &caps);
|
||||
const LanguageServerProtocol::ServerCapabilities &capabilities() const;
|
||||
const DynamicCapabilities &dynamicCapabilities() const;
|
||||
void registerCapabilities(const QList<LanguageServerProtocol::Registration> ®istrations);
|
||||
void unregisterCapabilities(const QList<LanguageServerProtocol::Unregistration> &unregistrations);
|
||||
|
||||
void setLocatorsEnabled(bool enabled) { m_locatorsEnabled = enabled; }
|
||||
bool locatorsEnabled() const { return m_locatorsEnabled; }
|
||||
void setDocumentActionsEnabled(bool enabled) { m_documentActionsEnabled = enabled; }
|
||||
|
||||
// document synchronization
|
||||
void setSupportedLanguage(const LanguageFilter &filter);
|
||||
void setActivateDocumentAutomatically(bool enabled);
|
||||
@@ -226,6 +232,7 @@ private:
|
||||
QMap<TextEditor::TextEditorWidget *, QTimer *> m_documentHighlightsTimer;
|
||||
QTimer m_documentUpdateTimer;
|
||||
Utils::Id m_id;
|
||||
LanguageServerProtocol::ClientCapabilities m_clientCapabilities = defaultClientCapabilities();
|
||||
LanguageServerProtocol::ServerCapabilities m_serverCapabilities;
|
||||
DynamicCapabilities m_dynamicCapabilities;
|
||||
struct AssistProviders
|
||||
@@ -250,6 +257,8 @@ private:
|
||||
ProgressManager m_progressManager;
|
||||
bool m_activateDocAutomatically = false;
|
||||
SemanticTokenSupport m_tokentSupport;
|
||||
bool m_locatorsEnabled = true;
|
||||
bool m_documentActionsEnabled = true;
|
||||
};
|
||||
|
||||
} // namespace LanguageClient
|
||||
|
||||
Reference in New Issue
Block a user