#include <regex.h>
#include <sys/stat.h>
#include <sys/wait.h>
+#include <pwd.h>
typedef struct {
enum {
&(Rule){ LAUNCH, "cd $data && ls -ap | tide -", NULL },
&(Rule){ COMPLETE, NULL, NULL }
},
+ (Rule*[]){ /* look for files in /usr/include */
+ &(Rule){ ISFILE, "/usr/include/$data", NULL },
+ &(Rule){ LAUNCH, "edit \"/usr/include/$data\"", NULL },
+ &(Rule){ COMPLETE, NULL, NULL }
+ },
+ (Rule*[]){ /* look for files in /usr/local/include */
+ &(Rule){ ISFILE, "/usr/local/include/$data", NULL },
+ &(Rule){ LAUNCH, "edit \"/usr/local/include/$data\"", NULL },
+ &(Rule){ COMPLETE, NULL, NULL }
+ },
+ (Rule*[]){ /* look for files in /usr/X11/include */
+ &(Rule){ ISFILE, "/usr/X11/include/$data", NULL },
+ &(Rule){ LAUNCH, "edit \"/usr/X11/include/$data\"", NULL },
+ &(Rule){ COMPLETE, NULL, NULL }
+ },
NULL
};
+static char* homedir_path(char* rpath)
+{
+ static char path[8192] = {0};
+ if (!path[0])
+ {
+ snprintf(path, sizeof(path)-1,"%s/%s", getpwuid(getuid())->pw_dir, rpath);
+ }
+ return path;
+}
+
/******************************************************************************/
{
add_ruleset(rules, nrules, calloc(1, sizeof(Rule)));
}
- add_ruleset(NULL, 0, NULL);
+// add_ruleset(NULL, 0, NULL);
}
telem_send("DONE\n", path);
}
{
/* load rules from files */
parse_rules("fetch.rules");
+ parse_rules(homedir_path("config/tide/fetch.rules"));
+ add_ruleset(NULL, 0, NULL);
telem_send("FETCH(%s)\n", argv[1]);
setenv("data", argv[1], 1);