Skip to content

Commit 38e8a40

Browse files
AddisonSchillerfelliott
authored andcommitted
Add ~50 new extensions to the codepygments renderer
Most are plain text but a few are xml- or json-based.
1 parent bc84109 commit 38e8a40

File tree

3 files changed

+69
-1
lines changed

3 files changed

+69
-1
lines changed

mfr/extensions/codepygments/render.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,11 @@ def _render_html(self, fp, ext, *args, **kwargs):
9595
self.metrics.merge({'encoding': encoding, 'default_lexer': False})
9696

9797
try:
98-
lexer = pygments.lexers.guess_lexer_for_filename(ext, content)
98+
# check if there is a lexer available for more obscure file types
99+
if ext in settings.lexer_lib.keys():
100+
lexer = pygments.lexers.get_lexer_by_name(settings.lexer_lib[ext])
101+
else:
102+
lexer = pygments.lexers.guess_lexer_for_filename(ext, content)
99103
except ClassNotFound:
100104
self.metrics.add('default_lexer', True)
101105
lexer = self.DEFAULT_LEXER()

mfr/extensions/codepygments/settings.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,18 @@
33
config = settings.child('CODEPYGMENTS_EXTENSION_CONFIG')
44

55
MAX_SIZE = int(config.get('MAX_SIZE', 204800)) # 200kb
6+
7+
lexer_lib = {
8+
'.gdt': 'xml',
9+
'.pzfx': 'xml',
10+
'.cmdi': 'xml',
11+
'.rm5': 'xml',
12+
'.eaf': 'xml',
13+
'.qsf': 'json',
14+
'.psyexp': 'html',
15+
'.umbrella': 'json',
16+
'.jst': 'js',
17+
'.ijm': 'java',
18+
'.csl': 'xml',
19+
'.lss': 'xml'
20+
}

setup.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,8 @@ def parse_requirements(requirements):
158158
'.ahkl = mfr.extensions.codepygments:CodePygmentsRenderer',
159159
'.aj = mfr.extensions.codepygments:CodePygmentsRenderer',
160160
'.als = mfr.extensions.codepygments:CodePygmentsRenderer',
161+
'.amw = mfr.extensions.codepygments:CodePygmentsRenderer',
162+
'.anl = mfr.extensions.codepygments:CodePygmentsRenderer',
161163
'.apl = mfr.extensions.codepygments:CodePygmentsRenderer',
162164
'.applescript = mfr.extensions.codepygments:CodePygmentsRenderer',
163165
'.arexx = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -179,12 +181,15 @@ def parse_requirements(requirements):
179181
'.bash = mfr.extensions.codepygments:CodePygmentsRenderer',
180182
'.bat = mfr.extensions.codepygments:CodePygmentsRenderer',
181183
'.bb = mfr.extensions.codepygments:CodePygmentsRenderer',
184+
'.bed = mfr.extensions.codepygments:CodePygmentsRenderer',
182185
'.befunge = mfr.extensions.codepygments:CodePygmentsRenderer',
183186
'.bf = mfr.extensions.codepygments:CodePygmentsRenderer',
184187
'.bib = mfr.extensions.codepygments:CodePygmentsRenderer',
185188
'.bmx = mfr.extensions.codepygments:CodePygmentsRenderer',
186189
'.boo = mfr.extensions.codepygments:CodePygmentsRenderer',
190+
'.boxs = mfr.extensions.codepygments:CodePygmentsRenderer',
187191
'.bro = mfr.extensions.codepygments:CodePygmentsRenderer',
192+
'.bst = mfr.extensions.codepygments:CodePygmentsRenderer',
188193
'.bug = mfr.extensions.codepygments:CodePygmentsRenderer',
189194
'.c = mfr.extensions.codepygments:CodePygmentsRenderer',
190195
'.c++ = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -193,6 +198,7 @@ def parse_requirements(requirements):
193198
'.cbl = mfr.extensions.codepygments:CodePygmentsRenderer',
194199
'.cc = mfr.extensions.codepygments:CodePygmentsRenderer',
195200
'.cdf = mfr.extensions.codepygments:CodePygmentsRenderer',
201+
'.cmdi = mfr.extensions.codepygments:CodePygmentsRenderer',
196202
'.ceylon = mfr.extensions.codepygments:CodePygmentsRenderer',
197203
'.cf = mfr.extensions.codepygments:CodePygmentsRenderer',
198204
'.cfc = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -219,6 +225,7 @@ def parse_requirements(requirements):
219225
'.cry = mfr.extensions.codepygments:CodePygmentsRenderer',
220226
'.cs = mfr.extensions.codepygments:CodePygmentsRenderer',
221227
'.csh = mfr.extensions.codepygments:CodePygmentsRenderer',
228+
'.csl = mfr.extensions.codepygments:CodePygmentsRenderer',
222229
'.css = mfr.extensions.codepygments:CodePygmentsRenderer',
223230
'.css.in = mfr.extensions.codepygments:CodePygmentsRenderer',
224231
'.cu = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -246,6 +253,7 @@ def parse_requirements(requirements):
246253
'.dylan = mfr.extensions.codepygments:CodePygmentsRenderer',
247254
'.dylan-console = mfr.extensions.codepygments:CodePygmentsRenderer',
248255
'.e = mfr.extensions.codepygments:CodePygmentsRenderer',
256+
'.eaf = mfr.extensions.codepygments:CodePygmentsRenderer',
249257
'.ebnf = mfr.extensions.codepygments:CodePygmentsRenderer',
250258
'.ebuild = mfr.extensions.codepygments:CodePygmentsRenderer',
251259
'.ec = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -254,6 +262,7 @@ def parse_requirements(requirements):
254262
'.eh = mfr.extensions.codepygments:CodePygmentsRenderer',
255263
'.el = mfr.extensions.codepygments:CodePygmentsRenderer',
256264
# '.eps = mfr.extensions.codepygments:CodePygmentsRenderer',
265+
'.eqn = mfr.extensions.codepygments:CodePygmentsRenderer',
257266
'.erl = mfr.extensions.codepygments:CodePygmentsRenderer',
258267
'.erl-sh = mfr.extensions.codepygments:CodePygmentsRenderer',
259268
'.es = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -266,6 +275,8 @@ def parse_requirements(requirements):
266275
'.factor = mfr.extensions.codepygments:CodePygmentsRenderer',
267276
'.fan = mfr.extensions.codepygments:CodePygmentsRenderer',
268277
'.fancypack = mfr.extensions.codepygments:CodePygmentsRenderer',
278+
'.fas = mfr.extensions.codepygments:CodePygmentsRenderer',
279+
'.fasta= mfr.extensions.codepygments:CodePygmentsRenderer',
269280
'.feature = mfr.extensions.codepygments:CodePygmentsRenderer',
270281
'.fhtml = mfr.extensions.codepygments:CodePygmentsRenderer',
271282
'.flx = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -279,6 +290,7 @@ def parse_requirements(requirements):
279290
'.gap = mfr.extensions.codepygments:CodePygmentsRenderer',
280291
'.gd = mfr.extensions.codepygments:CodePygmentsRenderer',
281292
'.gdc = mfr.extensions.codepygments:CodePygmentsRenderer',
293+
'.gdt = mfr.extensions.codepygments:CodePygmentsRenderer',
282294
'.gemspec = mfr.extensions.codepygments:CodePygmentsRenderer',
283295
'.geo = mfr.extensions.codepygments:CodePygmentsRenderer',
284296
'.gi = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -312,13 +324,17 @@ def parse_requirements(requirements):
312324
'.i7x = mfr.extensions.codepygments:CodePygmentsRenderer',
313325
'.idc = mfr.extensions.codepygments:CodePygmentsRenderer',
314326
'.idr = mfr.extensions.codepygments:CodePygmentsRenderer',
327+
'.ijm = mfr.extensions.codepygments:CodePygmentsRenderer',
315328
'.ik = mfr.extensions.codepygments:CodePygmentsRenderer',
316329
'.inc = mfr.extensions.codepygments:CodePygmentsRenderer',
317330
'.inf = mfr.extensions.codepygments:CodePygmentsRenderer',
318331
'.ini = mfr.extensions.codepygments:CodePygmentsRenderer',
332+
'.ino = mfr.extensions.codepygments:CodePygmentsRenderer',
333+
'.inp = mfr.extensions.codepygments:CodePygmentsRenderer',
319334
'.intr = mfr.extensions.codepygments:CodePygmentsRenderer',
320335
'.io = mfr.extensions.codepygments:CodePygmentsRenderer',
321336
'.ipf = mfr.extensions.codepygments:CodePygmentsRenderer',
337+
'.iqx = mfr.extensions.codepygments:CodePygmentsRenderer',
322338
'.j = mfr.extensions.codepygments:CodePygmentsRenderer',
323339
'.jade = mfr.extensions.codepygments:CodePygmentsRenderer',
324340
'.jag = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -330,6 +346,7 @@ def parse_requirements(requirements):
330346
'.json = mfr.extensions.codepygments:CodePygmentsRenderer',
331347
'.jsonld = mfr.extensions.codepygments:CodePygmentsRenderer',
332348
'.jsp = mfr.extensions.codepygments:CodePygmentsRenderer',
349+
'.jst = mfr.extensions.codepygments:CodePygmentsRenderer',
333350
'.jsx = mfr.extensions.codepygments:CodePygmentsRenderer',
334351
'.kal = mfr.extensions.codepygments:CodePygmentsRenderer',
335352
'.kid = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -342,20 +359,25 @@ def parse_requirements(requirements):
342359
'.lasso[89] = mfr.extensions.codepygments:CodePygmentsRenderer',
343360
'.lcry = mfr.extensions.codepygments:CodePygmentsRenderer',
344361
'.lean = mfr.extensions.codepygments:CodePygmentsRenderer',
362+
'.lgs = mfr.extensions.codepygments:CodePygmentsRenderer',
345363
'.lgt = mfr.extensions.codepygments:CodePygmentsRenderer',
346364
'.lhs = mfr.extensions.codepygments:CodePygmentsRenderer',
347365
'.lid = mfr.extensions.codepygments:CodePygmentsRenderer',
348366
'.lidr = mfr.extensions.codepygments:CodePygmentsRenderer',
349367
'.liquid = mfr.extensions.codepygments:CodePygmentsRenderer',
350368
'.lisp = mfr.extensions.codepygments:CodePygmentsRenderer',
369+
'.list = mfr.extensions.codepygments:CodePygmentsRenderer',
351370
'.ll = mfr.extensions.codepygments:CodePygmentsRenderer',
352371
'.log = mfr.extensions.codepygments:CodePygmentsRenderer',
353372
'.logtalk = mfr.extensions.codepygments:CodePygmentsRenderer',
354373
'.ls = mfr.extensions.codepygments:CodePygmentsRenderer',
355374
'.lsl = mfr.extensions.codepygments:CodePygmentsRenderer',
356375
'.lsp = mfr.extensions.codepygments:CodePygmentsRenderer',
376+
'.lss = mfr.extensions.codepygments:CodePygmentsRenderer',
377+
'.lst = mfr.extensions.codepygments:CodePygmentsRenderer',
357378
'.ltx = mfr.extensions.codepygments:CodePygmentsRenderer',
358379
'.lua = mfr.extensions.codepygments:CodePygmentsRenderer',
380+
'.lyx = mfr.extensions.codepygments:CodePygmentsRenderer',
359381
'.m = mfr.extensions.codepygments:CodePygmentsRenderer',
360382
'.ma = mfr.extensions.codepygments:CodePygmentsRenderer',
361383
'.mak = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -364,6 +386,7 @@ def parse_requirements(requirements):
364386
'.maql = mfr.extensions.codepygments:CodePygmentsRenderer',
365387
'.mask = mfr.extensions.codepygments:CodePygmentsRenderer',
366388
'.mc = mfr.extensions.codepygments:CodePygmentsRenderer',
389+
'.mdp = mfr.extensions.codepygments:CodePygmentsRenderer',
367390
'.mhtml = mfr.extensions.codepygments:CodePygmentsRenderer',
368391
'.mi = mfr.extensions.codepygments:CodePygmentsRenderer',
369392
'.mk = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -388,12 +411,14 @@ def parse_requirements(requirements):
388411
'.nb = mfr.extensions.codepygments:CodePygmentsRenderer',
389412
'.nbp = mfr.extensions.codepygments:CodePygmentsRenderer',
390413
'.nc = mfr.extensions.codepygments:CodePygmentsRenderer',
414+
'.nex = mfr.extensions.codepygments:CodePygmentsRenderer',
391415
'.ni = mfr.extensions.codepygments:CodePygmentsRenderer',
392416
'.nim = mfr.extensions.codepygments:CodePygmentsRenderer',
393417
'.nimrod = mfr.extensions.codepygments:CodePygmentsRenderer',
394418
'.nit = mfr.extensions.codepygments:CodePygmentsRenderer',
395419
'.nix = mfr.extensions.codepygments:CodePygmentsRenderer',
396420
'.nl = mfr.extensions.codepygments:CodePygmentsRenderer',
421+
'.nlogo = mfr.extensions.codepygments:CodePygmentsRenderer',
397422
'.nqp = mfr.extensions.codepygments:CodePygmentsRenderer',
398423
'.ns2 = mfr.extensions.codepygments:CodePygmentsRenderer',
399424
'.nsh = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -402,6 +427,8 @@ def parse_requirements(requirements):
402427
'.objdump-intel = mfr.extensions.codepygments:CodePygmentsRenderer',
403428
'.ooc = mfr.extensions.codepygments:CodePygmentsRenderer',
404429
'.opa = mfr.extensions.codepygments:CodePygmentsRenderer',
430+
'.opensesame = mfr.extensions.codepygments:CodePygmentsRenderer',
431+
'.org = mfr.extensions.codepygments:CodePygmentsRenderer',
405432
'.p = mfr.extensions.codepygments:CodePygmentsRenderer',
406433
'.p6 = mfr.extensions.codepygments:CodePygmentsRenderer',
407434
'.p6l = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -425,12 +452,16 @@ def parse_requirements(requirements):
425452
# '.pot = mfr.extensions.codepygments:CodePygmentsRenderer',
426453
'.pov = mfr.extensions.codepygments:CodePygmentsRenderer',
427454
'.pp = mfr.extensions.codepygments:CodePygmentsRenderer',
455+
'.praat = mfr.extensions.codepygments:CodePygmentsRenderer',
428456
'.prg = mfr.extensions.codepygments:CodePygmentsRenderer',
457+
'.prj = mfr.extensions.codepygments:CodePygmentsRenderer',
429458
'.pro = mfr.extensions.codepygments:CodePygmentsRenderer',
430459
'.prolog = mfr.extensions.codepygments:CodePygmentsRenderer',
431460
'.properties = mfr.extensions.codepygments:CodePygmentsRenderer',
432461
'.proto = mfr.extensions.codepygments:CodePygmentsRenderer',
433462
'.ps = mfr.extensions.codepygments:CodePygmentsRenderer',
463+
'.psydat = mfr.extensions.codepygments:CodePygmentsRenderer',
464+
'.psyexp = mfr.extensions.codepygments:CodePygmentsRenderer',
434465
'.ps1 = mfr.extensions.codepygments:CodePygmentsRenderer',
435466
'.psm1 = mfr.extensions.codepygments:CodePygmentsRenderer',
436467
'.pwn = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -442,7 +473,9 @@ def parse_requirements(requirements):
442473
'.pytb = mfr.extensions.codepygments:CodePygmentsRenderer',
443474
'.pyw = mfr.extensions.codepygments:CodePygmentsRenderer',
444475
'.pyx = mfr.extensions.codepygments:CodePygmentsRenderer',
476+
'.pzfx = mfr.extensions.codepygments:CodePygmentsRenderer',
445477
'.qml = mfr.extensions.codepygments:CodePygmentsRenderer',
478+
'.qsf = mfr.extensions.codepygments:CodePygmentsRenderer',
446479
'.r = mfr.extensions.codepygments:CodePygmentsRenderer',
447480
'.r3 = mfr.extensions.codepygments:CodePygmentsRenderer',
448481
'.rake = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -464,6 +497,8 @@ def parse_requirements(requirements):
464497
'.rktd = mfr.extensions.codepygments:CodePygmentsRenderer',
465498
'.rktl = mfr.extensions.codepygments:CodePygmentsRenderer',
466499
'.rl = mfr.extensions.codepygments:CodePygmentsRenderer',
500+
'.rm5 = mfr.extensions.codepygments:CodePygmentsRenderer',
501+
'.rnw = mfr.extensions.codepygments:CodePygmentsRenderer',
467502
'.robot = mfr.extensions.codepygments:CodePygmentsRenderer',
468503
'.rout = mfr.extensions.codepygments:CodePygmentsRenderer',
469504
'.rpf = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -483,15 +518,18 @@ def parse_requirements(requirements):
483518
'.scaml = mfr.extensions.codepygments:CodePygmentsRenderer',
484519
'.sce = mfr.extensions.codepygments:CodePygmentsRenderer',
485520
'.sci = mfr.extensions.codepygments:CodePygmentsRenderer',
521+
'.sch = mfr.extensions.codepygments:CodePygmentsRenderer',
486522
'.scm = mfr.extensions.codepygments:CodePygmentsRenderer',
487523
'.scss = mfr.extensions.codepygments:CodePygmentsRenderer',
524+
'.sdf = mfr.extensions.codepygments:CodePygmentsRenderer',
488525
'.sh = mfr.extensions.codepygments:CodePygmentsRenderer',
489526
'.sh-session = mfr.extensions.codepygments:CodePygmentsRenderer',
490527
'.shell-session = mfr.extensions.codepygments:CodePygmentsRenderer',
491528
'.sig = mfr.extensions.codepygments:CodePygmentsRenderer',
492529
'.slim = mfr.extensions.codepygments:CodePygmentsRenderer',
493530
'.sls = mfr.extensions.codepygments:CodePygmentsRenderer',
494531
'.smali = mfr.extensions.codepygments:CodePygmentsRenderer',
532+
'.smcl = mfr.extensions.codepygments:CodePygmentsRenderer',
495533
'.sml = mfr.extensions.codepygments:CodePygmentsRenderer',
496534
'.snobol = mfr.extensions.codepygments:CodePygmentsRenderer',
497535
'.sp = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -504,32 +542,39 @@ def parse_requirements(requirements):
504542
'.ssp = mfr.extensions.codepygments:CodePygmentsRenderer',
505543
'.st = mfr.extensions.codepygments:CodePygmentsRenderer',
506544
'.stan = mfr.extensions.codepygments:CodePygmentsRenderer',
545+
'.sty = mfr.extensions.codepygments:CodePygmentsRenderer',
507546
'.sv = mfr.extensions.codepygments:CodePygmentsRenderer',
508547
'.svh = mfr.extensions.codepygments:CodePygmentsRenderer',
509548
'.swg = mfr.extensions.codepygments:CodePygmentsRenderer',
510549
'.swift = mfr.extensions.codepygments:CodePygmentsRenderer',
511550
'.t = mfr.extensions.codepygments:CodePygmentsRenderer',
551+
'.tab = mfr.extensions.codepygments:CodePygmentsRenderer',
512552
'.tac = mfr.extensions.codepygments:CodePygmentsRenderer',
513553
'.tcl = mfr.extensions.codepygments:CodePygmentsRenderer',
514554
'.tcsh = mfr.extensions.codepygments:CodePygmentsRenderer',
515555
'.tea = mfr.extensions.codepygments:CodePygmentsRenderer',
556+
'.tem = mfr.extensions.codepygments:CodePygmentsRenderer',
516557
'.tex = mfr.extensions.codepygments:CodePygmentsRenderer',
558+
'.textgrid = mfr.extensions.codepygments:CodePygmentsRenderer',
517559
'.thy = mfr.extensions.codepygments:CodePygmentsRenderer',
518560
'.tmpl = mfr.extensions.codepygments:CodePygmentsRenderer',
519561
'.toc = mfr.extensions.codepygments:CodePygmentsRenderer',
520562
'.todotxt = mfr.extensions.codepygments:CodePygmentsRenderer',
521563
'.tpl = mfr.extensions.codepygments:CodePygmentsRenderer',
564+
'.tre = mfr.extensions.codepygments:CodePygmentsRenderer',
522565
'.treetop = mfr.extensions.codepygments:CodePygmentsRenderer',
523566
'.ts = mfr.extensions.codepygments:CodePygmentsRenderer',
524567
'.tst = mfr.extensions.codepygments:CodePygmentsRenderer',
525568
'.tt = mfr.extensions.codepygments:CodePygmentsRenderer',
569+
'.ttl = mfr.extensions.codepygments:CodePygmentsRenderer',
526570
'.twig = mfr.extensions.codepygments:CodePygmentsRenderer',
527571
'.txt = mfr.extensions.codepygments:CodePygmentsRenderer',
528572
'.rmd = mfr.extensions.codepygments:CodePygmentsRenderer',
529573
'.do = mfr.extensions.codepygments:CodePygmentsRenderer',
530574
'.sas = mfr.extensions.codepygments:CodePygmentsRenderer',
531575
'.sps = mfr.extensions.codepygments:CodePygmentsRenderer',
532576
'.u = mfr.extensions.codepygments:CodePygmentsRenderer',
577+
'.umbrella = mfr.extensions.codepygments:CodePygmentsRenderer',
533578
'.v = mfr.extensions.codepygments:CodePygmentsRenderer',
534579
'.vala = mfr.extensions.codepygments:CodePygmentsRenderer',
535580
'.vapi = mfr.extensions.codepygments:CodePygmentsRenderer',
@@ -540,8 +585,12 @@ def parse_requirements(requirements):
540585
'.vhdl = mfr.extensions.codepygments:CodePygmentsRenderer',
541586
'.vim = mfr.extensions.codepygments:CodePygmentsRenderer',
542587
'.vm = mfr.extensions.codepygments:CodePygmentsRenderer',
588+
'.vmrk = mfr.extensions.codepygments:CodePygmentsRenderer',
589+
'.vtk = mfr.extensions.codepygments:CodePygmentsRenderer',
590+
'.vtt = mfr.extensions.codepygments:CodePygmentsRenderer',
543591
'.weechatlog = mfr.extensions.codepygments:CodePygmentsRenderer',
544592
'.wlua = mfr.extensions.codepygments:CodePygmentsRenderer',
593+
'.wndpos = mfr.extensions.codepygments:CodePygmentsRenderer',
545594
'.wsdl = mfr.extensions.codepygments:CodePygmentsRenderer',
546595
'.wsf = mfr.extensions.codepygments:CodePygmentsRenderer',
547596
'.x = mfr.extensions.codepygments:CodePygmentsRenderer',

0 commit comments

Comments
 (0)