// Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #pragma once #include #include #include #include namespace ProjectExplorer { class ExtraCompiler; } namespace TextEditor { class TextDocument; } namespace Python::Internal { class PySideUicExtraCompiler; class PyLSInterface; class PyLSClient : public LanguageClient::Client { Q_OBJECT public: explicit PyLSClient(PyLSInterface *interface); ~PyLSClient(); void openDocument(TextEditor::TextDocument *document) override; void buildConfigurationClosed(ProjectExplorer::BuildConfiguration *bc) override; void updateExtraCompilers(const QList &extraCompilers); static PyLSClient *clientForPython(const Utils::FilePath &python); void updateConfiguration(); private: void updateExtraCompilerContents(ProjectExplorer::ExtraCompiler *compiler, const Utils::FilePath &file); void closeExtraDoc(const Utils::FilePath &file); void closeExtraCompiler(ProjectExplorer::ExtraCompiler *compiler, const Utils::FilePath &file); Utils::FilePaths m_extraWorkspaceDirs; Utils::FilePath m_extraCompilerOutputDir; QList m_extraCompilers; }; void openDocumentWithPython(const Utils::FilePath &python, TextEditor::TextDocument *document); } // Python::Internal