forked from maartenteaches/mkproject
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmkproject_main.mata
196 lines (177 loc) · 6.54 KB
/
mkproject_main.mata
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
mata:
mata set matastrict on
struct queryinfo
{
string scalar isdefault
string scalar path
string scalar name
string scalar lab
string colvector met
string colvector reqs
}
struct repl
{
string scalar abbrev
string scalar fn
string scalar basedir
string scalar stub
}
struct reading_file
{
real rowvector fversion
string scalar sversion
string scalar type
string scalar label
string colvector description
string colvector reqs
string scalar fn
real scalar fh
real scalar lnr
real scalar open
}
struct defaults
{
string scalar boilerplate
string scalar project
}
class mpversion{
real rowvector current_version
struct reading_file scalar reading
real rowvector parse_version()
void header_version()
void where_err()
void new()
real scalar lt()
void toonew()
}
class mpfile extends mpversion{
class AssociativeArray scalar fhs
real scalar mpfopen()
void mpfread()
void mpfput()
string matrix mpfget()
void mpfclose()
void mpferror()
void mpfclose_all()
real scalar nlines()
void new()
}
class mptools extends mpfile{
string scalar odir
string scalar header_label
string scalar header_type
void graceful_exit()
string scalar find_file()
void read_header()
void parse_header()
void descopenerr()
real scalar _chkreq()
void chkreqs()
void collect_header_info()
void chk_header()
void write_header()
void header_ok()
string scalar type2ext()
string scalar mppathgetparent()
void new() // sets default for odir
string scalar gettoken()
}
class mpdefaults extends mptools{
struct defaults scalar defaults
void read_defaults()
void write_default()
void reset()
void new()
}
class boilerplate extends mpdefaults{
struct repl scalar torepl
void parse_anything()
void copy_boiler()
string scalar remove_usuffix()
void parse_dest()
void parse_bline()
void parse_bbody()
void parse_bbody2_0_4()
}
class mkproject extends boilerplate{
string matrix files
string colvector dirs
string colvector cmds
string scalar dir
string scalar abbrev
string scalar project
string scalar profile_path
string colvector prcontent
real scalar ppos
void read_profile()
void parse_pbody()
void parse_pbody2_0_4()
string scalar parse_pline()
void read_project()
void parse_sline()
string scalar getrest()
void read_dir()
void parse_dir()
void mk_dirs()
void mk_files()
void do_cmds()
void new()
void run()
}
class mpquery extends mpdefaults {
struct queryinfo colvector files
string scalar cname
string scalar creq
string scalar clab
string matrix findfiles()
string colvector dupldrop()
void fromheader()
string scalar file2name()
void isdefault()
void print_header()
void print_entry()
void print_footer()
void collect_info()
void print_table()
void parse_reqs()
string scalar parse_req()
void parse_names()
string colvector collect_reqs()
void multilinelab()
string scalar truncstring()
string colvector mpparts()
void parsefiles()
void run()
void setup_table()
}
class mpcreate extends mkproject {
string scalar newname()
void chk_file()
void check_body()
void create()
void remove()
void header_defaults()
string colvector integrate_reqs()
void parse_req_line()
string matrix parse_tree()
void create_tree()
void decorate_tree()
void write_tree()
void write_help()
void write_help_p()
void write_help_b()
void copy_b_help()
void write_help_header()
void write_help_footer()
void write_help_p_body()
void write_help_b_body()
}
end
do mkproject_version.mata
do mkproject_mpfile.mata
do mkproject_mptools.mata
do mkproject_mpdefaults.mata
do mkproject_mpboilerplate.mata
do mkproject_mkproject.mata
do mkproject_mpquery.mata
do mkproject_mpcreate.mata