File: curses_keys.awk

package info (click to toggle)
zsh-beta 4.3.17-dev-0%2B20120621-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 19,804 kB
  • sloc: ansic: 95,966; sh: 5,899; makefile: 845; perl: 745; awk: 383; sed: 16
file content (19 lines) | stat: -rw-r--r-- 544 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
BEGIN {nkeydefs = 0}

/^[\t ]*#[\t ]*define[\t _]*KEY_[A-Z0-9_]*[\t ]/ {
    keyindex = index($0, "KEY_")
    keytail = substr($0, keyindex, 80)
    split(keytail, tmp)
    keynam = substr(tmp[1], 5, 30)
    if (keynam != "MIN" && keynam != "MAX" && keynam != "CODE_YES") {
	name[nkeydefs++] = keynam
    }
}

END {
    printf("static const struct zcurses_namenumberpair keypad_names[] = {\n")
    for (i = 0; i < 0 + nkeydefs; i++)
        printf("    {\"%s\", KEY_%s},\n", name[i], name[i])
    printf("    {NULL, 0}\n")
    printf("};\n")
}