}
}
-
-
+ public string version = "1.0";
+ public string licence = "LGPL";
public string path = "";
private Gee.ArrayList<JsRender.JsRender> sub_paths;
public Gee.HashMap<string,Palete.GirObject> gir_cache = null; // used by Gir ??? is this used by Roo?
//public Palete.ValaCompileRequest last_request = null; // depricated?
public Gee.HashMap<string,GLib.ListStore>? errorsByType = null;
-
+ public bool loading = false; // flag this to block saving (normally when loading ui that might trigger save..
protected Gee.HashMap<string,Palete.LanguageClient> language_servers;
public void save()
{
-
+
+ if (this.loading) {
+ return;
+ }
+
var s = this.toJSON();
GLib.debug("Save Project %s\n%s", this.name, s);
try {
if (subdir == "build") { // cmake!
return;
}
+ if (subdir == "build-dir") { // flatpack
+ return;
+ }
+ if (subdir == "repo") { // flatpack ?? wrong command?
+ return;
+ }
if (subdir == "autom4te.cache") { // automake?
return;
}
string[] ret = {};
foreach(var jdir in this.sub_paths) {
-
-
-
if (Path.get_basename (jdir.path) == name) {
GLib.debug("pathsMatching %s\n", jdir.path);
ret += full_path ? jdir.path : jdir.relpath;
return ret;
}
+
+ public Gee.ArrayList<JsRender.Dir> pathsUnder(string name)
+ {
+ var ret = new Gee.ArrayList<JsRender.Dir>();
+
+ foreach(var jdir in this.sub_paths) {
+ if (jdir.relpath.has_prefix(name + "/")) {
+ ret.add(jdir as JsRender.Dir);
+ }
+
+ }
+ return ret;
+
+ }
+
public Gee.ArrayList<string> readArray(Json.Array ar)
{
var ret = new Gee.ArrayList<string>();