1+ @file:Suppress(" unused" , " SpellCheckingInspection" )
2+
3+ package com.dengzii.plugin.auc.template
4+
5+ import com.dengzii.plugin.auc.FileTreeNode
6+
7+ /* *
8+ * <pre>
9+ * author : dengzi
10+ * e-mail : denua@foxmail.com
11+ * github : https://github.com/MrDenua
12+ * time : 2020/1/2
13+ * desc :
14+ * </pre>
15+ */
16+ class FileNode (parent : FileTreeNode ? , name : String ) : FileTreeNode(parent, name, false )
17+
18+ typealias AucFrame = FileTreeNode
19+
20+ typealias ChildNodeBlock = (parent: Node ) -> Unit
21+
22+ typealias Node = FileTreeNode
23+
24+ val Node .test: Node get() = dirNode(" test" )
25+ val Node .main: Node get() = dirNode(" main" )
26+ val Node .java: Node get() = dirNode(" java" )
27+ val Node .src: Node get() = dirNode(" src" )
28+ val Node .res: Node get() = dirNode(" res" )
29+ val Node .app: Node get() = dirNode(" app" )
30+ val Node .pkg_name: Node get() = dirNode(Placeholder .PACKAGE_NAME .getPlaceholder())
31+ val Node .layout: Node get() = dirNode(" layout" )
32+ val Node .values: Node get() = dirNode(" values" )
33+ val Node .drawable: Node get() = dirNode(" drawable" )
34+ val Node .mipmap: Node get() = dirNode(" mipmap" )
35+
36+ val Node .AndroidManifest : FileNode get() = fileNode(" MainActivity" )
37+ val Node .proguard_rules: FileNode get() = fileNode(" proguard-rules" )
38+ val Node .gitignore: FileNode get() = fileNode(" .gitignore" )
39+ val Node .build: FileNode get() = fileNode(" build" )
40+ val Node .App : FileNode get() = fileNode(" App" )
41+
42+ val FileNode .gradle: Unit get() = nodeSuffix(" .gradle" )
43+ val FileNode .java: Unit get() = nodeSuffix(" .java" )
44+ val FileNode .pro: Unit get() = nodeSuffix(" .pro" )
45+ val FileNode .xml: Unit get() = nodeSuffix(" .xml" )
46+ val FileNode .kt: Unit get() = nodeSuffix(" .kt" )
47+
48+ private fun Node.dirNode (name : String ): Node {
49+ val dirNode = Node (this , name, true )
50+ this .children.add(dirNode)
51+ return dirNode
52+ }
53+
54+ private fun Node.fileNode (name : String ): FileNode {
55+ val node = FileNode (this , name)
56+ children.add(node)
57+ return node
58+ }
59+
60+ private fun FileNode.nodeSuffix (suffix : String ) {
61+ this .name = this .name + suffix
62+ }
0 commit comments