Allow shell-style comments in the input file
authorMichael Spang <mspang@csclub.uwaterloo.ca>
Fri, 20 Nov 2009 05:35:51 +0000 (00:35 -0500)
committerMichael Spang <mspang@csclub.uwaterloo.ca>
Tue, 22 Dec 2009 03:09:50 +0000 (22:09 -0500)
Signed-off-by: Michael Spang <mspang@csclub.uwaterloo.ca>
awesome.rl
magic.cc

index 508fa00..31714f6 100644 (file)
@@ -36,11 +36,14 @@ using namespace std;
       tmp_list.clear();
     }
 
+    newline = '\n' @{ curline += 1; };
+    comment = '#' (any - newline)* newline;
+    whitespace = [\t\v\f\r ] | comment | newline;
     package_name = ((lower | digit) (lower | digit | '+' | '-' | '.')+) >pkgstart @pkgend;
-    package_list = ((space+ package_name)+ %add_list space*) >clear_list;
+    package_list = ((whitespace+ package_name)+ %add_list whitespace*) >clear_list;
     cmd_install = 'install' package_list ';' @install;
     cmd_remove = 'remove' package_list ';' @remove;
-    main := (cmd_install | cmd_remove | space)*;
+    main := (cmd_install | cmd_remove | whitespace)*;
 }%%
 
 %% write data;
@@ -52,6 +55,7 @@ void scanner(vector<char *> &add_list, vector<char *> &del_list)
     static char buf[BUFSIZE];
     int cs, have = 0;
     int done = 0;
+    int curline = 1;
     char *ts = 0, *te = 0;
 
     vector<char *> tmp_list;
index 3d16d3c..bb67bf2 100644 (file)
--- a/magic.cc
+++ b/magic.cc
@@ -203,7 +203,6 @@ int main(int argc, char *argv[]) {
       DCache->MarkDelete(cache->FindPkg(*i), false);
     }
     for (vector<char *>::iterator i = add_list.begin(); i < add_list.end(); i++) {
-      printf("install %s\n", *i);
       DCache->MarkInstall(cache->FindPkg(*i), false);
     }