diff options
Diffstat (limited to 'plugins/haskell/haskellproject.h')
-rw-r--r-- | plugins/haskell/haskellproject.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/plugins/haskell/haskellproject.h b/plugins/haskell/haskellproject.h index 4f6e1e4..af78e54 100644 --- a/plugins/haskell/haskellproject.h +++ b/plugins/haskell/haskellproject.h @@ -25,33 +25,40 @@ #pragma once +#include <projectexplorer/buildsystem.h> #include <projectexplorer/project.h> #include <projectexplorer/projectnodes.h> +#include <projectexplorer/treescanner.h> namespace Haskell { namespace Internal { -class HaskellProjectNode : public ProjectExplorer::ProjectNode +class HaskellProject : public ProjectExplorer::Project { + Q_OBJECT + public: - HaskellProjectNode(const Utils::FilePath &projectFilePath); + explicit HaskellProject(const Utils::FilePath &fileName); + + static bool isHaskellProject(Project *project); }; -class HaskellProject : public ProjectExplorer::Project +class HaskellBuildSystem : public ProjectExplorer::BuildSystem { Q_OBJECT public: - explicit HaskellProject(const Utils::FilePath &fileName); + HaskellBuildSystem(ProjectExplorer::Target *t); - static bool isHaskellProject(Project *project); + void triggerParsing() override; private: - void updateFiles(); - void updateApplicationTargets(ProjectExplorer::Target *target); + void updateApplicationTargets(); void refresh(); +private: ParseGuard m_parseGuard; + ProjectExplorer::TreeScanner m_scanner; }; } // namespace Internal |