dotfiles

My dotfiles.
Log | Files | Refs | LICENSE

m4.jsf (1848B)


      1 # m4
      2 
      3 =Idle
      4 =Ident
      5 =Comment
      6 =Constant
      7 =Variable	+Escape
      8 =Brace
      9 =Keyword
     10 
     11 :start Idle
     12 	*		start noeat call=.m4()
     13 
     14 .subr m4
     15 
     16 .ifdef quote
     17 :idle Constant
     18 .else
     19 :idle Idle
     20 .endif
     21 	*		idle
     22 	"["		idle recolor=-1 call=.m4(quote -brace)
     23 #	"["		idle recolor=-1 call=.quote()
     24 	"a-zA-Z_"	ident buffer mark
     25 .ifdef quote
     26 	"]"		idle return
     27 .endif
     28 .ifdef brace
     29 	")"		endbrace recolor=-1
     30 .endif
     31 
     32 :quote Constant string
     33 	*		quote
     34 	"]"		idle
     35 
     36 :endbrace Brace
     37 	*		idle noeat return
     38 
     39 .ifdef quote
     40 :ident Constant string
     41 .else
     42 :ident Ident
     43 .endif
     44 	*		maybe_macro noeat strings
     45 	"builtin"	maybe_kw
     46 	"changecom"	maybe_kw
     47 	"changequote"	maybe_kw
     48 	"changeword"	maybe_kw
     49 	"debugfile"	maybe_kw
     50 	"debugmode"	maybe_kw
     51 	"decr"		maybe_kw
     52 	"define"	maybe_kw
     53 	"defn"		maybe_kw
     54 	"divert"	maybe_kw
     55 	"divnum"	maybe_kw
     56 	"dnl"		comment
     57 	"dumpdef"	maybe_kw
     58 	"errprint"	maybe_kw
     59 	"esyscmd"	maybe_kw
     60 	"eval"		maybe_kw
     61 	"file"		maybe_kw
     62 	"format"	maybe_kw
     63 	"ifdef"		maybe_kw
     64 	"ifelse"	maybe_kw
     65 	"include"	maybe_kw
     66 	"incr"		maybe_kw
     67 	"index"		maybe_kw
     68 	"indir"		maybe_kw
     69 	"len"		maybe_kw
     70 	"line"		maybe_kw
     71 	"m4exit"	maybe_kw
     72 	"m4wrap"	maybe_kw
     73 	"maketemp"	maybe_kw
     74 	"patsubst"	maybe_kw
     75 	"popdef"	maybe_kw
     76 	"pushdef"	maybe_kw
     77 	"regexp"	maybe_kw
     78 	"shift"		maybe_kw
     79 	"sinclude"	maybe_kw
     80 	"substr"	maybe_kw
     81 	"syscmd"	maybe_kw
     82 	"sysval"	maybe_kw
     83 	"traceoff"	maybe_kw
     84 	"traceon"	maybe_kw
     85 	"translit"	maybe_kw
     86 	"undefine"	maybe_kw
     87 	"undivert"	maybe_kw
     88 done
     89 	"a-zA-Z0-9_"	ident
     90 
     91 :maybe_macro Idle
     92 	*		idle noeat
     93 	"("		macro recolormark noeat
     94 
     95 :maybe_kw Idle
     96 	*		idle noeat
     97 	"("		kw recolormark noeat
     98 
     99 :kw Keyword
    100 	*		idle noeat
    101 	"("		macro noeat
    102 
    103 :comment Comment comment
    104 	*		comment
    105 	"\n"		idle
    106 
    107 :macro Variable
    108 	*		idle noeat
    109 	"("		brace recolor=-1
    110 
    111 :brace Brace
    112 	*		idle noeat call=.m4(brace -quote)
    113 
    114 .end
    115 
    116 .subr quote
    117 :idle Constant string
    118 	*	idle
    119 	"]"	idle return
    120 	"["	idle call=.quote()
    121 
    122 .end