#!/bin/sh # Display ENAME corresponding to number # or all ENAMEs if no number specified. # License: LGPLv2 test $Argc -eq 1 && global re := ""$1([^0-9]|$)"" echo "#include " | cpp -dD -CC | #-CC available since GCC 3.3 (2003) grep -E "^#define E[^ ]+ $re" | sed ':s;s#/\*\([^ ]*\) #/*\1_#;t s;' | column -t | tr _ ' ' | #align cut -c1-$[tput cols] #truncate to screen width (CommandList children: [ (AndOr children: [ (C {(Lit_Other "[")} {($ VSub_Pound "$#")} {(-eq)} {(1)} {(Lit_Other "]")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:re) op: Equal rhs: {(DQ ($ VSub_Number "$1") ("([^0-9]|") (Lit_Other "$") (")"))} spids: [27] ) ] spids: [27] ) ] op_id: Op_DAmp ) (Pipeline children: [ (C {(echo)} {(DQ ("#include "))}) (C {(cpp)} {(-dD)} {(-CC)}) (C {(grep)} {(-E)} {(DQ ("^#define E[^ ]+ ") ($ VSub_Name "$re"))}) (C {(sed)} {(SQ <":s;s#/\\*\\([^ ]*\\) #/*\\1_#;t s;">)}) (C {(column)} {(-t)}) (C {(tr)} {(_)} {(SQ <" ">)}) (C {(cut)} {(-c1-) (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(cols)})]) left_token: spids: [95 99] ) } ) ] negated: False ) ] )