diakonos 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,172 @@
1
+ Diakonos Changelog
2
+ ------------------
3
+
4
+ 0.8.3
5
+
6
+ - Extended ASCII characters (128 to 254) are now typeable.
7
+ - Added elsif as a Ruby unindenter.
8
+ - Significant internal refactoring.
9
+ - First working rubygem.
10
+ - Added HAML syntax highlighting.
11
+ - Configuration can now be downloaded from the Internet if missing.
12
+ - Updated README and changed setup.rb installation method.
13
+
14
+ 0.8.2
15
+
16
+ - Added ability to use ';' in keychains.
17
+ - Added the printKeychain command.
18
+ - Augmented default conf to include some KDE 3.5 konsole keychains for common keys.
19
+ - Added use_magic_file setting; default to off.
20
+ - Added a clipboard/selected diff keybinding.
21
+
22
+ 0.8.1
23
+
24
+ - Added choice prompt iteration.
25
+ - Added a cursor stack for jumping back and forth between recently visited locations in the buffer.
26
+ - Introduced cursorReturn command (to move through the cursor stack).
27
+ - replaceAll now sets modified flag.
28
+ - Speed of many multi-line operations improved.
29
+ - Fixed parsedIndent logic in cases of adjacent indenter and unindenter.
30
+ - goToLine command now supports a column argument.
31
+ - goToLine command's line and column argument are now both optional.
32
+ - goToLine also takes a +/- number of lines argument.
33
+ - Added case sensitivity parameter to find command; defaults to case-insensitive.
34
+ - Added operateOnString, operateOnLines, operateOnEachLine.
35
+
36
+ 0.8.0
37
+
38
+ - Changed seek behaviour to use regexp group indexes.
39
+ - Changed "word seek" in configuration file to seek both word beginnings and word endings.
40
+ - Added settings interaction.blink_string, interaction.blink_duration, interaction.choice_delay.
41
+ - Choice prompt no longer coerces invalid choices.
42
+ - Choice prompt now requires a valid choice if no default given.
43
+ - Default choice removed from critical choices.
44
+ - Critical choices now ignore user input for interaction.choice_delay seconds.
45
+ - Added hooks.
46
+ - Added toggleSelection command.
47
+ - Added lang.*.indent.using_tabs.
48
+ - Fixed some indentation and tab-related bugs.
49
+ - Added YAML syntax highlighting.
50
+ - Refactored lots of code and began using unit tests.
51
+ - Minor default conf additions and modifications.
52
+ - Added fstab definitions to default conf.
53
+ - Diff now shown before revert prompt.
54
+ - Bang line must start with #! to be considered as a bang line (re: bangmasks).
55
+ - Added a collapseWhitespace command.
56
+
57
+ 0.7.9
58
+
59
+ - Changed seek behaviour to not remember last position, but use current cursor
60
+ position instead.
61
+ - File is now checked for external modifications, prompting for load.
62
+ - Added -e, --execute option which eval's Ruby code (including Diakonos commands) after startup.
63
+ - Paging up and down now respects the y cursor margin.
64
+ - Paging up and down now keeps cursor at same screen coordinates.
65
+ - Settings can now be altered for the duration of the editing session.
66
+ (new commands: changeSessionSetting, toggleSessionSetting)
67
+
68
+ 0.7.8
69
+
70
+ - Included package.rb and setup.rb for installation.
71
+ - Now looks for conf in more directories.
72
+ - Updated README.
73
+ - Added pasteShellResult function.
74
+ - Added $c shell variable: file containing clipboard contents.
75
+ - Added $s shell variable: file containing selected text.
76
+ - Fixed buffer switching to use a proper stack.
77
+ - Added input line history.
78
+ - Added Ctrl-K to clear input line.
79
+
80
+ 0.7.7
81
+
82
+ - Fixed various find-related bugs.
83
+ - Added the command deleteAndStoreLine, which accumulates cut lines into
84
+ the same clipboard clip.
85
+
86
+ 0.7.6
87
+
88
+ - Added some crontab highlighting to the default configuration file.
89
+ - Added "delete character" functionality to input line.
90
+ - Fixed backspace functionality of input line.
91
+
92
+ 0.7.5
93
+
94
+ - Fixed bug which stopped Diakonos from completing refresh operations when
95
+ the context line is disabled.
96
+ - Added execute command, which executes a command in a subshell, but only
97
+ displays the return code (ignores stdout).
98
+ - Added a $F parameter for shell and execute commands. Space-separated list
99
+ of all current buffer filenames.
100
+ - Added a $i parameter for shell and execute commands. Substitute a string
101
+ obtained from user.
102
+ - /usr/share/diakonos is now checked for a config file, if
103
+ /usr/local/share/diakonos is not found.
104
+ - findAgain command now also retains memory across buffers, if needed.
105
+
106
+ 0.7.4
107
+
108
+ - Prevent attempts to open non-files.
109
+ - Fixed saveFileAs bug which saved the wrong file when tab-completion was used
110
+ in the filename prompt.
111
+ - Fixed bug in tab completion: Directories are now completed properly and their
112
+ contents are listed.
113
+
114
+ 0.7.3
115
+
116
+ - Fixed function-argument duplication bug which occurs after Help is consulted.
117
+ - Updated default conf file to include CSS and modifications to "conf" format
118
+ and the ruby format.
119
+ - Added display debug logging.
120
+ - Fixed off-screen drawing bug.
121
+ - Fixed on-startup drawing bug.
122
+ - Minor conf file additions and changes, including PHP and PL/pgSQL support.
123
+
124
+ 0.7.2
125
+
126
+ - Fixed a drawing bug to do with long lines and screens wider than 80
127
+ columns.
128
+ - Added support for specifying any numeric keycode as a keystroke.
129
+ - Added a suspend command, to suspend the Diakonos process/job to background
130
+ and return to the shell.
131
+ - Altered drawing code a bit re: the shell and suspend commands.
132
+ - Fixed "view.jump.* 0" bug.
133
+ - Fixed copy/cut bug for selections starting or ending in columns besides
134
+ the left-most column.
135
+
136
+ 0.7.1
137
+
138
+ - The openFile command now uses /usr/bin/file (if available) to check if the
139
+ file is readable (text), prompting to confirm open if it isn't.
140
+ - Fixed popTag bug where popping from an empty stack caused an exception.
141
+ - The seek command now no longer (incorrectly) cancels text selection.
142
+ - Drawing bugs fixed (to do with illegal off-screen drawing).
143
+ - Added the ability to use \n in searches, to match across lines.
144
+
145
+ 0.7.0
146
+
147
+ - Adjusted buffer management system so that, internally, absolute file paths
148
+ are used.
149
+ - Added limited (line-number-based) ctags support. Commands: goToTag,
150
+ goToTagUnderCursor, popTag.
151
+ - Fixed revert command bug.
152
+ - Added an evaluate command, which lets you run any Diakonos command.
153
+ - Fixed display bug where Diakonos errors (Ruby exceptions) would ruin the
154
+ curses display.
155
+ - Malformed regular expressions given for regexp searching are now searched
156
+ for as literal text, instead of just throwing an error.
157
+ - Keychains that have no assignment are now shown in full on the interaction
158
+ line.
159
+ - Error message for some caught exceptions now includes a listing of probable
160
+ causes.
161
+
162
+ 0.6.13
163
+
164
+ - Fixed the bug where searching backwards from the start of a line will cause
165
+ the search to start from the end of the line, instead of from the end of the
166
+ next line up.
167
+ - Added a "seek" command, which is a sort of silent find. Used for
168
+ implementing features like go to next word and previous word.
169
+ - Adjusted default conf file to include alternate ANSI sequences for function
170
+ keys.
171
+ - Context line truncation now omits the more proximate code, not the less
172
+ proximate code.
data/README ADDED
@@ -0,0 +1,75 @@
1
+ Diakonos
2
+
3
+ ========
4
+
5
+
6
+ INSTALLATION
7
+ ============
8
+
9
+ There are three ways to install Ruby:
10
+ - by rubygems (recommended)
11
+ - by setup.rb
12
+ - manual file copy
13
+
14
+ Installing via Rubygems
15
+ -----------------------
16
+
17
+ Since version 0.8.3, this is the recommended way of installing Diakonos.
18
+ Run the following command as a user with appropriate permissions:
19
+
20
+ gem install diakonos
21
+
22
+ Intalling using setup.rb
23
+ ------------------------
24
+
25
+ First obtain the diakonos tarball. This can be found at
26
+ http://purepistos.net/diakonos . Unpack the tarball somewhere.
27
+ cd into the unpacked directory.
28
+
29
+ To install, run
30
+
31
+ ruby setup.rb
32
+
33
+ If you want to set options like the installation directories:
34
+
35
+ ruby setup.rb --help
36
+
37
+ By default, the installer copies bin/diakonos into a system-wide bin directory,
38
+ such as /usr/bin; and copies lib/* into the system-wide ruby library path,
39
+ such as /usr/lib/ruby/site_ruby/1.8 . You may need root priveleges on the
40
+ system in order to install to system-wide places like /usr/bin .
41
+
42
+ Installing by Manual Copy
43
+ -------------------------
44
+
45
+ First obtain the diakonos tarball. This can be found at
46
+ http://purepistos.net/diakonos .
47
+
48
+ To manually install, copy the contents of the lib directory into some place
49
+ where Ruby searches for libraries. The bin/diakonos program can be run from
50
+ anywhere, such as ~/bin/ or /usr/local/bin/.
51
+
52
+ ----------------------------------------------------------------
53
+
54
+ USAGE
55
+ =====
56
+
57
+ diakonos
58
+
59
+ or
60
+
61
+ diakonos <filename> [filename...]
62
+
63
+ or, for other options and arguments,
64
+
65
+ diakonos --help
66
+
67
+ For a quick introduction, see
68
+
69
+ http://wiki.purepistos.net/doku.php?id=Diakonos:Getting-Started
70
+
71
+ Send comments, feedback and tech support requests to
72
+ irc.freenode.net:6667#mathetes or http://purepistos.net/forums .
73
+
74
+ Pistos
75
+ http://purepistos.net/diakonos
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'diakonos'
4
+
5
+ $diakonos = Diakonos::Diakonos.new( ARGV )
6
+ $diakonos.start
@@ -0,0 +1,960 @@
1
+ logfile ~/.diakonos/diakonos.log
2
+
3
+ # When the cursor is view.margin.y lines or less from the top or
4
+ # bottom line, repeatedly scroll the screen view.jump.y lines until
5
+ # the cursor is more than view.margin.y lines from the top and
6
+ # bottom line.
7
+ # Similarly for view.margin.x and view.jump.x, with respect to the
8
+ # left-most and right-most screen columns.
9
+ view.margin.x 10
10
+ view.margin.y 5
11
+ view.jump.x 10
12
+ view.jump.y 5
13
+ view.scroll_amount 1
14
+ view.lookback 200
15
+ view.nonfilelines.visible false
16
+ view.nonfilelines.character ~
17
+ view.wrap.visual true
18
+
19
+ # bol_behaviour: This specifies where the cursor should go when the
20
+ # beginning-of-line key (the default is the Home key) is pressed.
21
+ # zero: Always move to the left-most column of the line
22
+ # first-char: Always move to the left-most non-whitespace character
23
+ # alternating-zero: As with 'zero', unless the cursor is
24
+ # already there, in which case, as with 'first-char'.
25
+ # alternating-first-char: As with 'first-char', unless the cursor is
26
+ # already there, in which case, as with 'zero'.
27
+ # bol_behavior is a synonym for bol_behaviour.
28
+ bol_behaviour alternating-first-char
29
+
30
+ # Ensures saved files end with a newline character by adding it if necessary.
31
+ eof_newline false
32
+
33
+ # Specifies whether the cursor should be at the end (false) of found text, or the
34
+ # beginning (true).
35
+ found_cursor_start false
36
+
37
+ max_clips 30
38
+
39
+ # The maximum number of undo lines held in memory per file
40
+ # Smaller files will be able to have more undo levels.
41
+ max_undo_lines 100000
42
+
43
+ convert_tabs false
44
+
45
+ diff_command diff -U 5
46
+
47
+ # Whether or not to use /usr/bin/file to determine whether files are readable
48
+ # before opening them.
49
+ use_magic_file false
50
+
51
+ # ---------------------------------------------------------------------
52
+ # Status Line
53
+
54
+ # Use "% syntax" as placeholders
55
+ # e.g. %d for decimal integers, %s for strings
56
+ status.left -- %s %s%s%s -- (%s) -
57
+ status.right - Buf %d of %d --- L%3d/%3d C%2d --
58
+ # The string to use to fill in the space between the left and right sides
59
+ # of the status line.
60
+ status.filler -
61
+ status.modified_str (modified)
62
+ status.selecting_str (selecting)
63
+ status.unnamed_str (unnamed file)
64
+ status.read_only_str (read-only)
65
+ # status.vars: any subset of:
66
+ # line row num_lines col filename modified type buffer_number num_buffers selecting read_only
67
+ status.vars filename modified read_only selecting type buffer_number num_buffers row num_lines col
68
+ status.format inverse
69
+
70
+ # ---------------------------------------------------------------------
71
+ # Context Line
72
+
73
+ # The context line shows the wrapping context of the cursor, with respect to
74
+ # indentation. This shows the current code block(s) that the cursor is in.
75
+
76
+ context.visible false
77
+ context.combined false
78
+ context.max_levels 4
79
+ context.format inverse
80
+ context.separator |
81
+ context.separator.format red inverse
82
+ #context.max_segment_width 10
83
+
84
+ # ---------------------------------------------------------------------
85
+ # Interaction Line
86
+
87
+ # Duration of "alert" blink (in seconds) when user has made an invalid choice
88
+ interaction.blink_duration 0.05
89
+ interaction.blink_string ***********************************************************
90
+ # Time to wait (in seconds) before accepting user keystrokes when prompting for
91
+ # a choice which has no default
92
+ interaction.choice_delay 3
93
+
94
+ # ---------------------------------------------------------------------
95
+ # Key Configuration
96
+ # key <keystroke> [<keystroke>...];<function> [<arg>[,<arg>...]]
97
+ # If no function is specified, it unmaps any previous mapping.
98
+ # i.e. key <keystroke> [<keystroke>...];
99
+ # <keystroke> can be "keycode##" to specify specific keycodes.
100
+ # e.g. key keycode8;delete
101
+ # Note the lack of space after the word keycode.
102
+
103
+ # To obtain the string to use for any keychain, use the printKeychain command
104
+ # (default alt+k).
105
+
106
+ # The shell, execute and pasteShellResult commands can take variables:
107
+
108
+ # $f current buffer's filepath
109
+ # $F all current buffer filepaths, space-separated
110
+ # $i get a string from user input
111
+ # $c temp file containing current clipboard text
112
+ # $s temp file containing currently selected text
113
+
114
+ key left;cursorLeft
115
+ key esc [ D;cursorLeft
116
+ key right;cursorRight
117
+ key esc [ C;cursorRight
118
+ key up;cursorUp
119
+ key esc [ A;cursorUp
120
+ key down;cursorDown
121
+ key esc [ B;cursorDown
122
+ key home;cursorBOL
123
+ key esc O H;cursorBOL
124
+ key esc [ H;cursorBOL
125
+ key esc [ 1 ~ cursorBOL
126
+ key end;cursorEOL
127
+ key esc O F;cursorEOL
128
+ key esc [ F;cursorEOL
129
+ key esc [ 4 ~;cursorEOL
130
+ key pageup;pageUp
131
+ key pagedown;pageDown
132
+ key ctrl+a;cursorBOL
133
+ key ctrl+e;cursorEOL
134
+ key alt+<;cursorBOF
135
+ key alt+>;cursorEOF
136
+ key alt+,;cursorTOV
137
+ key alt+.;cursorBOV
138
+ key ctrl+j;cursorReturn
139
+ key ctrl+l;cursorReturn "forward"
140
+ key alt+n;scrollDown
141
+ key alt+p;scrollUp
142
+ key esc up;scrollUp
143
+ key esc [ 1 ; 3 A scrollUp
144
+ key esc [ 1 ; 5 A scrollUp
145
+ key keycode520 scrollUp
146
+ key esc down;scrollDown
147
+ key esc [ 1 ; 3 B scrollDown
148
+ key esc [ 1 ; 5 B scrollDown
149
+ key keycode513 scrollDown
150
+ key esc right;seek /(?:^|\W)(\w)|\w(\W|$)/
151
+ key esc [ 1 ; 3 C seek /\w(\W|$)|(?:^|\W)(\w)/
152
+ key esc [ 1 ; 5 C seek /\w(\W|$)|(?:^|\W)(\w)/
153
+ key keycode517 seek /\w(\W|$)|(?:^|\W)(\w)/
154
+ key esc left;seek /\w(\W|$)|(?:^|\W)(\w)/, "up"
155
+ key esc [ 1 ; 3 D seek /\w(\W|$)|(?:^|\W)(\w)/, "up"
156
+ key esc [ 1 ; 5 D seek /\w(\W|$)|(?:^|\W)(\w)/, "up"
157
+ key keycode515 seek /\w(\W|$)|(?:^|\W)(\w)/, "up"
158
+
159
+ key ctrl+g;goToLineAsk
160
+ key alt+b alt+b;toggleBookmark
161
+ key alt+b alt+n;goToNextBookmark
162
+ key alt+b alt+p;goToPreviousBookmark
163
+ key alt+b alt+a;addNamedBookmark
164
+ key alt+b alt+r;removeNamedBookmark
165
+ key alt+b alt+g;goToNamedBookmark
166
+ key alt+b alt+!;addNamedBookmark 1
167
+ key alt+b alt+@;addNamedBookmark 2
168
+ key alt+b alt+#;addNamedBookmark 3
169
+ key alt+b alt+$;addNamedBookmark 4
170
+ key alt+b alt+%;addNamedBookmark 5
171
+ key alt+b alt+1;goToNamedBookmark 1
172
+ key alt+b alt+2;goToNamedBookmark 2
173
+ key alt+b alt+3;goToNamedBookmark 3
174
+ key alt+b alt+4;goToNamedBookmark 4
175
+ key alt+b alt+5;goToNamedBookmark 5
176
+ key alt+t;goToTag
177
+ key alt+);goToTagUnderCursor
178
+ key alt+(;popTag
179
+
180
+ key backspace;backspace
181
+ key ctrl+h;backspace
182
+ key del;delete
183
+ #key ctrl+k;deleteLine
184
+ key ctrl+k;deleteAndStoreLine
185
+ key ctrl+alt+k;deleteToEOL
186
+ key esc del;collapseWhitespace
187
+ key esc [ 3 ; 3 ~ collapseWhitespace
188
+ key enter;carriageReturn
189
+ key tab;parsedIndent
190
+ #key tab;indent
191
+ #key ctrl+alt+l;unindent
192
+ key alt+i;indent
193
+ key esc i;indent
194
+ key esc I;unindent
195
+ key keycode353 unindent
196
+ #key tab;insertSpaces 4
197
+ #key tab;insertTab
198
+ key ctrl+t;insertTab
199
+
200
+ key f1 help
201
+ key esc O P help
202
+ key esc [ 1 1 ~ help
203
+ key esc [ [ A help
204
+ key f11;loadConfiguration
205
+ key esc [ 2 3 ~;loadConfiguration
206
+ key f12;openFile "~/.diakonos/diakonos.conf"
207
+ key esc [ 2 4 ~;openFile "~/.diakonos/diakonos.conf"
208
+
209
+ key ctrl+alt+r;redraw
210
+ key esc C;toggleSessionSetting 'context.visible', DO_REDRAW
211
+ key ctrl+alt+d;toggleSessionSetting 'display'
212
+ key esc W;toggleSessionSetting 'view.wrap.visual', DO_REDRAW
213
+
214
+ key ctrl+n;newFile
215
+ key ctrl+o;openFileAsk
216
+ key ctrl+s;saveFile
217
+ key alt+s;saveFileAs
218
+ key ctrl+w;closeFile
219
+ key ctrl+alt+o;revert
220
+ key alt+!;setReadOnly
221
+ key ctrl+q;quit
222
+ key esc T;setBufferType
223
+
224
+ key alt+1;switchToBufferNumber 1
225
+ key alt+2;switchToBufferNumber 2
226
+ key alt+3;switchToBufferNumber 3
227
+ key alt+4;switchToBufferNumber 4
228
+ key alt+5;switchToBufferNumber 5
229
+ key alt+6;switchToBufferNumber 6
230
+ key alt+7;switchToBufferNumber 7
231
+ key alt+8;switchToBufferNumber 8
232
+ key alt+9;switchToBufferNumber 9
233
+ key alt+0;switchToBufferNumber 10
234
+ key alt+-;switchToPreviousBuffer
235
+ key alt+=;switchToNextBuffer
236
+
237
+ key ctrl+space;anchorSelection
238
+ #key ctrl+space;toggleSelection
239
+ key ctrl+c;copySelection
240
+ key ctrl+x;cutSelection
241
+ key alt+u;removeSelection
242
+ key ctrl+alt+v;showClips
243
+ key ctrl+v;paste
244
+ key ctrl+y;unundo
245
+ key ctrl+z;undo
246
+ #key ctrl+z;suspend
247
+ key suspend;undo
248
+ #key suspend;suspend
249
+
250
+ key ctrl+f;find
251
+ #key ctrl+f;find "down", CASE_SENSITIVE
252
+ key alt+f;find "down", CASE_SENSITIVE
253
+ #key alt+f;findExact
254
+ key ctrl+alt+f;find "up"
255
+ #key ctrl+alt+f;find "up", CASE_SENSITIVE
256
+ key f3;findAgain "down"
257
+ key esc [ [ C findAgain "down"
258
+ key esc O R;findAgain "down"
259
+ key esc [ 1 3 ~;findAgain "down"
260
+ key f15;findAgain "up"
261
+ key esc [ 2 8 ~ findAgain "up"
262
+ key esc O 2 R;findAgain "up"
263
+ key ctrl+r;searchAndReplace
264
+ key ctrl+alt+u;clearMatches
265
+
266
+ key f2 shell
267
+ key esc O Q shell
268
+ key esc [ 1 2 ~ shell
269
+ key esc [ [ B shell
270
+ key f8;execute
271
+ key esc F;execute "glark '$i' $F | less"
272
+ key esc d shell "diff -U 5 -w -b $c $s"
273
+ #key esc F;shell "grep -n '$i' $F"
274
+ #key esc F;execute "grep -n '$i' $F | less"
275
+ key f14 evaluate
276
+ key esc O 2 Q evaluate
277
+ esc [ 2 6 ~ evaluate
278
+ key ctrl+alt+c;shell "ruby -c $f"
279
+ key ctrl+alt+d;shell "php -l $f"
280
+
281
+ # To use the following:
282
+ # 1) Copy to the clipboard some Ruby code which operates on stdin text and outputs to stdout.
283
+ # 2) Select (highlight) some text to operate on.
284
+ # 3) Activate this pasteShellResult command.
285
+ # 4) The selected text should now be replaced with the script's results.
286
+ key ctrl+alt+p;pasteShellResult "cat $s | ruby $c"
287
+ #key ctrl+alt+p;pasteShellResult "cat $s | perl $c"
288
+ #key ctrl+alt+p;pasteShellResult "cat $s | python $c"
289
+ #key ctrl+alt+p;pasteShellResult "cat $s | sed -f $c"
290
+ #key ctrl+alt+p;pasteShellResult "cat $s | awk -f $c"
291
+
292
+ key alt+k printKeychain
293
+ key alt+m;toggleMacroRecording
294
+ key f4 playMacro
295
+ key esc O S playMacro
296
+ key esc [ 1 4 ~ playMacro
297
+ key esc [ [ D playMacro
298
+ key f5 loadScript
299
+ key esc [ 1 5 ~ loadScript
300
+ key esc [ [ E loadScript
301
+ key f6;repeatLast
302
+ key esc [ 1 7 ~;repeatLast
303
+ key f7;operateOnEachLine
304
+ key f19;operateOnString
305
+ key esc f7;operateOnLines
306
+
307
+ # Emacs-like keychains
308
+
309
+ #key ctrl+s;find
310
+ #key ctrl+x ctrl+c;quit
311
+ #key ctrl+x ctrl+f;openFileAsk
312
+ #key ctrl+x ctrl+s;saveFile
313
+
314
+ # ---------------------------------------------------------------------
315
+ # Colour Definitions
316
+ #
317
+ # colour <integer greater than 7> <foreground colour> <background colour>
318
+ #
319
+ # For a list of colour names, see the list of format codes in the
320
+ # Language Definitions section, below.
321
+ # This colour command is only used when you want to set a different background
322
+ # colour than the terminal default.
323
+ #
324
+ # color is a synonym for colour.
325
+ colour 8 white blue
326
+ colour 9 white red
327
+ colour 10 white magenta
328
+ colour 11 yellow blue
329
+ colour 12 white green
330
+ colour 13 white brown
331
+ colour 14 black cyan
332
+ colour 15 yellow red
333
+
334
+ # ---------------------------------------------------------------------
335
+ # Language Definitions
336
+ # For syntax highlighting and indentation.
337
+
338
+ # lang.<language>.tokens.<any name>[.case_insensitive] <regexp with one pair of parentheses identifying the token>
339
+ # lang.<language>.tokens.<any name>.format <format codes>
340
+ # <format codes> can be any subset of:
341
+ # normal black red green brown blue magenta cyan white standout underline inverse blink dim bold
342
+ # The numbers of colour pairs (as defined by the configuration command "colour")
343
+ # can also be used as format codes.
344
+ #
345
+ # indent.roundup: If a line's indentation is not evenly divisible by the
346
+ # indent.size, and indent.roundup is true, then the non-integer indentation
347
+ # level will be rounded up. If indent.roundup is false, then it will be
348
+ # rounded down.
349
+ # e.g. given an indent.size of 4, and a line with 6 spaces, indent.roundup
350
+ # true will make Diakonos consider the line indented 2 levels. With
351
+ # indent.roundup false, it will be considered indented 1 level.
352
+ #
353
+ # The filemask can also be used to specify specific filenames which
354
+ # don't conform to the standard extensions for a language.
355
+
356
+ # Text (default)
357
+
358
+ lang.text.format.default white
359
+ lang.text.format.selection inverse
360
+ lang.text.format.found yellow inverse
361
+ lang.text.indent.size 2
362
+ lang.text.indent.auto true
363
+ lang.text.indent.roundup false
364
+ #lang.text.indent.using_tabs true
365
+ lang.text.tabsize 8
366
+
367
+ lang.xml.filemask \.(xml|rdl|aiml|xhtml)$
368
+ lang.xml.format.default white
369
+ lang.xml.format.selection inverse
370
+ lang.xml.format.found yellow inverse
371
+ lang.xml.tabsize 8
372
+ lang.xml.indent.size 4
373
+ lang.xml.indent.auto true
374
+ lang.xml.indent.roundup true
375
+ #lang.xml.indent.using_tabs true
376
+ lang.xml.tokens.entities &\S+?;
377
+ lang.xml.tokens.entities.format magenta bold
378
+ lang.xml.tokens.code.open (<)(?:[^%]|$)
379
+ lang.xml.tokens.code.close (?:[^%]|^)(>)
380
+ lang.xml.tokens.code.format white bold
381
+ lang.xml.tokens.code.change_to xml_tag
382
+ lang.xml.tokens.comments.open (<!--)
383
+ lang.xml.tokens.comments.close (-->)
384
+ lang.xml.tokens.comments.format 8
385
+ lang.xml.tokens.comments.change_to xml_comment
386
+ lang.xml.tokens.template.open \[@--
387
+ lang.xml.tokens.template.close --@\]
388
+ lang.xml.tokens.template.format brown
389
+ lang.xml.tokens.template.change_to perl
390
+ lang.xml_tag.format.default white bold
391
+ lang.xml_tag.format.selection inverse
392
+ lang.xml_tag.format.found yellow inverse
393
+ lang.xml_tag.tabsize 8
394
+ lang.xml_tag.indent.size 4
395
+ lang.xml_tag.indent.auto true
396
+ lang.xml_tag.indent.roundup true
397
+ #lang.xml_tag.indent.using_tabs true
398
+ lang.xml_tag.tokens.doublequoted_strings (\".*?[^\\]\")
399
+ lang.xml_tag.tokens.doublequoted_strings.format green bold
400
+ lang.xml_tag.tokens.singlequoted_strings ('.*?[^\\]')
401
+ lang.xml_tag.tokens.singlequoted_strings.format green bold
402
+ lang.xml_tag.tokens.symbols ([@!#$%^&*()\[\]{}/?=+\-\\|,<.>;:])
403
+ lang.xml_tag.tokens.symbols.format white
404
+ lang.xml_comment.format.default 8
405
+ lang.xml_comment.format.selection inverse
406
+ lang.xml_comment.format.found yellow inverse
407
+ lang.xml_comment.tabsize 8
408
+ lang.xml_comment.indent.size 4
409
+ lang.xml_comment.indent.auto true
410
+ lang.xml_comment.indent.roundup true
411
+ #lang.xml_comment.indent.using_tabs true
412
+
413
+ lang.html.filemask \.(r?html?|php|asp)$
414
+ lang.html.format.default white
415
+ lang.html.format.selection inverse
416
+ lang.html.format.found yellow inverse
417
+ lang.html.tabsize 8
418
+ lang.html.indent.size 4
419
+ lang.html.indent.auto true
420
+ lang.html.indent.roundup true
421
+ #lang.html.indent.using_tabs true
422
+ lang.html.tokens.code.open (<)(?:[^%]|$)
423
+ lang.html.tokens.code.close (?:[^%]|^)(>)
424
+ lang.html.tokens.code.format white bold
425
+ lang.html.tokens.code.change_to html_tag
426
+ lang.html.tokens.entities &\S+?;
427
+ lang.html.tokens.entities.format magenta bold
428
+ lang.html.tokens.eruby.open <%
429
+ lang.html.tokens.eruby.close %>
430
+ lang.html.tokens.eruby.format 9 bold
431
+ lang.html.tokens.eruby.change_to ruby
432
+ lang.html.tokens.php.open <\?(?:php)?
433
+ lang.html.tokens.php.close \?>
434
+ lang.html.tokens.php.format 10 bold
435
+ lang.html.tokens.php.change_to php
436
+ lang.html.tokens.comments.open (<!--)
437
+ lang.html.tokens.comments.close (-->)
438
+ lang.html.tokens.comments.format 8
439
+ lang.html.tokens.comments.change_to html_comment
440
+ lang.html_tag.format.default white bold
441
+ lang.html_tag.format.selection inverse
442
+ lang.html_tag.format.found yellow inverse
443
+ lang.html_tag.tabsize 8
444
+ lang.html_tag.indent.size 4
445
+ lang.html_tag.indent.auto true
446
+ lang.html_tag.indent.roundup true
447
+ #lang.html_tag.indent.using_tabs true
448
+ lang.html_tag.tokens.attribute (href)
449
+ lang.html_tag.tokens.attribute.format green bold
450
+ lang.html_tag.tokens.elements.case_insensitive \b(A|ABBR|ACRONYM|ADDRES|APPLET|AREA|B|BASE|BASEFONT|BDO|BIG|BLOCKQUOTE|BODY|BR|BUTTON|CAPTION|CENTER|CITE|CODE|COL|COLGROUP|DD|DEL|DFN|DIR|DIV|DL|DT|EM|FIELDSET|FONT|FORM|FRAME|FRAMESET|H1|H2|H3|H4|H5|H6|HEAD|HR|HTML|I|IFRAME|IMG|INPUT|INS|ISINDEX|KBD|LABEL|LEGEND|LI|LINK|MAP|MENU|META|NOFRAMES|NOSCRIPT|OBJECT|OL|OPTGROUP|OPTION|P|PARAM|PRE|Q|S|SAMP|SCRIPT|SELECT|SMALL|SPAN|STRIKE|STRONG|STYLE|SUB|SUP|TABLE|TBODY|TD|TEXTAREA|TFOOT|TH|THEAD|TITLE|TR|TT|U|UL|VA)\b
451
+ lang.html_tag.tokens.elements.format cyan
452
+ lang.html_tag.tokens.attributes.case_insensitive \b(abbr|accept-charset|accept|accesskey|action|align|alink|alt|archive|axis|background|bgcolor|border|cellpadding|cellspacing|char|charoff|charset|checked|cite|class|classid|clear|code|codebase|codetype|color|cols|colspan|compact|content|coords|data|datetime|declare|defer|dir|disabled|enctype|face|for|frame|frameborder|headers|height|href|href|hreflang|hspace|http-equiv|id|ismap|label|lang|language|link|longdesc|marginheight|marginwidth|maxlength|media|method|multiple|name|nohref|noresize|noshade|nowrap|object|onblur|onchange|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onload|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onreset|onselect|onsubmit|onunload|profile|prompt|readonly|rel|rev|rows|rowspan|rules|scheme|scope|scrolling|selected|shape|size|span|src|standby|start|style|summary|tabindex|target|text|title|type|usemap|valign|value|valuetype|version|vlink|vspace|width)\b
453
+ lang.html_tag.tokens.attributes.format white
454
+ lang.html_tag.tokens.doublequoted_strings (\".*?[^\\]\")
455
+ lang.html_tag.tokens.doublequoted_strings.format green bold
456
+ lang.html_tag.tokens.singlequoted_strings ('.*?[^\\]')
457
+ lang.html_tag.tokens.singlequoted_strings.format green bold
458
+ lang.html_tag.tokens.symbols ([@!#$%^&*()\[\]{}/?=+\-\\|,<.>;:])
459
+ lang.html_tag.tokens.symbols.format white
460
+ lang.html_comment.format.default 8
461
+ lang.html_comment.format.selection inverse
462
+ lang.html_comment.format.found yellow inverse
463
+ lang.html_comment.tabsize 8
464
+ lang.html_comment.indent.size 4
465
+ lang.html_comment.indent.auto true
466
+ lang.html_comment.indent.roundup true
467
+ #lang.html_comment.indent.using_tabs true
468
+
469
+ # CSS
470
+
471
+ lang.css.filemask \.css$
472
+ lang.css.format.default white
473
+ lang.css.format.selection inverse
474
+ lang.css.format.found yellow inverse
475
+ lang.css.tabsize 8
476
+ lang.css.indent.size 4
477
+ lang.css.indent.auto true
478
+ lang.css.indent.roundup true
479
+ #lang.css.indent.using_tabs true
480
+ lang.css.indent.indenters (\{)
481
+ lang.css.indent.unindenters (\})
482
+ lang.css.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(\/\/.*)
483
+ lang.css.tokens.properties \b(azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-collapse|border-color|border-spacing|border-style|border-top|border-bottom|border-right|border-left|border-top-color|border-top-style|border-top-width|border-width|border|bottom|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-right|margin-top|margin-left|margin-bottom|margin|max-height|max-width|min-height|min-width|orphans|outline-color|outline-style|outline-width|outline|overflow|padding-top|padding-left|padding-right|padding-bottom|padding|page-break-after|page-break-before|page-break-inside|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|table-layout|text-align|text-decoration|text-indent|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index):
484
+ lang.css.tokens.properties.format white bold
485
+ lang.css.tokens.colours #[A-Fa-f0-9]{6}|\b(?:aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\b
486
+ lang.css.tokens.colours.format yellow bold
487
+ lang.css.tokens.long_comments.open \/\*
488
+ lang.css.tokens.long_comments.close \*\/
489
+ lang.css.tokens.long_comments.format 8 bold
490
+ lang.css.tokens.numbers \b([0-9]+\.[0-9]+|[0-9]+)
491
+ lang.css.tokens.numbers.format blue bold
492
+ lang.css.tokens.units [^A-Za-z](em|pt|px)\b
493
+ lang.css.tokens.units.format cyan
494
+ lang.css.tokens.html_elements.case_insensitive \b(A|ABBR|ACRONYM|ADDRES|APPLET|AREA|B|BASE|BASEFONT|BDO|BIG|BLOCKQUOTE|BODY|BR|BUTTON|CAPTION|CENTER|CITE|CODE|COL|COLGROUP|DD|DEL|DFN|DIR|DIV|DL|DT|FIELDSET|FORM|FRAME|FRAMESET|H1|H2|H3|H4|H5|H6|HEAD|HR|HTML|I|IFRAME|IMG|INPUT|INS|ISINDEX|KBD|LABEL|LEGEND|LI|LINK|MAP|MENU|META|NOFRAMES|NOSCRIPT|OBJECT|OL|OPTGROUP|OPTION|P|PARAM|PRE|Q|S|SAMP|SCRIPT|SELECT|SMALL|SPAN|STRIKE|STRONG|STYLE|SUB|SUP|TABLE|TBODY|TD|TEXTAREA|TFOOT|TH|THEAD|TITLE|TR|TT|U|UL|VA)\b
495
+ lang.css.tokens.html_elements.format green
496
+ lang.css.tokens.values \b(auto|block|inherit|inline|larger|none|smaller|solid)\b
497
+ lang.css.tokens.values.format blue bold
498
+
499
+ # Ruby
500
+
501
+ lang.ruby.filemask (?:[Rr]akefile)|(?:\.(?:rb|gem(?:spec)?)$)
502
+ lang.ruby.bangmask ruby
503
+ lang.ruby.format.default white bold
504
+ lang.ruby.format.selection inverse
505
+ lang.ruby.format.found yellow inverse
506
+ lang.ruby.tokens.reserved_words \b(__FILE__|and|def|end|in|or|self|unless|__LINE__|begin|defined\?|ensure|module|redo|super|until|BEGIN|break|do|false|next|rescue|then|when|END|case|else|for|nil|retry|true|while|alias|class|elsif|if|not|return|undef|yield)\b
507
+ lang.ruby.tokens.reserved_words.format white
508
+ lang.ruby.tokens.constants \b([A-Z_]+|[A-Z_][A-Z0-9_]+)\b
509
+ lang.ruby.tokens.constants.format yellow bold
510
+ lang.ruby.tokens.symbols [@!#$%^&*()\[\]{}/?=+\-\\|,<.>;:~]
511
+ lang.ruby.tokens.symbols.format white
512
+ lang.ruby.tokens.class_variables (@[A-Za-z_][A-Za-z_0-9]*)
513
+ lang.ruby.tokens.class_variables.format white bold
514
+ lang.ruby.tokens.comments (#.*)
515
+ lang.ruby.tokens.comments.format 8 bold
516
+ lang.ruby.tokens.regular_expressions (\/.+?[^\\]\/)
517
+ lang.ruby.tokens.regular_expressions.format red bold
518
+ lang.ruby.tokens.regular_expressions2 (%r\{.+?[^\}]\})
519
+ lang.ruby.tokens.regular_expressions2.format red bold
520
+ lang.ruby.tokens.doublequoted_strings (\".*?[^\\]\"|\"\")
521
+ lang.ruby.tokens.doublequoted_strings.format green bold
522
+ lang.ruby.tokens.singlequoted_strings ('.*?[^\\]'|'')
523
+ lang.ruby.tokens.singlequoted_strings.format green bold
524
+ lang.ruby.tokens.backquoted_strings (`.*?[^\\]`|``)
525
+ lang.ruby.tokens.backquoted_strings.format red bold
526
+ lang.ruby.tokens.character_codes \W(\?\S)
527
+ lang.ruby.tokens.character_codes.format magenta bold
528
+ lang.ruby.tokens.long_comments.open ^=begin
529
+ lang.ruby.tokens.long_comments.close ^=end
530
+ lang.ruby.tokens.long_comments.format 8 bold
531
+ lang.ruby.tokens.sql_string.open (<<-EOSQL)
532
+ lang.ruby.tokens.sql_string.close (EOSQL)
533
+ lang.ruby.tokens.sql_string.format 1
534
+ lang.ruby.tokens.sql_string.change_to sql
535
+ lang.ruby.indent.size 4
536
+ lang.ruby.indent.auto true
537
+ lang.ruby.indent.roundup true
538
+ #lang.ruby.indent.using_tabs true
539
+ lang.ruby.indent.indenters \b(do|def|begin|ensure|when|case|else|for|while|elsif|if|class|module|rescue)\b|([{\[(]$|\{\s*\|[\w\s,]*\|\s*$)
540
+ lang.ruby.indent.unindenters \b(end|else|elsif|when|rescue)\b|(^\s+[\]})])
541
+ lang.ruby.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(`.+?[^\\]`)|(\/.+?[^\\]\/)|(^\s*#.*)|\S\s+if
542
+ lang.ruby.indent.ignore ^\s*$
543
+ lang.ruby.context.ignore ^=(begin|end)$
544
+
545
+ # PHP
546
+
547
+ lang.php.filemask \.php\d?$
548
+ lang.php.bangmask php
549
+ lang.php.format.default white bold
550
+ lang.php.format.selection inverse
551
+ lang.php.format.found yellow inverse
552
+ lang.php.tokens.doublequoted_strings (\".*?[^\\]\")
553
+ lang.php.tokens.doublequoted_strings.format green bold
554
+ lang.php.tokens.singlequoted_strings ('.*?[^\\]')
555
+ lang.php.tokens.singlequoted_strings.format green bold
556
+ lang.php.tokens.reserved_words \b(NULL|E_ALL|__wakeup|not|endwhile|__sleep|new|endswitch|__LINE__|list|endif|__FILE__|global|endforeach|while|include_once|endfor|virtual|include|enddeclare|xor|if|empty|var|elseif|TRUE|true|else|this|echo|stdClass|die|switch|do|static|default|return|function|declare|require_once|foreach|continue|require|for|class|print|FALSE|false|cfunction|PHP_VERSION|extends|case|exit|break|PHP_OS|eval|argc|parent|E_WARNING|as|or|E_ERROR|argv|old_function|E_PARSE|and)\b
557
+ lang.php.tokens.reserved_words.format white
558
+ lang.php.tokens.constants \b([A-Z_]+|[A-Z_][A-Z0-9_]+)\b
559
+ lang.php.tokens.constants.format yellow bold
560
+ lang.php.tokens.comments (\/\/.*)
561
+ lang.php.tokens.comments.format 8 bold
562
+ lang.php.tokens.preprocessor (^\s*#.*)
563
+ lang.php.tokens.preprocessor.format yellow bold
564
+ lang.php.tokens.symbols ([!@#$%\^&*()\[\]{}/?=+\-\\|,<.>;:])
565
+ lang.php.tokens.symbols.format white
566
+ lang.php.tokens.long_comments.open \/\*
567
+ lang.php.tokens.long_comments.close \*\/
568
+ lang.php.tokens.long_comments.format 8 bold
569
+ lang.php.tokens.sql_string.open (<<<EOS)
570
+ lang.php.tokens.sql_string.close (EOS)
571
+ lang.php.tokens.sql_string.format 1
572
+ lang.php.tokens.sql_string.change_to sql
573
+ lang.php.tokens.js.open (<<<EOJS)
574
+ lang.php.tokens.js.close (EOJS)
575
+ lang.php.tokens.js.format 12 bold
576
+ lang.php.tokens.js.change_to java
577
+ lang.php.indent.size 4
578
+ lang.php.indent.auto true
579
+ lang.php.indent.roundup false
580
+ #lang.php.indent.using_tabs true
581
+ lang.php.indent.indenters ([{\[(]$)
582
+ lang.php.indent.unindenters (^\s+[\]})])
583
+ lang.php.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(\/\/.*)
584
+ lang.php.indent.ignore ^(.+:|\s*?)$
585
+ lang.php.context.ignore ^(.+:|\s*\{?)$
586
+
587
+ # Perl
588
+
589
+ lang.perl.filemask \.(?:pl|pm)$
590
+ lang.perl.bangmask perl
591
+ lang.perl.format.default white bold
592
+ lang.perl.format.selection inverse
593
+ lang.perl.format.found yellow inverse
594
+ lang.perl.tokens.comments (#.*)
595
+ lang.perl.tokens.comments.format 8 bold
596
+ lang.perl.tokens.constants \b([A-Z_]+|[A-Z_][A-Z0-9_]+)\b
597
+ lang.perl.tokens.constants.format yellow bold
598
+ lang.perl.tokens.symbols [!#^&*()\[\]{}/?=+\-\\|,<.>;:~]
599
+ lang.perl.tokens.symbols.format white
600
+ lang.perl.tokens.regular_expressions (\/.+?[^\\]\/)
601
+ lang.perl.tokens.regular_expressions.format red bold
602
+ lang.perl.tokens.doublequoted_strings (\".*?[^\\]\")
603
+ lang.perl.tokens.doublequoted_strings.format green bold
604
+ lang.perl.tokens.singlequoted_strings ('.*?[^\\]')
605
+ lang.perl.tokens.singlequoted_strings.format green bold
606
+ lang.perl.tokens.backquoted_strings (`.*?[^\\]`)
607
+ lang.perl.tokens.backquoted_strings.format red bold
608
+ lang.perl.tokens.reserved_words \b(unless|until|else|for|while|foreach|if|return|do|next|elsif|last|redo|continue|sub|goto)\b
609
+ lang.perl.tokens.reserved_words.format white
610
+ lang.perl.tokens.builtins \b(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eval|exec|exists|exit|exp|fcntl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|local|localtime|lock|log|lstat|m|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|q|qq|qr|quotemeta|qw|qx|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|s|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|tr|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|use|utime|values|vec|wait|waitpid|wantarray|warn|write|y)\b
611
+ lang.perl.tokens.builtins.format cyan bold
612
+ lang.perl.tokens.array_variables \s(@[A-Za-z_][A-Za-z_0-9]*)\b
613
+ lang.perl.tokens.array_variables.format red bold
614
+ lang.perl.tokens.hash_variables \s(%[A-Za-z_][A-Za-z_0-9]*)\b
615
+ lang.perl.tokens.hash_variables.format magenta bold
616
+ lang.perl.indent.size 4
617
+ lang.perl.indent.auto true
618
+ lang.perl.indent.roundup true
619
+ #lang.perl.indent.using_tabs true
620
+ lang.perl.indent.indenters (case|[{\[(]$)
621
+ lang.perl.indent.unindenters (case|^\s+[\]})])
622
+ #lang.perl.indent.indenters \b(unless|else|for|while|foreach|if|do|elsif|sub)\b
623
+ #lang.perl.indent.unindenters \b(else)\b
624
+ lang.perl.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(`.+?[^\\]`)|(\/.+?[^\\]\/)|(^\s*#.*)
625
+ lang.perl.indent.ignore ^\s*$
626
+ lang.perl.context.ignore ^(.+:|\s*\{?)$
627
+
628
+ # Python
629
+
630
+ lang.python.filemask \.py$
631
+ lang.python.bangmask python
632
+ lang.python.format.default white bold
633
+ lang.python.format.selection inverse
634
+ lang.python.format.found yellow inverse
635
+ lang.python.tokens.constants \b([A-Z_]+|[A-Z_][A-Z0-9_]+)\b
636
+ lang.python.tokens.constants.format yellow bold
637
+ lang.python.tokens.symbols [@!#$%^&*()\[\]{}/?=+\-\\|,<.>;:~]
638
+ lang.python.tokens.symbols.format white
639
+ lang.python.tokens.comments (#.*)
640
+ lang.python.tokens.comments.format 8 bold
641
+ lang.python.tokens.doublequoted_strings (\".*?[^\\]\")
642
+ lang.python.tokens.doublequoted_strings.format green bold
643
+ lang.python.tokens.singlequoted_strings ('.*?[^\\]')
644
+ lang.python.tokens.singlequoted_strings.format green bold
645
+ lang.python.tokens.backquoted_strings (`.*?[^\\]`)
646
+ lang.python.tokens.backquoted_strings.format red bold
647
+ lang.python.tokens.reserved_words \b(and|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|yield)\b
648
+ lang.python.tokens.reserved_words.format white
649
+ lang.python.indent.size 4
650
+ lang.python.indent.auto true
651
+ lang.python.indent.roundup true
652
+ #lang.python.indent.using_tabs true
653
+ lang.python.indent.indenters \b(class|def|elif|else|except|finally|for|if|try|while)\b
654
+ #lang.python.indent.indenters :
655
+ lang.python.indent.unindenters \b(else|elif|except)\b
656
+ lang.python.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(`.+?[^\\]`)|(^\s*#.*)
657
+ lang.python.indent.ignore ^\s*$
658
+
659
+ # Java
660
+
661
+ lang.java.filemask \.java$
662
+ lang.java.format.default white bold
663
+ lang.java.format.selection inverse
664
+ lang.java.format.found yellow inverse
665
+ lang.java.tokens.doublequoted_strings (\".*?[^\\]\")
666
+ lang.java.tokens.doublequoted_strings.format green bold
667
+ lang.java.tokens.singlequoted_strings ('.*?[^\\]')
668
+ lang.java.tokens.singlequoted_strings.format green bold
669
+ lang.java.tokens.reserved_words \b(abstract|do|if|package|synchronized|boolean|double|implements|private|this|break|else|import|protected|throw|byte|extends|instanceof|public|throws|case|false|int|return|transient|catch|final|interface|short|true|char|finally|long|static|try|class|float|native|strictfp|void|const|for|new|super|volatile|continue|goto|null|switch|while|default|assert)\b
670
+ lang.java.tokens.reserved_words.format white
671
+ lang.java.tokens.constants \b([A-Z_]+|[A-Z_][A-Z0-9_]+)\b
672
+ lang.java.tokens.constants.format yellow bold
673
+ lang.java.tokens.comments (\/\/.*)
674
+ lang.java.tokens.comments.format 8 bold
675
+ lang.java.tokens.symbols ([!@#$%\^&*()\[\]{}/?=+\-\\|,<.>;:])
676
+ lang.java.tokens.symbols.format white
677
+ lang.java.tokens.long_comments.open \/\*
678
+ lang.java.tokens.long_comments.close \*\/
679
+ lang.java.tokens.long_comments.format 8 bold
680
+ lang.java.indent.size 4
681
+ lang.java.indent.auto true
682
+ lang.java.indent.roundup false
683
+ #lang.java.indent.using_tabs true
684
+ lang.java.indent.indenters (\{)
685
+ lang.java.indent.unindenters (\})
686
+ lang.java.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(\/\/.*)
687
+ lang.java.indent.ignore ^(.+:|\s*?)$
688
+ lang.java.context.ignore ^(.+:|\s*\{?)$
689
+
690
+ # C
691
+
692
+ lang.c.filemask \.(c(pp|xx)?|h)$
693
+ lang.c.format.default white bold
694
+ lang.c.format.selection inverse
695
+ lang.c.format.found yellow inverse
696
+ lang.c.tokens.doublequoted_strings (\".*?[^\\]\")
697
+ lang.c.tokens.doublequoted_strings.format green bold
698
+ lang.c.tokens.singlequoted_strings ('.*?[^\\]')
699
+ lang.c.tokens.singlequoted_strings.format green bold
700
+ lang.c.tokens.reserved_words \b(if|double|break|else|byte|case|int|return|short|char|long|static|void|for|super|continue|goto|switch|while)\b
701
+ lang.c.tokens.reserved_words.format white
702
+ lang.c.tokens.constants \b([A-Z_]+|[A-Z_][A-Z0-9_]+)\b
703
+ lang.c.tokens.constants.format yellow bold
704
+ lang.c.tokens.comments (\/\/.*)
705
+ lang.c.tokens.comments.format 8 bold
706
+ lang.c.tokens.preprocessor (^\s*#.*)
707
+ lang.c.tokens.preprocessor.format yellow bold
708
+ lang.c.tokens.symbols ([!@#$%\^&*()\[\]{}/?=+\-\\|,<.>;:])
709
+ lang.c.tokens.symbols.format white
710
+ lang.c.tokens.long_comments.open \/\*
711
+ lang.c.tokens.long_comments.close \*\/
712
+ lang.c.tokens.long_comments.format 8 bold
713
+ lang.c.indent.size 4
714
+ lang.c.indent.auto true
715
+ lang.c.indent.roundup false
716
+ #lang.c.indent.using_tabs true
717
+ lang.c.indent.indenters (case|[{\[(]$)
718
+ lang.c.indent.unindenters (case|^\s+[\]})])
719
+ lang.c.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(\/\/.*)
720
+ lang.c.indent.ignore ^(.+:|\s*?)$
721
+ lang.c.context.ignore ^(.+:|\s*\{?)$
722
+
723
+ # Configuration files
724
+
725
+ lang.conf.filemask (?:\.conf(?:ig)?|\.cfg|\.cnf|user_prefs|XF86Config)$
726
+ lang.conf.format.default white
727
+ lang.conf.format.selection inverse
728
+ lang.conf.format.found yellow inverse
729
+ lang.conf.tokens.commands ^\s*([^\s=]+)
730
+ lang.conf.tokens.commands.format cyan bold
731
+ lang.conf.tokens.comments (^\s*#.*)
732
+ lang.conf.tokens.comments.format yellow bold
733
+ lang.conf.tokens.doublequoted_strings (\".*?[^\\]\")
734
+ lang.conf.tokens.doublequoted_strings.format green bold
735
+ lang.conf.tokens.singlequoted_strings ('.*?[^\\]')
736
+ lang.conf.tokens.singlequoted_strings.format green bold
737
+ lang.conf.indent.size 4
738
+ lang.conf.indent.auto true
739
+ lang.conf.indent.roundup true
740
+ #lang.conf.indent.using_tabs true
741
+
742
+ # crontab
743
+
744
+ lang.crontab.filemask (?:^|\/)crontab$
745
+ lang.crontab.format.default white
746
+ lang.crontab.format.selection inverse
747
+ lang.crontab.format.found yellow inverse
748
+ lang.crontab.tokens.comments (^\s*#.*)
749
+ lang.crontab.tokens.comments.format yellow bold
750
+ lang.crontab.tokens.schedule ^((?:[0-9\/*,-]+\s+){5})
751
+ lang.crontab.tokens.schedule.format cyan bold
752
+ lang.crontab.tokens.commands ^(\S+=.+)
753
+ lang.crontab.tokens.commands.format cyan
754
+ lang.crontab.indent.size 4
755
+ lang.crontab.indent.auto true
756
+ lang.crontab.indent.roundup true
757
+ #lang.crontab.indent.using_tabs true
758
+
759
+ lang.fstab.filemask ^fstab$
760
+ lang.fstab.format.default white
761
+ lang.fstab.format.selection inverse
762
+ lang.fstab.format.found yellow inverse
763
+ lang.fstab.tokens.comments (^\s*#.*)
764
+ lang.fstab.tokens.comments.format yellow bold
765
+ lang.fstab.indent.size 4
766
+ lang.fstab.indent.auto true
767
+ lang.fstab.indent.roundup true
768
+ #lang.fstab.indent.using_tabs true
769
+
770
+ # SQL
771
+
772
+ lang.sql.filemask \.sql$
773
+ lang.sql.format.default white bold
774
+ lang.sql.format.selection inverse
775
+ lang.sql.format.found yellow inverse
776
+ lang.sql.indent.size 4
777
+ lang.sql.indent.auto true
778
+ lang.sql.indent.roundup true
779
+ #lang.sql.indent.using_tabs true
780
+ lang.sql.tokens.reserved_words.case_insensitive \b(ABSOLUTE|ACCESS|ACTION|ADD|ADMIN|AFTER|ALIAS|ALL|ALLOCATE|AND|ANY|ARE|AS|ASC|ASSERTION|AT|AUDIT|AUTHORIZATION|AVG|BEFORE|BEGIN|BETWEEN|BIT_LENGTH|BOTH|BREADTH|BY|CASCADE|CASCADED|CASE|CAST|CATALOG|CHAR_LENGTH|CHARACTER_LENGTH|CHECK|CLASS|CLOSE|CLUSTER|COALESCE|COBOL|COLLATE|COLLATION|COLUMN|COMPLETION|COMPRESS|COMPUTED|CONCAT|CONNECT|CONNECTION|CONSTRAINT|CONSTRAINTS|CONSTRUCTOR|CONTINUE|CONVERT|CORRESPONDING|COUNT|CROSS|CURRENT_DATE|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_USER|CURRENT|CURSOR|CYCLE|DATA|DAY|DBHIGH|DBKEY|DBLOW|DBMAC|DEALLOCATE|DECLARE|DECODE|DEFAULT|DEFERRABLE|DEFERRED|DEPTH|DEREF|DESC|DESCRIBE|DESCRIPTOR|DESTROY|DESTRUCTOR|DIAGNOSTICS|DICTIONARY|DISCONNECT|DISTINCT|DO|DOMAIN|EACH|ELEMENT|ELSE|ELSEIF|END-EXEC|END|EQUALS|ESCAPE|EXCEPT|EXCEPTION|EXCEPTIONS|EXCLUSIVE|EXISTS|EXTERNAL|EXTERNALLY|EXTRACT|FALSE|FILE|FIRST|FOR|FOREIGN|FORTRAN|FOUND|FROM|FULL|FUNCTION|GENERAL|GET|GLOBAL|GO|GOTO|GROUP|HAVING|HOUR|IDENTIFIED|IDENTITY|IF|IGNORE|IMMEDIATE|IN|INCREMENT|INDEX|INDICATOR|INITIAL|INITIALLY|INNER|INOUT|INPUT|INSENSITIVE|INSTEAD|INTERSECT|INTERVAL|INTO|IS|ISOLATION|JOIN|KEY|LABEL|LANGUAGE|LAST|LEADING|LEAVE|LEFT|LESS|LEVEL|LIKE|LIMIT|LOCAL|LOCK|LOOP|LOWER|MATCH|MAX|MAXEXTENTS|MIN|MINUS|MINUTE|MLSLABEL|MLS_LABEL_FORMAT|MODE|MODIFY|MODULE|MONTH|MOVE|MULTISET|NAMES|NATIONAL|NATURAL|NEW_TABLE|NEXT|NO|NOAUDIT|NOCOMPRESS|NONE|NOT|NOWAIT|NULL|NULLIF|NUMBER|NVL|OCTET_LENGTH|OF|OFF|OFFLINE|OID|OLD|OLD_TABLE|ON|ONLINE|ONLY|OPEN|OPERATION|OPERATORS|OPTION|OR|ORDER|OTHERS|OUT|OUTER|OUTPUT|OVERLAPS|PAD|PARAMETER|PARTIAL|PASCAL|PCTFREE|PENDANT|PLI|POSITION|PRECISION|PREORDER|PRESERVE|PRIMARY|PRIOR|PRIVATE|PRIVILEGES|PROCEDURE|PROTECTED|PUBLIC|RAW|READ|READUP|REAL|RECORD|RECURSIVE|REF|REFERENCES|REFERENCING|RELATIVE|RENAME|REPLACE|REPRESENTATION|RESIGNAL|RESOURCE|RESTRICT|RETURN|RETURNS|RIGHT|ROLE|ROUTINE|ROW|ROWID|ROWNUM|ROWS|SAVEPOINT|SCHEMA|SCROLL|SEARCH|SECOND|SECTION|SENSITIVE|SEQUENCE|SESSION|SESSION_USER|SET|SHARE|SIGNAL|SIMILAR|SIZE|SOME|SPACE|SPECIFIC|SQL|SQLCODE|SQLERROR|SQLEXCEPTION|SQLSTATE|SQLWARNING|START|STRUCTURE|SUBSTRING|SUCCESSFUL|SUM|SYNONYM|SYSDATE|SYSTEM_USER|TABLE|TEMPLATE|TEMPORARY|TEST|THAN|THEN|THERE|SQ92|TIMEZONE_HOUR|TIMEZONE_MINUTE|TO|TRAILING|TRANSACTION|TRANSLATE|TRANSLATION|TRIGGER|TRIM|TRUE|TUPLE|TYPE|UID|UNDER|UNION|UNIQUE|UNKNOWN|UPPER|USAGE|USER|USING|VALIDATE|VALUE|VALUES|VARIABLE|VARIANT|VIRTUAL|VARYING|VIEW|VISIBLE|VOID|WAIT|WHEN|WHENEVER|WHERE|WHILE|WITH|WITHOUT|WORK|WRITE|WRITEDOWN|WRITEUP|YEAR|ZONE)\b
781
+ lang.sql.tokens.reserved_words.format white
782
+ lang.sql.tokens.commands.case_insensitive \b(ALTER|COMMENT|COMMIT|CREATE|DELETE|DROP|EXEC|EXECUTE|FETCH|GRANT|INSERT|PERFORM|PREPARE|REVOKE|ROLLBACK|SELECT|UPDATE)\b
783
+ lang.sql.tokens.commands.format cyan
784
+ lang.sql.tokens.data_types.case_insensitive \b(BIT|BOOLEAN|CHAR|CHARACTER|DATE|DEC|DECIMAL|DOUBLE|FLOAT|INT|INTEGER|INTERVAL|LONG|NCHAR|NUMBER|NUMERIC|REAL|RECORD|ROW|SMALLINT|STRUCTURE|TIME|TIMESTAMP|TUPLE|VARCHAR|VARCHAR2)\b
785
+ lang.sql.tokens.data_types.format brown
786
+ lang.sql.tokens.comments (--.*)
787
+ lang.sql.tokens.comments.format 8 bold
788
+ lang.sql.tokens.singlequoted_strings ('.*?[^\\]')
789
+ lang.sql.tokens.singlequoted_strings.format green bold
790
+ lang.sql.tokens.symbols ([!@#$%\^&*()\[\]{}/?=+\-\\|,<.>;:])
791
+ lang.sql.tokens.symbols.format white
792
+ lang.sql.tokens.typos (==)
793
+ lang.sql.tokens.typos.format 15 bold
794
+ lang.sql.indent.indenters ((?:\(|BEGIN|DECLARE|FROM|LOOP|ORDER BY|SELECT|SET|WHERE)$)
795
+ lang.sql.indent.unindenters (^\s+(?:\)|;|BEGIN|DECLARE|END))
796
+ lang.sql.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')
797
+ lang.sql.context.ignore ^(\W+)$
798
+
799
+ # Bash
800
+
801
+ lang.bash.filemask (?:\.(?:ebuild|bash_profile|bashrc))$
802
+ lang.bash.bangmask (?:ba)?sh\b
803
+ lang.bash.format.default white bold
804
+ lang.bash.format.selection inverse
805
+ lang.bash.format.found yellow inverse
806
+ lang.bash.indent.size 4
807
+ lang.bash.indent.auto true
808
+ lang.bash.indent.roundup true
809
+ #lang.bash.indent.using_tabs true
810
+ lang.bash.tabsize 4
811
+ lang.bash.tokens.comments (^\s*#.*)
812
+ lang.bash.tokens.comments.format 8 bold
813
+ lang.bash.tokens.singlequoted_strings ('.*?[^\\]')
814
+ lang.bash.tokens.singlequoted_strings.format green bold
815
+ lang.bash.tokens.doublequoted_strings (\".*?[^\\]\")
816
+ lang.bash.tokens.doublequoted_strings.format green bold
817
+ lang.bash.tokens.backquoted_strings (`.*?[^\\]`)
818
+ lang.bash.tokens.backquoted_strings.format red bold
819
+ lang.bash.indent.indenters (\{)
820
+ lang.bash.indent.unindenters (\})
821
+ lang.bash.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(\/\/.*)
822
+ lang.bash.indent.ignore ^(.+:|\s*?)$
823
+
824
+ # Tcl
825
+
826
+ lang.tcl.filemask \.tcl$
827
+ lang.tcl.bangmask tcl
828
+ lang.tcl.format.default white bold
829
+ lang.tcl.format.selection inverse
830
+ lang.tcl.format.found yellow inverse
831
+ lang.tcl.indent.size 4
832
+ lang.tcl.indent.auto true
833
+ lang.tcl.indent.roundup true
834
+ #lang.tcl.indent.using_tabs true
835
+ lang.tcl.tabsize 4
836
+ lang.tcl.tokens.comments (^\s*#.*)
837
+ lang.tcl.tokens.comments.format 8 bold
838
+ lang.tcl.tokens.reserved_words \b(encoding|incr|pid|tcl_endOfWord|Tcl|eof|info|tcl_findLibrary|after|error|interp|pkg_mkIndex|tcl_startOfNextWord|append|eval|join|proc|tcl_startOfPreviousWord|array|exec|lappend|puts|tcl_wordBreakAfter|auto_execok|exit|lassign|pwd|tcl_wordBreakBefore|auto_import|expr|lindex|re_syntax|tcltest|auto_load|fblocked|linsert|read|tclvars|auto_mkindex|fconfigure|list|regexp|tell|auto_mkindex_old|fcopy|llength|registry|time|auto_qualify|file|load|regsub|trace|auto_reset|fileevent|lrange|rename|unknown|bgerror|filename|lrepeat|resource|unload|binary|flush|lreplace|return|unset|break|for|lsearch|scan|update|catch|foreach|lset|seek|uplevel|cd|format|lsort|set|upvar|clock|gets|memory|socket|variable|close|glob|msgcat|source|vwait|concat|global|namespace|split|while|continue|history|open|string|dde|http|package|subst|dict|if|parray|switch)\b
839
+ lang.tcl.tokens.reserved_words.format white
840
+ lang.tcl.tokens.symbols ([!@#$%\^&*()\[\]{}/?=+\-\\|,<.>;:])
841
+ lang.tcl.tokens.symbols.format white
842
+ lang.tcl.tokens.variables (\$[A-Za-z_][A-Za-z_0-9]*)\b
843
+ lang.tcl.tokens.variables.format yellow bold
844
+ lang.tcl.tokens.doublequoted_strings (\".*?[^\\]\")
845
+ lang.tcl.tokens.doublequoted_strings.format green bold
846
+ lang.tcl.indent.indenters (\{)
847
+ lang.tcl.indent.unindenters (\})
848
+ lang.tcl.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(\/\/.*)
849
+
850
+ lang.diff.filemask (?:\.(?:diff|patch))$
851
+ lang.diff.format.default white
852
+ lang.diff.format.selection inverse
853
+ lang.diff.format.found yellow inverse
854
+ lang.diff.indent.size 4
855
+ lang.diff.indent.auto false
856
+ #lang.diff.indent.using_tabs true
857
+ lang.diff.tabsize 4
858
+ lang.diff.tokens.oldfile (^--- .+$)
859
+ lang.diff.tokens.oldfile.format red bold
860
+ lang.diff.tokens.newfile (^\+\+\+ .+$)
861
+ lang.diff.tokens.newfile.format green bold
862
+ lang.diff.tokens.oldline (^-.+$)
863
+ lang.diff.tokens.oldline.format red bold
864
+ lang.diff.tokens.newline (^\+.+$)
865
+ lang.diff.tokens.newline.format green bold
866
+ lang.diff.tokens.location (^@@.+$)
867
+ lang.diff.tokens.location.format green
868
+ lang.diff.tokens.filediff (^Only in .+$)
869
+ lang.diff.tokens.filediff.format magenta bold
870
+ lang.diff.tokens.diff_command (^diff .+$)
871
+ lang.diff.tokens.diff_command.format 13 bold
872
+
873
+ lang.yaml.filemask (?:\.ya?ml)$
874
+ lang.yaml.bangmask ^---
875
+ lang.yaml.format.default white bold
876
+ lang.yaml.format.selection inverse
877
+ lang.yaml.format.found yellow inverse
878
+ lang.yaml.indent.size 4
879
+ lang.yaml.indent.auto false
880
+ lang.yaml.indent.roundup false
881
+ lang.yaml.tabsize 8
882
+ lang.yaml.tokens.value_indicator (:)(?: |$)
883
+ lang.yaml.tokens.value_indicator.format white
884
+ lang.yaml.tokens.key_indicator (\? )
885
+ lang.yaml.tokens.key_indicator.format white
886
+ lang.yaml.tokens.nested_series (?:^|[^-])(- )
887
+ lang.yaml.tokens.nested_series.format magenta bold
888
+ lang.yaml.tokens.series_separator (,)
889
+ lang.yaml.tokens.series_separator.format white
890
+ lang.yaml.tokens.inline_series ([\[\]])
891
+ lang.yaml.tokens.inline_series.format white
892
+ lang.yaml.tokens.inline_keyed ([{}])
893
+ lang.yaml.tokens.inline_keyed.format white
894
+ lang.yaml.tokens.doublequoted_strings (\".*?[^\\]\"|\"\")
895
+ lang.yaml.tokens.doublequoted_strings.format green bold
896
+ lang.yaml.tokens.singlequoted_strings ('.*?[^\\]'|'')
897
+ lang.yaml.tokens.singlequoted_strings.format green bold
898
+ lang.yaml.tokens.block_scalar (\|[0-9+-]*)$
899
+ lang.yaml.tokens.block_scalar.format blue bold
900
+ lang.yaml.tokens.folded_scalar (>[0-9+-]*)$
901
+ lang.yaml.tokens.folded_scalar.format blue bold
902
+ lang.yaml.tokens.document_header ^(---.*)$
903
+ lang.yaml.tokens.document_header.format 10 bold
904
+ lang.yaml.tokens.document_terminator ^(\.\.\.)
905
+ lang.yaml.tokens.document_terminator.format 10
906
+ lang.yaml.tokens.directive_indicator ^(%.*)
907
+ lang.yaml.tokens.directive_indicator.format 10
908
+ lang.yaml.tokens.comment_indicator (#.+)
909
+ lang.yaml.tokens.comment_indicator.format 8 bold
910
+ lang.yaml.tokens.anchor_indicator (&\w+)
911
+ lang.yaml.tokens.anchor_indicator.format red bold
912
+ lang.yaml.tokens.alias_indicator (\*\w+)
913
+ lang.yaml.tokens.alias_indicator.format yellow
914
+ lang.yaml.tokens.tag (!\w*)
915
+ lang.yaml.tokens.tag.format yellow bold
916
+ lang.yaml.tokens.null (~|null)
917
+ lang.yaml.tokens.null.format red
918
+ lang.yaml.indent.size 4
919
+ lang.yaml.indent.auto true
920
+ lang.yaml.indent.roundup true
921
+ lang.yaml.indent.indenters :$
922
+ lang.yaml.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(`.+?[^\\]`)|(^\s*#.*)
923
+ lang.yaml.indent.ignore ^\s*$
924
+
925
+ lang.haml.filemask \.haml$
926
+ lang.haml.format.default white bold
927
+ lang.haml.format.selection inverse
928
+ lang.haml.format.found yellow inverse
929
+ lang.haml.tabsize 8
930
+ lang.haml.indent.size 2
931
+ lang.haml.indent.auto true
932
+ lang.haml.indent.roundup true
933
+ lang.haml.indent.using_tabs false
934
+ lang.haml.tokens.code.open [=~-]
935
+ lang.haml.tokens.code.close $
936
+ lang.haml.tokens.code.format 9 bold
937
+ lang.haml.tokens.code.change_to ruby
938
+ lang.haml.tokens.tags (%\w+\b)
939
+ lang.haml.tokens.tags.format white
940
+ lang.haml.tokens.hash.open [{\[]
941
+ lang.haml.tokens.hash.close [}\]]
942
+ lang.haml.tokens.hash.format blue bold
943
+ lang.haml.tokens.hash.change_to ruby
944
+ lang.haml.tokens.class \.\w+
945
+ lang.haml.tokens.class.format cyan bold
946
+ lang.haml.tokens.id #\w+
947
+ lang.haml.tokens.id.format cyan
948
+ lang.haml.tokens.xml !!!
949
+ lang.haml.tokens.xml.format magenta bold
950
+ lang.haml.tokens.html_comment ^ *(\/.*)
951
+ lang.haml.tokens.html_comment.format 8 bold
952
+ lang.haml.tokens.line_joiner \|$
953
+ lang.haml.tokens.line_joiner.format 12 bold
954
+
955
+
956
+ # Custom configuration files can be included.
957
+ # If a setting is specified again, it overrides the previous setting given
958
+ # higher up in the configuration file(s).
959
+
960
+ include ~/.diakonos/cucumber.conf