remlint 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +328 -0
  3. data/config/default.yml +374 -0
  4. data/docs/remlint-rules.md +390 -0
  5. data/docs/remlint.md +238 -0
  6. data/exe/remlint +8 -0
  7. data/lib/remlint/cli.rb +300 -0
  8. data/lib/remlint/command.rb +229 -0
  9. data/lib/remlint/config.rb +255 -0
  10. data/lib/remlint/date_literal.rb +283 -0
  11. data/lib/remlint/document.rb +161 -0
  12. data/lib/remlint/expr_lexer.rb +197 -0
  13. data/lib/remlint/extractors.rb +210 -0
  14. data/lib/remlint/formatter.rb +96 -0
  15. data/lib/remlint/invocation.rb +145 -0
  16. data/lib/remlint/logical_line.rb +194 -0
  17. data/lib/remlint/offense.rb +117 -0
  18. data/lib/remlint/rule.rb +216 -0
  19. data/lib/remlint/rules/addomit_without_scanfrom.rb +189 -0
  20. data/lib/remlint/rules/advance_warning_body.rb +176 -0
  21. data/lib/remlint/rules/banner_placement.rb +126 -0
  22. data/lib/remlint/rules/calendar_text_limited.rb +125 -0
  23. data/lib/remlint/rules/callback_signature.rb +221 -0
  24. data/lib/remlint/rules/clause_needs_full_date.rb +176 -0
  25. data/lib/remlint/rules/clause_requires_at.rb +178 -0
  26. data/lib/remlint/rules/clause_value_range.rb +257 -0
  27. data/lib/remlint/rules/color_component_range.rb +295 -0
  28. data/lib/remlint/rules/coordinate_not_string.rb +175 -0
  29. data/lib/remlint/rules/dangling_continuation.rb +134 -0
  30. data/lib/remlint/rules/date_out_of_range.rb +180 -0
  31. data/lib/remlint/rules/debug_command.rb +189 -0
  32. data/lib/remlint/rules/easterdate_from_today.rb +160 -0
  33. data/lib/remlint/rules/function_arity.rb +385 -0
  34. data/lib/remlint/rules/function_redefinition.rb +159 -0
  35. data/lib/remlint/rules/generated_file_edited.rb +125 -0
  36. data/lib/remlint/rules/hebrew_date.rb +245 -0
  37. data/lib/remlint/rules/iftrig_with_satisfy.rb +101 -0
  38. data/lib/remlint/rules/include_path.rb +155 -0
  39. data/lib/remlint/rules/info_clause.rb +186 -0
  40. data/lib/remlint/rules/info_substitution_without_header.rb +169 -0
  41. data/lib/remlint/rules/invocation_mismatch.rb +223 -0
  42. data/lib/remlint/rules/keyword_case.rb +172 -0
  43. data/lib/remlint/rules/license_header.rb +101 -0
  44. data/lib/remlint/rules/line_length.rb +101 -0
  45. data/lib/remlint/rules/literal_type_mismatch.rb +324 -0
  46. data/lib/remlint/rules/localization_pack.rb +144 -0
  47. data/lib/remlint/rules/moon_phase_argument.rb +162 -0
  48. data/lib/remlint/rules/omit_aware_delta.rb +168 -0
  49. data/lib/remlint/rules/push_vars_missing_name.rb +158 -0
  50. data/lib/remlint/rules/repeat_trigger.rb +188 -0
  51. data/lib/remlint/rules/satisfy_constraint.rb +230 -0
  52. data/lib/remlint/rules/shell_maxlen.rb +170 -0
  53. data/lib/remlint/rules/shell_use_while_run_disabled.rb +172 -0
  54. data/lib/remlint/rules/string_escape.rb +158 -0
  55. data/lib/remlint/rules/syntax.rb +229 -0
  56. data/lib/remlint/rules/system_variable_assignment.rb +197 -0
  57. data/lib/remlint/rules/tag_syntax.rb +145 -0
  58. data/lib/remlint/rules/text_after_eof_marker.rb +134 -0
  59. data/lib/remlint/rules/time_zone_name.rb +212 -0
  60. data/lib/remlint/rules/tk_tag_namespace.rb +121 -0
  61. data/lib/remlint/rules/todo_complete_through.rb +122 -0
  62. data/lib/remlint/rules/trailing_whitespace.rb +116 -0
  63. data/lib/remlint/rules/translate_command.rb +203 -0
  64. data/lib/remlint/rules/unbalanced_blocks.rb +305 -0
  65. data/lib/remlint/rules/unbalanced_delimiters.rb +251 -0
  66. data/lib/remlint/rules/unknown_special_type.rb +155 -0
  67. data/lib/remlint/rules/unknown_substitution_sequence.rb +255 -0
  68. data/lib/remlint/rules/unknown_system_variable.rb +145 -0
  69. data/lib/remlint/rules/unquoted_shell_substitution.rb +266 -0
  70. data/lib/remlint/rules/until_before_from.rb +204 -0
  71. data/lib/remlint/rules/world_writable_script.rb +128 -0
  72. data/lib/remlint/rules.rb +60 -0
  73. data/lib/remlint/runner.rb +274 -0
  74. data/lib/remlint/source.rb +36 -0
  75. data/lib/remlint/tables.rb +395 -0
  76. data/lib/remlint/trigger.rb +359 -0
  77. data/lib/remlint/version.rb +5 -0
  78. data/lib/remlint/vocabulary.rb +236 -0
  79. data/lib/remlint.rb +35 -0
  80. data/tasks/generate_tables.rb +175 -0
  81. metadata +170 -0
@@ -0,0 +1,395 @@
1
+ # frozen_string_literal: true
2
+
3
+ # GENERATED FILE -- do not edit by hand.
4
+ #
5
+ # Transcribed from Remind 06.02.10 by tasks/generate_tables.rb, which reads
6
+ # the same tables the interpreter dispatches on (src/token.c, src/funcs.c,
7
+ # src/var.c). Regenerate rather than patch:
8
+ #
9
+ # ruby tasks/generate_tables.rb /path/to/remind
10
+ module RemLint
11
+ # Remind's vocabulary, exactly as the interpreter knows it.
12
+ module Tables
13
+ # Remind's variadic sentinel: `char(...)` and friends take any number of
14
+ # arguments above their minimum.
15
+ NO_MAX_ARGS = 127
16
+
17
+ # [keyword, minimum abbreviation length, token type]. Remind accepts any
18
+ # prefix at least `minlen` characters long, which is why `INC` is
19
+ # `INCLUDE` and `SCAN` is `SCANFROM`.
20
+ KEYWORD_ROWS = [
21
+ ["ADDOMIT" , 7 , "T_AddOmit" ],
22
+ ["AFTER" , 5 , "T_Skip" ],
23
+ ["APRIL" , 3 , "T_Month" ],
24
+ ["AT" , 2 , "T_At" ],
25
+ ["AUGUST" , 3 , "T_Month" ],
26
+ ["BANNER" , 3 , "T_Banner" ],
27
+ ["BEFORE" , 6 , "T_Skip" ],
28
+ ["CAL" , 3 , "T_RemType" ],
29
+ ["CLEAR-OMIT-CONTEXT", 5 , "T_Clr" ],
30
+ ["COMPLETE-THROUGH" , 16, "T_CompleteThrough" ],
31
+ ["COMPLETED-THROUGH" , 17, "T_CompleteThrough" ],
32
+ ["DEBUG" , 5 , "T_Debug" ],
33
+ ["DECEMBER" , 3 , "T_Month" ],
34
+ ["DO" , 2 , "T_IncludeR" ],
35
+ ["DUMPVARS" , 4 , "T_Dumpvars" ],
36
+ ["DURATION" , 8 , "T_Duration" ],
37
+ ["ELSE" , 4 , "T_Else" ],
38
+ ["ENDIF" , 5 , "T_EndIf" ],
39
+ ["ERRMSG" , 6 , "T_ErrMsg" ],
40
+ ["EXIT" , 4 , "T_Exit" ],
41
+ ["EXPR" , 4 , "T_Expr" ],
42
+ ["FEBRUARY" , 3 , "T_Month" ],
43
+ ["FIRST" , 5 , "T_Ordinal" ],
44
+ ["FLUSH" , 5 , "T_Flush" ],
45
+ ["FOURTH" , 6 , "T_Ordinal" ],
46
+ ["FRENAME" , 7 , "T_Frename" ],
47
+ ["FRIDAY" , 3 , "T_WkDay" ],
48
+ ["FROM" , 4 , "T_Scanfrom" ],
49
+ ["FSET" , 4 , "T_Fset" ],
50
+ ["FUNSET" , 6 , "T_Funset" ],
51
+ ["IF" , 2 , "T_If" ],
52
+ ["IFTRIG" , 6 , "T_IfTrig" ],
53
+ ["IN" , 2 , "T_In" ],
54
+ ["INCLUDE" , 3 , "T_Include" ],
55
+ ["INCLUDECMD" , 10, "T_IncludeCmd" ],
56
+ ["INFO" , 4 , "T_Info" ],
57
+ ["JANUARY" , 3 , "T_Month" ],
58
+ ["JULY" , 3 , "T_Month" ],
59
+ ["JUNE" , 3 , "T_Month" ],
60
+ ["LAST" , 4 , "T_Ordinal" ],
61
+ ["LASTDAY" , 7 , "T_BackAdj" ],
62
+ ["LASTWORKDAY" , 11, "T_BackAdj" ],
63
+ ["MARCH" , 3 , "T_Month" ],
64
+ ["MAX-OVERDUE" , 11, "T_MaxOverdue" ],
65
+ ["MAY" , 3 , "T_Month" ],
66
+ ["MAYBE-UNCOMPUTABLE", 5 , "T_MaybeUncomputable"],
67
+ ["MONDAY" , 3 , "T_WkDay" ],
68
+ ["MSF" , 3 , "T_RemType" ],
69
+ ["MSG" , 3 , "T_RemType" ],
70
+ ["NOQUEUE" , 7 , "T_NoQueue" ],
71
+ ["NOVEMBER" , 3 , "T_Month" ],
72
+ ["OCTOBER" , 3 , "T_Month" ],
73
+ ["OMIT" , 4 , "T_Omit" ],
74
+ ["OMITFUNC" , 8 , "T_OmitFunc" ],
75
+ ["ONCE" , 4 , "T_Once" ],
76
+ ["POP-FUNCS" , 9 , "T_PopFuncs" ],
77
+ ["POP-OMIT-CONTEXT" , 3 , "T_Pop" ],
78
+ ["POP-VARS" , 8 , "T_PopVars" ],
79
+ ["PRESERVE" , 8 , "T_Preserve" ],
80
+ ["PRIORITY" , 8 , "T_Priority" ],
81
+ ["PS" , 2 , "T_RemType" ],
82
+ ["PSFILE" , 6 , "T_RemType" ],
83
+ ["PUSH-FUNCS" , 10, "T_PushFuncs" ],
84
+ ["PUSH-OMIT-CONTEXT" , 4 , "T_Push" ],
85
+ ["PUSH-VARS" , 9 , "T_PushVars" ],
86
+ ["REM" , 3 , "T_Rem" ],
87
+ ["RETURN" , 6 , "T_Return" ],
88
+ ["RUN" , 3 , "T_RemType" ],
89
+ ["SATISFY" , 7 , "T_RemType" ],
90
+ ["SATURDAY" , 3 , "T_WkDay" ],
91
+ ["SCANFROM" , 4 , "T_Scanfrom" ],
92
+ ["SCHED" , 5 , "T_Sched" ],
93
+ ["SECOND" , 6 , "T_Ordinal" ],
94
+ ["SEPTEMBER" , 3 , "T_Month" ],
95
+ ["SET" , 3 , "T_Set" ],
96
+ ["SKIP" , 4 , "T_Skip" ],
97
+ ["SPECIAL" , 7 , "T_RemType" ],
98
+ ["SUNDAY" , 3 , "T_WkDay" ],
99
+ ["SYSINCLUDE" , 10, "T_IncludeSys" ],
100
+ ["TAG" , 3 , "T_Tag" ],
101
+ ["THIRD" , 5 , "T_Ordinal" ],
102
+ ["THROUGH" , 7 , "T_Through" ],
103
+ ["THURSDAY" , 3 , "T_WkDay" ],
104
+ ["TODO" , 4 , "T_Todo" ],
105
+ ["TRANSLATE" , 5 , "T_Translate" ],
106
+ ["TUESDAY" , 3 , "T_WkDay" ],
107
+ ["TZ" , 2 , "T_Tz" ],
108
+ ["UNSET" , 5 , "T_UnSet" ],
109
+ ["UNTIL" , 5 , "T_Until" ],
110
+ ["WARN" , 4 , "T_Warn" ],
111
+ ["WEDNESDAY" , 3 , "T_WkDay" ],
112
+ ].freeze
113
+
114
+ # [name, minimum arguments, maximum arguments].
115
+ FUNCTION_ROWS = [
116
+ ["_" , 1, 1 ],
117
+ ["abs" , 1, 1 ],
118
+ ["access" , 2, 2 ],
119
+ ["adawn" , 0, 1 ],
120
+ ["adusk" , 0, 1 ],
121
+ ["ampm" , 1, 4 ],
122
+ ["ansicolor" , 1, 5 ],
123
+ ["args" , 1, 1 ],
124
+ ["asc" , 1, 1 ],
125
+ ["baseyr" , 0, 0 ],
126
+ ["catch" , 2, 2 ],
127
+ ["catcherr" , 0, 0 ],
128
+ ["char" , 1, 127],
129
+ ["choose" , 2, 127],
130
+ ["codepoint" , 1, 1 ],
131
+ ["coerce" , 2, 2 ],
132
+ ["columns" , 0, 1 ],
133
+ ["const" , 1, 1 ],
134
+ ["current" , 0, 0 ],
135
+ ["date" , 3, 3 ],
136
+ ["datepart" , 1, 1 ],
137
+ ["datetime" , 2, 5 ],
138
+ ["dawn" , 0, 1 ],
139
+ ["day" , 1, 1 ],
140
+ ["daysinmon" , 1, 2 ],
141
+ ["defined" , 1, 1 ],
142
+ ["dosubst" , 1, 3 ],
143
+ ["dusk" , 0, 1 ],
144
+ ["easterdate" , 0, 1 ],
145
+ ["escape" , 1, 2 ],
146
+ ["eval" , 1, 1 ],
147
+ ["evaltrig" , 1, 2 ],
148
+ ["filedate" , 1, 1 ],
149
+ ["filedatetime" , 1, 1 ],
150
+ ["filedir" , 0, 0 ],
151
+ ["filename" , 0, 0 ],
152
+ ["getenv" , 1, 1 ],
153
+ ["hebdate" , 2, 5 ],
154
+ ["hebday" , 1, 1 ],
155
+ ["hebmon" , 1, 1 ],
156
+ ["hebyear" , 1, 1 ],
157
+ ["hex" , 1, 1 ],
158
+ ["hour" , 1, 1 ],
159
+ ["htmlescape" , 1, 1 ],
160
+ ["htmlstriptags" , 1, 1 ],
161
+ ["iif" , 1, 127],
162
+ ["index" , 2, 3 ],
163
+ ["isany" , 1, 127],
164
+ ["isconst" , 1, 1 ],
165
+ ["isdst" , 0, 2 ],
166
+ ["isleap" , 1, 1 ],
167
+ ["isomitted" , 1, 1 ],
168
+ ["ivritmon" , 1, 1 ],
169
+ ["language" , 0, 0 ],
170
+ ["localtoutc" , 1, 1 ],
171
+ ["lower" , 1, 1 ],
172
+ ["max" , 1, 127],
173
+ ["mbchar" , 1, 127],
174
+ ["mbindex" , 2, 3 ],
175
+ ["mblower" , 1, 1 ],
176
+ ["mbpad" , 3, 4 ],
177
+ ["mbstrlen" , 1, 1 ],
178
+ ["mbsubstr" , 2, 3 ],
179
+ ["mbupper" , 1, 1 ],
180
+ ["min" , 1, 127],
181
+ ["minsfromutc" , 0, 2 ],
182
+ ["minute" , 1, 1 ],
183
+ ["mon" , 1, 1 ],
184
+ ["monnum" , 1, 1 ],
185
+ ["moondate" , 1, 3 ],
186
+ ["moondatetime" , 1, 3 ],
187
+ ["moonphase" , 0, 2 ],
188
+ ["moonrise" , 0, 1 ],
189
+ ["moonrisedir" , 0, 1 ],
190
+ ["moonset" , 0, 1 ],
191
+ ["moonsetdir" , 0, 1 ],
192
+ ["moontime" , 1, 3 ],
193
+ ["multitrig" , 1, 127],
194
+ ["ndawn" , 0, 1 ],
195
+ ["ndusk" , 0, 1 ],
196
+ ["nonconst" , 1, 1 ],
197
+ ["nonomitted" , 2, 127],
198
+ ["now" , 0, 0 ],
199
+ ["ord" , 1, 1 ],
200
+ ["orthodoxeaster" , 0, 1 ],
201
+ ["ostype" , 0, 0 ],
202
+ ["pad" , 3, 4 ],
203
+ ["plural" , 1, 3 ],
204
+ ["psmoon" , 1, 4 ],
205
+ ["psshade" , 1, 3 ],
206
+ ["realcurrent" , 0, 0 ],
207
+ ["realnow" , 0, 0 ],
208
+ ["realtoday" , 0, 0 ],
209
+ ["rows" , 0, 0 ],
210
+ ["sgn" , 1, 1 ],
211
+ ["shell" , 1, 2 ],
212
+ ["shellescape" , 1, 1 ],
213
+ ["slide" , 2, 127],
214
+ ["soleq" , 1, 2 ],
215
+ ["stdout" , 0, 0 ],
216
+ ["strlen" , 1, 1 ],
217
+ ["substr" , 2, 3 ],
218
+ ["sunrise" , 0, 1 ],
219
+ ["sunset" , 0, 1 ],
220
+ ["time" , 2, 2 ],
221
+ ["timepart" , 1, 1 ],
222
+ ["timezone" , 0, 1 ],
223
+ ["today" , 0, 0 ],
224
+ ["trig" , 0, 127],
225
+ ["trigback" , 0, 0 ],
226
+ ["trigbase" , 0, 0 ],
227
+ ["trigcompletethrough", 0, 0 ],
228
+ ["trigdate" , 0, 0 ],
229
+ ["trigdatetime" , 0, 0 ],
230
+ ["trigdelta" , 0, 0 ],
231
+ ["trigduration" , 0, 0 ],
232
+ ["trigeventduration" , 0, 0 ],
233
+ ["trigeventstart" , 0, 0 ],
234
+ ["trigeventstarttz" , 0, 0 ],
235
+ ["trigfrom" , 0, 0 ],
236
+ ["trigger" , 1, 3 ],
237
+ ["triginfo" , 1, 1 ],
238
+ ["trigistodo" , 0, 0 ],
239
+ ["trigmaxoverdue" , 0, 0 ],
240
+ ["trigpriority" , 0, 0 ],
241
+ ["trigrep" , 0, 0 ],
242
+ ["trigscanfrom" , 0, 0 ],
243
+ ["trigtags" , 0, 0 ],
244
+ ["trigtime" , 0, 0 ],
245
+ ["trigtimedelta" , 0, 0 ],
246
+ ["trigtimerep" , 0, 0 ],
247
+ ["trigtimetz" , 0, 0 ],
248
+ ["trigtz" , 0, 0 ],
249
+ ["triguntil" , 0, 0 ],
250
+ ["trigvalid" , 0, 0 ],
251
+ ["typeof" , 1, 1 ],
252
+ ["tzconvert" , 2, 3 ],
253
+ ["upper" , 1, 1 ],
254
+ ["utctolocal" , 1, 1 ],
255
+ ["value" , 1, 2 ],
256
+ ["version" , 0, 0 ],
257
+ ["weekno" , 0, 3 ],
258
+ ["wkday" , 1, 1 ],
259
+ ["wkdaynum" , 1, 1 ],
260
+ ["year" , 1, 1 ],
261
+ ].freeze
262
+
263
+ # [name, modifiable, type, minimum, maximum]. Non-modifiable variables
264
+ # are readable but reject `SET`; the bounds are populated only for the
265
+ # integer-valued variables Remind range-checks.
266
+ SYSVAR_ROWS = [
267
+ ["AddBlankLines" , true , "INT_TYPE" , 0 , 1 ],
268
+ ["Ago" , true , "TRANS_TYPE" , nil , nil ],
269
+ ["Am" , true , "TRANS_TYPE" , nil , nil ],
270
+ ["And" , true , "TRANS_TYPE" , nil , nil ],
271
+ ["April" , true , "TRANS_TYPE" , nil , nil ],
272
+ ["At" , true , "TRANS_TYPE" , nil , nil ],
273
+ ["August" , true , "TRANS_TYPE" , nil , nil ],
274
+ ["CalcUTC" , true , "INT_TYPE" , 0 , 1 ],
275
+ ["CalMode" , false, "INT_TYPE" , nil , nil ],
276
+ ["CalType" , false, "STR_TYPE" , nil , nil ],
277
+ ["Daemon" , false, "INT_TYPE" , nil , nil ],
278
+ ["DateSep" , true , "SPECIAL_TYPE" , nil , nil ],
279
+ ["DateTimeSep" , true , "SPECIAL_TYPE" , nil , nil ],
280
+ ["December" , true , "TRANS_TYPE" , nil , nil ],
281
+ ["DedupeReminders" , true , "INT_TYPE" , 0 , 1 ],
282
+ ["DefaultColor" , true , "SPECIAL_TYPE" , nil , nil ],
283
+ ["DefaultDelta" , true , "INT_TYPE" , 0 , 10000],
284
+ ["DefaultPrio" , true , "INT_TYPE" , 0 , 9999 ],
285
+ ["DefaultTDelta" , true , "INT_TYPE" , nil , nil ],
286
+ ["DeltaOverride" , false, "INT_TYPE" , nil , nil ],
287
+ ["DontFork" , false, "INT_TYPE" , nil , nil ],
288
+ ["DontQueue" , false, "INT_TYPE" , nil , nil ],
289
+ ["DontTrigAts" , false, "INT_TYPE" , nil , nil ],
290
+ ["EndSent" , true , "STR_TYPE" , nil , nil ],
291
+ ["EndSentIg" , true , "STR_TYPE" , nil , nil ],
292
+ ["ExpressionTimeLimit" , true , "SPECIAL_TYPE" , nil , nil ],
293
+ ["February" , true , "TRANS_TYPE" , nil , nil ],
294
+ ["FirstIndent" , true , "INT_TYPE" , 0 , 132 ],
295
+ ["FoldYear" , true , "INT_TYPE" , 0 , 1 ],
296
+ ["FormWidth" , true , "INT_TYPE" , 20 , 500 ],
297
+ ["Friday" , true , "TRANS_TYPE" , nil , nil ],
298
+ ["Fromnow" , true , "TRANS_TYPE" , nil , nil ],
299
+ ["HideCompletedTodos" , false, "INT_TYPE" , nil , nil ],
300
+ ["Hour" , true , "TRANS_TYPE" , nil , nil ],
301
+ ["Hplu" , true , "STR_TYPE" , nil , nil ],
302
+ ["HushMode" , false, "INT_TYPE" , nil , nil ],
303
+ ["IgnoreOnce" , false, "INT_TYPE" , nil , nil ],
304
+ ["InfDelta" , false, "INT_TYPE" , nil , nil ],
305
+ ["IntMax" , false, "CONST_INT_TYPE", nil , nil ],
306
+ ["IntMin" , false, "CONST_INT_TYPE", nil , nil ],
307
+ ["Is" , true , "TRANS_TYPE" , nil , nil ],
308
+ ["January" , true , "TRANS_TYPE" , nil , nil ],
309
+ ["JSONMode" , false, "INT_TYPE" , nil , nil ],
310
+ ["July" , true , "TRANS_TYPE" , nil , nil ],
311
+ ["June" , true , "TRANS_TYPE" , nil , nil ],
312
+ ["LatDeg" , true , "SPECIAL_TYPE" , nil , nil ],
313
+ ["Latitude" , true , "SPECIAL_TYPE" , nil , nil ],
314
+ ["LatMin" , true , "SPECIAL_TYPE" , nil , nil ],
315
+ ["LatSec" , true , "SPECIAL_TYPE" , nil , nil ],
316
+ ["Location" , true , "STR_TYPE" , nil , nil ],
317
+ ["LongDeg" , true , "SPECIAL_TYPE" , nil , nil ],
318
+ ["Longitude" , true , "SPECIAL_TYPE" , nil , nil ],
319
+ ["LongMin" , true , "SPECIAL_TYPE" , nil , nil ],
320
+ ["LongSec" , true , "SPECIAL_TYPE" , nil , nil ],
321
+ ["March" , true , "TRANS_TYPE" , nil , nil ],
322
+ ["MaxCachedLines" , true , "INT_TYPE" , nil , nil ],
323
+ ["MaxFullOmits" , false, "CONST_INT_TYPE", nil , nil ],
324
+ ["MaxIncludeCmdLines" , true , "INT_TYPE" , nil , nil ],
325
+ ["MaxLateMinutes" , true , "INT_TYPE" , nil , nil ],
326
+ ["MaxLineLength" , true , "INT_TYPE" , nil , nil ],
327
+ ["MaxPartialOmits" , false, "CONST_INT_TYPE", nil , nil ],
328
+ ["MaxSatIter" , true , "INT_TYPE" , nil , nil ],
329
+ ["MaxStringLen" , true , "INT_TYPE" , nil , nil ],
330
+ ["May" , true , "TRANS_TYPE" , nil , nil ],
331
+ ["MinsFromUTC" , true , "INT_TYPE" , -780, 780 ],
332
+ ["Minute" , true , "TRANS_TYPE" , nil , nil ],
333
+ ["Monday" , true , "TRANS_TYPE" , nil , nil ],
334
+ ["Mplu" , true , "STR_TYPE" , nil , nil ],
335
+ ["NextMode" , false, "INT_TYPE" , nil , nil ],
336
+ ["November" , true , "TRANS_TYPE" , nil , nil ],
337
+ ["Now" , true , "TRANS_TYPE" , nil , nil ],
338
+ ["NumFullOmits" , false, "INT_TYPE" , nil , nil ],
339
+ ["NumPartialOmits" , false, "INT_TYPE" , nil , nil ],
340
+ ["NumQueued" , false, "INT_TYPE" , nil , nil ],
341
+ ["NumTrig" , false, "INT_TYPE" , nil , nil ],
342
+ ["October" , true , "TRANS_TYPE" , nil , nil ],
343
+ ["On" , true , "TRANS_TYPE" , nil , nil ],
344
+ ["OnceFile" , true , "SPECIAL_TYPE" , nil , nil ],
345
+ ["ParseUntriggered" , true , "INT_TYPE" , 0 , 1 ],
346
+ ["Pm" , true , "TRANS_TYPE" , nil , nil ],
347
+ ["PrefixLineNo" , false, "INT_TYPE" , nil , nil ],
348
+ ["PSCal" , false, "INT_TYPE" , nil , nil ],
349
+ ["Repeat" , false, "INT_TYPE" , nil , nil ],
350
+ ["RunOff" , false, "INT_TYPE" , nil , nil ],
351
+ ["Saturday" , true , "TRANS_TYPE" , nil , nil ],
352
+ ["September" , true , "TRANS_TYPE" , nil , nil ],
353
+ ["Shaded" , false, "INT_TYPE" , nil , nil ],
354
+ ["SimpleCal" , false, "INT_TYPE" , nil , nil ],
355
+ ["SortByDate" , false, "INT_TYPE" , nil , nil ],
356
+ ["SortByPrio" , false, "INT_TYPE" , nil , nil ],
357
+ ["SortByTime" , false, "INT_TYPE" , nil , nil ],
358
+ ["SubsIndent" , true , "INT_TYPE" , 0 , 132 ],
359
+ ["Sunday" , true , "TRANS_TYPE" , nil , nil ],
360
+ ["SuppressImplicitWarnings", true , "INT_TYPE" , 0 , 1 ],
361
+ ["SuppressLRM" , true , "INT_TYPE" , 0 , 1 ],
362
+ ["SysInclude" , false, "STR_TYPE" , nil , nil ],
363
+ ["T" , false, "SPECIAL_TYPE" , nil , nil ],
364
+ ["Tb" , false, "SPECIAL_TYPE" , nil , nil ],
365
+ ["Td" , false, "SPECIAL_TYPE" , nil , nil ],
366
+ ["TerminalBackground" , false, "SPECIAL_TYPE" , nil , nil ],
367
+ ["TerminalHyperlinks" , true , "INT_TYPE" , 0 , 1 ],
368
+ ["Thursday" , true , "TRANS_TYPE" , nil , nil ],
369
+ ["TimeSep" , true , "SPECIAL_TYPE" , nil , nil ],
370
+ ["TimetIs64bit" , false, "SPECIAL_TYPE" , nil , nil ],
371
+ ["Tm" , false, "SPECIAL_TYPE" , nil , nil ],
372
+ ["Today" , true , "TRANS_TYPE" , nil , nil ],
373
+ ["TodoFilter" , false, "INT_TYPE" , nil , nil ],
374
+ ["Tomorrow" , true , "TRANS_TYPE" , nil , nil ],
375
+ ["Tt" , false, "SPECIAL_TYPE" , nil , nil ],
376
+ ["Tu" , false, "SPECIAL_TYPE" , nil , nil ],
377
+ ["Tuesday" , true , "TRANS_TYPE" , nil , nil ],
378
+ ["Tw" , false, "SPECIAL_TYPE" , nil , nil ],
379
+ ["Ty" , false, "SPECIAL_TYPE" , nil , nil ],
380
+ ["U" , false, "SPECIAL_TYPE" , nil , nil ],
381
+ ["Ud" , false, "SPECIAL_TYPE" , nil , nil ],
382
+ ["Um" , false, "SPECIAL_TYPE" , nil , nil ],
383
+ ["UntimedFirst" , false, "INT_TYPE" , nil , nil ],
384
+ ["Use256Colors" , false, "INT_TYPE" , nil , nil ],
385
+ ["UseBGVTColors" , false, "INT_TYPE" , nil , nil ],
386
+ ["UseTrueColors" , false, "INT_TYPE" , nil , nil ],
387
+ ["UseVTColors" , false, "INT_TYPE" , nil , nil ],
388
+ ["Uw" , false, "SPECIAL_TYPE" , nil , nil ],
389
+ ["Uy" , false, "SPECIAL_TYPE" , nil , nil ],
390
+ ["WarningLevel" , true , "SPECIAL_TYPE" , nil , nil ],
391
+ ["Was" , true , "TRANS_TYPE" , nil , nil ],
392
+ ["Wednesday" , true , "TRANS_TYPE" , nil , nil ],
393
+ ].freeze
394
+ end
395
+ end