diff options
Diffstat (limited to 'tools/sed-enums')
-rw-r--r-- | tools/sed-enums | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/tools/sed-enums b/tools/sed-enums index 13ce112..ea7c5f7 100644 --- a/tools/sed-enums +++ b/tools/sed-enums @@ -1,23 +1,16 @@ s/.*(enum\s+[a-zA-Z0-9_]+).*$/typedef \1 { / -T -h -:attrs -n +T;h +:attrs;n s/^\s*([A-Z0-9_]+).*$/\1, / T next;H;b attrs :next /^\s*\}/ ! b attrs s/^\s*}\s*([a-zA-Z0-9_]+).*$/ } \1;/ -t end -# TODO fix above !! -/^\s*\}\s*;.*$/ { - :loop2 - n - /typedef/ ! b loop2 - s/^\s*typedef\s+enum\s+[a-zA-Z0-9_]+\s+([a-zA-Z0-9_]+)/ } \1/ - t end -} -:end +t finish +:close +s/^\s*typedef\s+enum\s+[a-zA-Z0-9_]+\s+([a-zA-Z0-9_]+)\s+;/ } \1/ +t finish;n;T close +:finish H;x s/\n//g s/ {2,}/ /g |