137
142
p6m => 'application/x-perl6',
138
143
pl6 => 'application/x-perl6',
139
144
pm6 => 'application/x-perl6',
147
pas => 'text/x-pascal',
148
dpr => 'text/x-pascal',
149
dfm => 'text/x-pascal',
150
inc => 'text/x-pascal',
151
pp => 'text/x-pascal',
154
as => 'text/x-actionscript',
155
asc => 'text/x-actionscript',
156
jsfl => 'text/x-actionscript',
159
php => 'application/x-php',
160
php3 => 'application/x-php',
161
phtml => 'application/x-php',
163
# VisualBasic and VBScript
164
vb => 'text/vbscript',
165
bas => 'text/vbscript',
166
frm => 'text/vbscript',
167
cls => 'text/vbscript',
168
ctl => 'text/vbscript',
169
pag => 'text/vbscript',
170
dsr => 'text/vbscript',
171
dob => 'text/vbscript',
172
vbs => 'text/vbscript',
173
dsm => 'text/vbscript',
142
176
%DEFAULT_DOC_CLASS = (
144
# 'text/x-abc' => ## \
145
'text/x-adasrc' => 'DoubleDashComment',
146
'text/x-asm' => 'HashComment',
148
# 'text/x-bat' => ## REM
149
'application/x-bibtex' => 'PercentComment',
150
'text/x-c' => 'DoubleSlashComment',
151
'text/x-c++src' => 'DoubleSlashComment',
153
# 'text/css' => ## /* ... */
154
'text/x-eiffel' => 'DoubleDashComment',
156
# 'text/x-forth' => ## \
157
# 'text/x-fortran' => ## !
158
# 'text/html' => ## <!-- ... -->
159
'application/javascript' => 'DoubleSlashComment',
160
'application/x-latex' => 'PercentComment',
162
# 'application/x-lisp' => ## ;
163
'application/x-shellscript' => 'HashComment',
164
'text/x-java-source' => 'DoubleSlashComment',
165
'text/x-lua' => 'DoubleDashComment',
166
'text/x-makefile' => 'HashComment',
167
'text/x-matlab' => 'PercentComment',
169
# 'text/x-pascal' => ## { ... }
170
'application/x-perl' => 'Perl',
172
# 'application/x-psgi' => ## Perl or HashComment or something else?
173
'text/x-python' => 'HashComment',
175
'application/x-php' => 'HashComment',
176
'application/x-ruby' => 'HashComment',
178
'text/x-sql' => 'DoubleDashComment',
180
# 'text/vbscript' => ## '
181
'text/x-config' => 'HashComment',
183
# 'text/xml' => ## <!-- ... -->
184
'text/x-yaml' => 'HashComment',
185
'application/x-perl6' => 'HashComment',
187
# 'text/x-perlxs' => ## ' #'
188
# 'text/x-perltt' => ## <!-- ... -->
189
'text/x-csharp' => 'DoubleSlashComment',
191
'text/x-pod' => 'POD',
177
'application/x-perl' => 'Padre::Document::Perl',
178
'text/x-python' => 'Padre::Document::Python',
179
'application/x-ruby' => 'Padre::Document::Ruby',
180
'text/x-java-source' => 'Padre::Document::Java',
181
'text/x-csharp' => 'Padre::Document::CSharp',
182
'text/x-patch' => 'Padre::Document::Patch',
194
185
%HIGHLIGHTER_CONFIG = (
204
195
# lexer => The Scintilla lexer to be used
206
197
# Padre can use Wx::Scintilla's built-in Perl 6 lexer
207
my $perl6_scintilla_lexer =
208
Padre::Config::wx_scintilla_ready() ? Wx::Scintilla::wxSCINTILLA_LEX_PERL6() : Wx::wxSTC_LEX_NULL;
198
my $perl6_scintilla_lexer = Wx::Scintilla::wxSCINTILLA_LEX_PERL6();
211
201
'text/x-abc' => {
213
lexer => Wx::wxSTC_LEX_NULL,
203
lexer => Wx::Scintilla::SCLEX_NULL,
206
'text/x-actionscript' => {
208
lexer => Wx::Scintilla::SCLEX_CPP,
216
211
'text/x-adasrc' => {
218
lexer => Wx::wxSTC_LEX_ADA, # CONFIRMED
213
lexer => Wx::Scintilla::SCLEX_ADA, # CONFIRMED
221
216
'text/x-asm' => {
223
lexer => Wx::wxSTC_LEX_ASM, # CONFIRMED
218
lexer => Wx::Scintilla::SCLEX_ASM, # CONFIRMED
226
221
# application/x-msdos-program includes .exe and .com, so don't use it
227
222
# text/x-bat is used in EXT_MIME, application/x-bat was listed here,
228
223
# they need to be the same
229
224
'text/x-bat' => {
231
lexer => Wx::wxSTC_LEX_BATCH, # CONFIRMED
226
lexer => Wx::Scintilla::SCLEX_BATCH, # CONFIRMED
234
229
'application/x-bibtex' => {
235
230
name => 'BibTeX',
236
lexer => Wx::wxSTC_LEX_NULL,
231
lexer => Wx::Scintilla::SCLEX_NULL,
239
234
'application/x-bml' => {
241
lexer => Wx::wxSTC_LEX_NULL, #
236
lexer => Wx::Scintilla::SCLEX_NULL, #
246
lexer => Wx::wxSTC_LEX_CPP,
241
lexer => Wx::Scintilla::SCLEX_CPP,
246
lexer => 92, #TODO Wx::Scintilla::SCLEX_COBOL once it is working
249
249
'text/x-c++src' => {
251
lexer => Wx::wxSTC_LEX_CPP, # CONFIRMED
251
lexer => Wx::Scintilla::SCLEX_CPP, # CONFIRMED
256
lexer => Wx::wxSTC_LEX_CSS, # CONFIRMED
256
lexer => Wx::Scintilla::SCLEX_CSS, # CONFIRMED
259
259
'text/x-eiffel' => {
260
260
name => 'Eiffel',
261
lexer => Wx::wxSTC_LEX_EIFFEL, # CONFIRMED
261
lexer => Wx::Scintilla::SCLEX_EIFFEL, # CONFIRMED
264
264
'text/x-forth' => {
266
lexer => Wx::wxSTC_LEX_FORTH, # CONFIRMED
266
lexer => Wx::Scintilla::SCLEX_FORTH, # CONFIRMED
269
269
'text/x-fortran' => {
270
270
name => 'Fortran',
271
lexer => Wx::wxSTC_LEX_FORTRAN, # CONFIRMED
271
lexer => Wx::Scintilla::SCLEX_FORTRAN, # CONFIRMED
274
'text/x-haskell' => {
276
lexer => Wx::Scintilla::SCLEX_HASKELL, # CONFIRMED
276
lexer => Wx::wxSTC_LEX_HTML, # CONFIRMED
281
lexer => Wx::Scintilla::SCLEX_HTML, # CONFIRMED
279
284
'application/javascript' => {
280
285
name => 'JavaScript',
281
lexer => Wx::wxSTC_LEX_ESCRIPT, # CONFIRMED
286
lexer => Wx::Scintilla::SCLEX_ESCRIPT, # CONFIRMED
284
289
'application/json' => {
286
lexer => Wx::wxSTC_LEX_ESCRIPT, # CONFIRMED
291
lexer => Wx::Scintilla::SCLEX_ESCRIPT, # CONFIRMED
289
294
'application/x-latex' => {
291
lexer => Wx::wxSTC_LEX_LATEX, # CONFIRMED
296
lexer => Wx::Scintilla::SCLEX_LATEX, # CONFIRMED
294
299
'application/x-lisp' => {
296
lexer => Wx::wxSTC_LEX_LISP, # CONFIRMED
301
lexer => Wx::Scintilla::SCLEX_LISP, # CONFIRMED
299
304
'text/x-patch' => {
301
lexer => Wx::wxSTC_LEX_DIFF, # CONFIRMED
306
lexer => Wx::Scintilla::SCLEX_DIFF, # CONFIRMED
304
309
'application/x-shellscript' => {
305
310
name => _T('Shell Script'),
306
lexer => Wx::wxSTC_LEX_BASH,
311
lexer => Wx::Scintilla::SCLEX_BASH,
309
314
'text/x-java-source' => {
311
lexer => Wx::wxSTC_LEX_CPP,
316
lexer => Wx::Scintilla::SCLEX_CPP,
314
319
'text/x-lua' => {
316
lexer => Wx::wxSTC_LEX_LUA, # CONFIRMED
321
lexer => Wx::Scintilla::SCLEX_LUA, # CONFIRMED
319
324
'text/x-makefile' => {
320
325
name => 'Makefile',
321
lexer => Wx::wxSTC_LEX_MAKEFILE, # CONFIRMED
326
lexer => Wx::Scintilla::SCLEX_MAKEFILE, # CONFIRMED
324
329
'text/x-matlab' => {
325
330
name => 'Matlab',
326
lexer => Wx::wxSTC_LEX_MATLAB, # CONFIRMED
331
lexer => Wx::Scintilla::SCLEX_MATLAB, # CONFIRMED
329
334
'text/x-pascal' => {
330
335
name => 'Pascal',
331
lexer => Wx::wxSTC_LEX_PASCAL, # CONFIRMED
336
lexer => Wx::Scintilla::SCLEX_PASCAL, # CONFIRMED
334
339
'application/x-perl' => {
335
340
name => 'Perl 5',
336
lexer => Wx::wxSTC_LEX_PERL, # CONFIRMED
341
lexer => Wx::Scintilla::SCLEX_PERL, # CONFIRMED
346
lexer => Wx::Scintilla::SCLEX_POV,
339
349
'application/x-psgi' => {
341
lexer => Wx::wxSTC_LEX_PERL, # CONFIRMED
351
lexer => Wx::Scintilla::SCLEX_PERL, # CONFIRMED
344
354
'text/x-python' => {
345
355
name => 'Python',
346
lexer => Wx::wxSTC_LEX_PYTHON, # CONFIRMED
347
class => 'Padre::Document::HashComment',
356
lexer => Wx::Scintilla::SCLEX_PYTHON, # CONFIRMED
350
359
'application/x-php' => {
352
lexer => Wx::wxSTC_LEX_PHPSCRIPT, # CONFIRMED
361
lexer => Wx::Scintilla::SCLEX_PHPSCRIPT, # CONFIRMED
355
364
'application/x-ruby' => {
357
lexer => Wx::wxSTC_LEX_RUBY, # CONFIRMED
358
class => 'Padre::Document::HashComment',
366
lexer => Wx::Scintilla::SCLEX_RUBY, # CONFIRMED
361
369
'text/x-sql' => {
363
lexer => Wx::wxSTC_LEX_SQL, # CONFIRMED
371
lexer => Wx::Scintilla::SCLEX_SQL, # CONFIRMED
366
374
'application/x-tcl' => {
368
lexer => Wx::wxSTC_LEX_TCL, # CONFIRMED
376
lexer => Wx::Scintilla::SCLEX_TCL, # CONFIRMED
371
379
'text/vbscript' => {
372
380
name => 'VBScript',
373
lexer => Wx::wxSTC_LEX_VBSCRIPT, # CONFIRMED
381
lexer => Wx::Scintilla::SCLEX_VBSCRIPT, # CONFIRMED
376
384
'text/x-config' => {
377
385
name => 'Config',
378
lexer => Wx::wxSTC_LEX_CONF,
386
lexer => Wx::Scintilla::SCLEX_CONF,
381
389
# text/xml specifically means "human-readable XML".
382
390
# This is prefered to the more generic application/xml
385
lexer => Wx::wxSTC_LEX_XML, # CONFIRMED
393
lexer => Wx::Scintilla::SCLEX_XML, # CONFIRMED
388
396
'text/x-yaml' => {
390
lexer => Wx::wxSTC_LEX_YAML, # CONFIRMED
398
lexer => Wx::Scintilla::SCLEX_YAML, # CONFIRMED
393
401
'application/x-pir' => {
395
lexer => Wx::wxSTC_LEX_NULL, # CONFIRMED
403
lexer => Wx::Scintilla::SCLEX_NULL, # CONFIRMED
398
406
'application/x-pasm' => {
400
lexer => Wx::wxSTC_LEX_NULL, # CONFIRMED
408
lexer => Wx::Scintilla::SCLEX_NULL, # CONFIRMED
403
411
'application/x-perl6' => {
404
412
name => 'Perl 6',
405
lexer => $perl6_scintilla_lexer, # CONFIRMED
413
lexer => $perl6_scintilla_lexer, # CONFIRMED
408
416
'text/plain' => {
409
417
name => _T('Text'),
410
lexer => Wx::wxSTC_LEX_NULL, # CONFIRMED
418
lexer => Wx::Scintilla::SCLEX_NULL, # CONFIRMED
413
421
# Completely custom mime types
414
'text/x-perlxs' => { # totally not confirmed
422
'text/x-perlxs' => { # totally not confirmed
417
Wx::wxSTC_LEX_CPP, # for the lack of a better XS lexer (vim?)
425
Wx::Scintilla::SCLEX_CPP, # for the lack of a better XS lexer (vim?)
419
427
'text/x-perltt' => {
420
428
name => 'Template Toolkit',
421
lexer => Wx::wxSTC_LEX_HTML,
429
lexer => Wx::Scintilla::SCLEX_HTML,
424
432
'text/x-csharp' => {
426
lexer => Wx::wxSTC_LEX_CPP,
434
lexer => Wx::Scintilla::SCLEX_CPP,
428
436
'text/x-pod' => {
430
lexer => Wx::wxSTC_LEX_PERL,
438
lexer => Wx::Scintilla::SCLEX_PERL,
435
443
foreach my $type ( keys %DEFAULT_DOC_CLASS ) {
436
444
if ( exists $MIME{$type} ) {
437
$MIME{$type}->{class} = 'Padre::Document::' . $DEFAULT_DOC_CLASS{$type};
445
$MIME{$type}->{class} = $DEFAULT_DOC_CLASS{$type};
439
447
warn "Unknown MIME type: $type\n";