ref: b35806908757c20012985c8916d48456cd14e720
parent: d400e426eb04cfc4cb78fa82e7bcdc20150f3305
author: kvik <kvik@a-b.xyz>
date: Mon May 4 16:39:55 EDT 2020
c: add enum (-e) search option
--- a/bin/c
+++ b/bin/c
@@ -21,6 +21,23 @@
}' | sam -d $files >[2]/dev/null
}
+fn enum {+ search = $*
+ if(~ $#search 0)
+ search = (.)
+ files = `{walk -f $search | grep '\.[ch]$'}+ awk '
+ /^enum[ ]*{/ {+ matched = 1
+ if(nfound++ > 0) printf "\n"
+ if(ARGC != 1)
+ print FILENAME ":" FNR
+ }
+ matched {print}+ matched && /^}/ {matched = 0}+ ' $files
+}
+
fn function { ignore = ('\.root.s$' 'cmd/python/')search = $*
@@ -46,6 +63,7 @@
flagfmt = 'e,f,s'; args = '[regexp] [searchpath]'
eval `{aux/getflags $*} || exec aux/usage+if(~ $flage 1) op = 'enum'
if(~ $flagf 1) op = 'function'
if(~ $flags 1) op = 'struct'
if(! isatty){--
⑨