all repos — openbox @ 0d6bc13135c731ec7ffed287ab02bcedd308a6d9

openbox fork - make it a bit more like ryudo

plugins/keyboard/keysrc.l (raw)

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
%{
#include <glib.h>
#include "y.tab.h"

extern void kparseerror(char *s);
int kparselineno;
%}

field [A-Za-z0-9][-A-Za-z0-9]*
number (-[0-9]|[0-9])[0-9]*
string \"[^"\n]*\"

%%

^[ \t]*#.*\n kparselineno++;
{number}     kparselval.integer = atoi(kparsetext);    return INTEGER;
{field}      kparselval.string = g_strdup(kparsetext); return FIELD;
{string}     {
                 /* drop the quotes */
                 kparselval.string = g_strdup(kparsetext+1);
                 if (kparselval.string[kparseleng-2] != '"') {
                     g_warning("improperly terminated string on line %d\n",
                               kparselineno);
                     kparseerror("");
                 } else
                     kparselval.string[kparseleng-2] = '\0';
                 return STRING;
             }

[ \t]
\n           kparselineno++; return *yytext;
.            kparseerror("");

%%

int kparsewrap() {
    return 1;
}