aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/haskell/haskellproject.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/haskell/haskellproject.h')
-rw-r--r--plugins/haskell/haskellproject.h21
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