text/x-gf;text/plain
*.gf
[!#$%&*+./>=<?@:\\^|~-]
\{-#
#-\}
\b[a-z_][0-9a-zA-Z_'#]*
\b[A-Z][0-9a-zA-Z._'#]*
\%{symbolchar}+
(?<!\%{symbolchar})
(?!\%{symbolchar})
\.\.
::
=
\|
\
->
<-
@
~
=>
\\( # leading backslash
[abfnrtv\\"\'&] | # escaped character
[0-9]+ | # decimal digits
o[0-7]+ | # 'o' followed by octal digits
x[0-9A-Fa-f]+ | # 'x' followed by hex digits
\^[A-Z@\[\\\]^_] | # control character codes
NUL | SOH | STX | ETX | EOT | ENQ | ACK |
BEL | BS | HT | LF | VT | FF | CR | SO |
SI | DLE | DC1 | DC2 | DC3 | DC4 | NAK |
SYN | ETB | CAN | EM | SUB | ESC | FS | GS |
RS | US | SP | DEL # control char names
)
"
"
\%{escaped-character}
'
'
\%{escaped-character}
.
.
[0-9]+
PType
Str
Strs
Type
abstract
case
cat
concrete
data
def
flags
fun
in
incomplete
instance
interface
let
lin
lincat
lindef
of
open
oper
param
pre
printname
resource
strs
table
transfer
variants
where
with