-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathNMODL.tmLanguage
More file actions
119 lines (119 loc) · 3.86 KB
/
NMODL.tmLanguage
File metadata and controls
119 lines (119 loc) · 3.86 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string>mod</string>
<string>inc</string>
</array>
<key>name</key>
<string>NMODL</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(\:).*$\n?</string>
<key>name</key>
<string>comment.line.nmodl</string>
</dict>
<dict>
<key>begin</key>
<string>\b(COMMENT)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.nmodl</string>
</dict>
</dict>
<key>end</key>
<string>\b(ENDCOMMENT)\b</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.nmodl</string>
</dict>
</dict>
<key>name</key>
<string>comment.block.nmodl</string>
</dict>
<dict>
<key>begin</key>
<string>\b(TITLE)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.nmodl</string>
</dict>
</dict>
<key>end</key>
<string>\n</string>
<key>name</key>
<string>comment.line.nmodl</string>
</dict>
<dict>
<key>match</key>
<string>(?<!\.|\w)([-+]?((\d+(\.)?\d*)|(\d*(\.)?\d+))([eE][-+]?[0-9]+)?)</string>
<key>name</key>
<string>constant.numeric.nmodl</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.nmodl</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.nmodl</string>
</dict>
</dict>
<key>match</key>
<string>^\s*(PROCEDURE)\s+([A-Za-z_][A-Za-z0-9_]*)\s*\(</string>
</dict>
<dict>
<key>match</key>
<string>\b(PI|E|GAMMA|DEG|PHI|FARADAY|R)\b</string>
<key>name</key>
<string>constant.numeric.nmodl</string>
</dict>
<dict>
<key>match</key>
<string>\>|\<|\!|\+|\-|\*|\=|\||\&|\^|/|//|\%|\~</string>
<key>name</key>
<string>keyword.operator.nmodl</string>
</dict>
<dict>
<key>match</key>
<string>\b(VERBATIM|ENDVERBATIM|COMMENT|TITLE|CONSTANT|PARAMETER|INDEPENDENT|ASSIGNED|INITIAL|TERMINAL|DERIVATIVE|EQUATION|BREAKPOINT|SOLVE|STATE|STEPPED|LINEAR|NONLINEAR|DISCRETE|FUNCTION|FUNCTION_TABLE|PROCEDURE|PARTIAL|DEL2|DEL|LOCAL|METHOD|STEADYSTATE|SENS|STEP|WITH|FROM|FORALL|TO|BY|START|DEFINE|KINETIC|CONSERVE|PLOT|VS|LAG|RESET|MATCH|MODEL_LEVEL|SWEEP|FIRST|LAST|COMPARTMENT|LONGITUDINAL_DIFFUSION|PUTQ|GETQ|IFERROR|SOLVEFOR|UNITS|UNITSON|UNITSOFF|TABLE|DEPEND|NEURON|SUFFIX|POINT_PROCESS|ARTIFICIAL_CELL|NONSPECIFIC_CURRENT|ELECTRODE_CURRENT|SECTION|RANGE|USEION|READ|WRITE|VALENCE|CHARGE|GLOBAL|POINTER|EXTERNAL|INCLUDE|CONSTRUCTOR|DESTRUCTOR|NET_RECEIVE|BEFORE|AFTER|WATCH|FOR_NETCONS|THREADSAFE|PROTECT|MUTEXLOCK|MUTEXUNLOCK)\b</string>
<key>name</key>
<string>keyword.other.nmodl</string>
</dict>
<dict>
<key>match</key>
<string>\b(if|else|while)\b</string>
<key>name</key>
<string>keyword.control.nmodl</string>
</dict>
<dict>
<key>match</key>
<string>\b(first_time|error|f_flux|b_flux|fabs|sqrt|sin|cos|tan|acos|asin|atan|atan2|sinh|cosh|tanh|floor|ceil|fmod|log10|log|pow|printf|prterr|exp|threshold|force|deflate|expfit|derivs|spline|hyperbol|revhyperbol|sigmoid|revsigmoid|harmonic|squarewave|sawtooth|revsawtooth|ramp|pulse|perpulse|step|perstep|erf|exprand|factorial|gauss|normrand|poisrand|poisson|setseed|scop_random|boundary|romberg|legendre|invert|stepforce|schedule|set_seed|nrn_pointing|state_discontinuity|net_send|net_move|net_event|nrn_random_play|at_time|nrn_ghk)\b</string>
<key>name</key>
<string>support.function.nmodl</string>
</dict>
</array>
<key>scopeName</key>
<string>source.nmodl</string>
<key>uuid</key>
<string>0fbcf00c-2f7a-439e-b997-f3d6d0afe5a5</string>
</dict>
</plist>