X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fcmdparse.l;h=6e33c950fbbffde9cfb6d6ac374cba0556fa346c;hb=443753bea6ae30238a3c1af29ec9c60824dca7a4;hp=3b3aefe2fdb4cf594ff673f7f633a53d4b447f5f;hpb=565ef78b12069014c2e8b1e73c0763d2acbab5cd;p=i3%2Fi3 diff --git a/src/cmdparse.l b/src/cmdparse.l index 3b3aefe2..6e33c950 100644 --- a/src/cmdparse.l +++ b/src/cmdparse.l @@ -2,7 +2,7 @@ * vim:ts=4:sw=4:expandtab * * i3 - an improved dynamic tiling window manager - * © 2009-2010 Michael Stapelberg and contributors (see also: LICENSE) + * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE) * * cmdparse.l: the lexer for commands you send to i3 (or bind on keys) * @@ -65,16 +65,25 @@ EOL (\r?\n) cmdyycolumn = 1; } -[^\n]+ { BEGIN(INITIAL); cmdyylval.string = sstrdup(yytext); return STR; } [ \t]* { BEGIN(WANT_STRING); return WHITESPACE; } -\"[^\"]+\" { +\"[^\"]+\" { BEGIN(INITIAL); /* strip quotes */ char *copy = sstrdup(yytext+1); copy[strlen(copy)-1] = '\0'; cmdyylval.string = copy; return STR; - } + } +\"[^\"]+\" { + BEGIN(INITIAL); + /* strip quotes */ + char *copy = sstrdup(yytext+1); + copy[strlen(copy)-1] = '\0'; + cmdyylval.string = copy; + return STR; + } + +[^;\n]+ { BEGIN(INITIAL); cmdyylval.string = sstrdup(yytext); return STR; } [ \t]* { return WHITESPACE; } attach { return TOK_ATTACH; } @@ -83,6 +92,8 @@ exit { return TOK_EXIT; } reload { return TOK_RELOAD; } restart { return TOK_RESTART; } kill { return TOK_KILL; } +window { return TOK_WINDOW; } +client { return TOK_CLIENT; } fullscreen { return TOK_FULLSCREEN; } global { return TOK_GLOBAL; } layout { return TOK_LAYOUT; } @@ -91,6 +102,7 @@ stacked { return TOK_STACKED; } stacking { return TOK_STACKED; } tabbed { return TOK_TABBED; } border { return TOK_BORDER; } +normal { return TOK_NORMAL; } none { return TOK_NONE; } 1pixel { return TOK_1PIXEL; } mode { return TOK_MODE; } @@ -111,14 +123,13 @@ up { return TOK_UP; } down { return TOK_DOWN; } left { return TOK_LEFT; } right { return TOK_RIGHT; } -before { return TOK_BEFORE; } -after { return TOK_AFTER; } resize { return TOK_RESIZE; } shrink { return TOK_SHRINK; } grow { return TOK_GROW; } px { return TOK_PX; } or { return TOK_OR; } ppt { return TOK_PPT; } +nop { BEGIN(WANT_WS_STRING); return TOK_NOP; } restore { BEGIN(WANT_WS_STRING); return TOK_RESTORE; } mark { BEGIN(WANT_WS_STRING); return TOK_MARK; }