forked from andre-simon/highlight
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathfortran90.lang
39 lines (30 loc) · 1.5 KB
/
fortran90.lang
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Description="Fortran 90"
Categories = {"source"}
Digits=[[ (?:0x|0X)[0-9a-fA-F]+|\d*[\.\_]?\d+(?:[eE][\-\+]\d+)?[lLuUbfdm]* ]]
Keywords={
{ Id=1,
List={"accept", "endmap", "pause", "assign", "endstructure", "pointer", "automatic", "endunion", "print", "backspace", "entry", "program",
"blockdata", "equivalence", "read", "byte", "external", "readonly", "call", "find", "real", "character", "format", "record", "close",
"function", "return", "common", "goto", "rewind", "complex", "if", "rewrite", "continue", "implicit", "save", "data", "implicitnone",
"shared", "decode", "implicitundefined", "static", "definefile", "include", "stop", "delete", "inquire", "structure", "dimension", "integer",
"subroutine", "do", "intrinsic", "then", "doublecomplex", "key", "to", "doubleprecision", "logical", "type", "else", "map", "undefined",
"elseif", "namelist", "union", "encode", "none", "unlock", "end", "nospanblocks", "virtual", "enddo", "open", "volatile", "endfile", "options",
"while", "endif", "parameter", "write", "module", "interface", "use", "contains", "stop", "recursive"},
},
{ Id=2,
List={"integer", "real", "double", "precision", "complex", "logical", "character"},
},
{ Id=4,
Regex=[[(\w+)\s*\(]],
},
}
Strings={
Delimiter=[["|']],
}
IgnoreCase=true
Comments={
{ Block=false,
Delimiter= { [[!]] },
},
}
Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\&|<|>|\-|\+|\=|\/|\*|\%|\+|\-|\.|\$]]