@@ -10,6 +10,7 @@ const FILE_ASSEMBLY_CSHARP: &str = "Assembly-CSharp.csproj";
10
10
const FILE_STACK_HASKELL : & str = "stack.yaml" ;
11
11
const FILE_SBT_BUILD : & str = "build.sbt" ;
12
12
const FILE_MVN_BUILD : & str = "pom.xml" ;
13
+ const FILE_UNREAL_SUFFIX : & str = ".uproject" ;
13
14
14
15
const PROJECT_CARGO_DIRS : [ & str ; 1 ] = [ "target" ] ;
15
16
const PROJECT_NODE_DIRS : [ & str ; 1 ] = [ "node_modules" ] ;
@@ -25,13 +26,21 @@ const PROJECT_UNITY_DIRS: [&str; 7] = [
25
26
const PROJECT_STACK_DIRS : [ & str ; 1 ] = [ ".stack-work" ] ;
26
27
const PROJECT_SBT_DIRS : [ & str ; 2 ] = [ "target" , "project/target" ] ;
27
28
const PROJECT_MVN_DIRS : [ & str ; 1 ] = [ "target" ] ;
29
+ const PROJECT_UNREAL_DIRS : [ & str ; 5 ] = [
30
+ "Binaries" ,
31
+ "Build" ,
32
+ "Saved" ,
33
+ "DerivedDataCache" ,
34
+ "Intermediate" ,
35
+ ] ;
28
36
29
37
const PROJECT_CARGO_NAME : & str = "Cargo" ;
30
38
const PROJECT_NODE_NAME : & str = "Node" ;
31
39
const PROJECT_UNITY_NAME : & str = "Unity" ;
32
40
const PROJECT_STACK_NAME : & str = "Stack" ;
33
41
const PROJECT_SBT_NAME : & str = "SBT" ;
34
42
const PROJECT_MVN_NAME : & str = "Maven" ;
43
+ const PROJECT_UNREAL_NAME : & str = "Unreal" ;
35
44
36
45
#[ derive( Debug , Clone ) ]
37
46
pub enum ProjectType {
@@ -41,6 +50,7 @@ pub enum ProjectType {
41
50
Stack ,
42
51
SBT ,
43
52
Maven ,
53
+ Unreal ,
44
54
}
45
55
46
56
#[ derive( Debug , Clone ) ]
@@ -65,6 +75,7 @@ impl Project {
65
75
ProjectType :: Stack => PROJECT_STACK_DIRS . iter ( ) ,
66
76
ProjectType :: SBT => PROJECT_SBT_DIRS . iter ( ) ,
67
77
ProjectType :: Maven => PROJECT_MVN_DIRS . iter ( ) ,
78
+ ProjectType :: Unreal => PROJECT_UNREAL_DIRS . iter ( ) ,
68
79
}
69
80
. copied ( )
70
81
}
@@ -141,6 +152,7 @@ impl Project {
141
152
ProjectType :: Stack => PROJECT_STACK_NAME ,
142
153
ProjectType :: SBT => PROJECT_SBT_NAME ,
143
154
ProjectType :: Maven => PROJECT_MVN_NAME ,
155
+ ProjectType :: Unreal => PROJECT_UNREAL_NAME ,
144
156
}
145
157
}
146
158
}
@@ -190,6 +202,9 @@ impl Iterator for ProjectIter {
190
202
FILE_STACK_HASKELL => Some ( ProjectType :: Stack ) ,
191
203
FILE_SBT_BUILD => Some ( ProjectType :: SBT ) ,
192
204
FILE_MVN_BUILD => Some ( ProjectType :: Maven ) ,
205
+ file_name if file_name. ends_with ( FILE_UNREAL_SUFFIX ) => {
206
+ Some ( ProjectType :: Unreal )
207
+ }
193
208
_ => None ,
194
209
} ;
195
210
if let Some ( project_type) = p_type {
0 commit comments