Новости разработки.md
В следующем релизе
В настоящий момент готовится к выходу версия 2.0.0 программы, в которой появятся давно ожидаемые функции, такие как:
- Проверка орфографии (spellchecker) и подсветка ошибок русского языка
- Маркировка текста заголовками h1-h4
- Подсветка синтаксиса кодовых блоков (блоки отмечаются символами /
…
/) - Подсветка комментариев (символами "",``,'')
- Экспорт в MarkDown с поддержкой заголовков, блоков кода и однострочных комментариев
- Импорт файлов html и md в тело текстового блока
- Специальная вставка html кода в тело текстового блока
- Автоматическое создание маркированных списков
- Обновление документа (слоя) при нажатии F12
- Справка при нажатии F1
- Поддержка клика по url
- Поиск внутри каждой панели
Кроме того, мы переработаем некоторые части программы и сделаем ее работу удобней и устойчивей, а заодно освободим ее от «детских» болезней, которые пришли еще из прототипа.
Подсветка кода для всех языков
Мы давно планировали добавить в проект подсветку кода для большинства языков программирования. В процессе работы было сломано много копий и найдено много подводныйх камней, однако этот процесс близок к завершению. Сегодня мы с уверенностью можем сказать что задача решена, однако предстоит еще тестирвоание - процесс достаточно трудоемкий и непростой. Возможно чтото еще измениться в логике процесса, однако сейчас мы его видим так
Кодовый блок
Может располагаться в любой части текста и встраиваться в специальный и выделенный текстовые блоки, а также в html-код. Указание на блок кода:
/\`\`\`
<Ваш код>
\`\`\`/
Однако такой код будет без подсветки синтаксиса, но уже выделенный специальным шрифтом. Чтобы включилась подсветка, необходимо явно указать язык программирования или разметки. Примеры:
/\`\`\` python
<Ваш код>
\`\`\`/
/\`\`\` markdown
<Ваш код>
\`\`\`/
/\`\`\` html
<Ваш код>
\`\`\`/
/\`\`\` cpp
<Ваш код>
\`\`\`/
и в тексте вашей записи будет полноценно работать подсветка кода. Всего поддерживатеся около 500 языков, а для работы используется библиотека pygments.
Как попробовать работу с новой фичей
Во-первых, необходимо установить зависимость:
pip install pygments
Ну а дальше — установить программу из ветки разработки (dev) так-же как это описано в инструкции по установке.
Когда выйдет релиз?
Мы перешли к тестированию функционала и по окончании этого процесса такая возможность появится в основном инсталляторе. Поскольку изменений достаточно много, хто будет уже версия 2.0.0. Вам же нужно всего-лишь немного подождать.
Еще немного слов о …
Перечень языков для которых имеются лексеры (в нем python может быть обозначен как ‘Python’,‘python’, ‘py’, ‘sage’, ‘python3’, ‘py3’):
('ABAP', ('abap',), ('*.abap', '*.ABAP'), ('text/x-abap',))
('AMDGPU', ('amdgpu',), ('*.isa',), ())
('APL', ('apl',), ('*.apl', '*.aplf', '*.aplo', '*.apln', '*.aplc', '*.apli', '*.dyalog'), ())
('ABNF', ('abnf',), ('*.abnf',), ('text/x-abnf',))
('ActionScript 3', ('actionscript3', 'as3'), ('*.as',), ('application/x-actionscript3', 'text/x-actionscript3', 'text/actionscript3'))
('ActionScript', ('actionscript', 'as'), ('*.as',), ('application/x-actionscript', 'text/x-actionscript', 'text/actionscript'))
('Ada', ('ada', 'ada95', 'ada2005'), ('*.adb', '*.ads', '*.ada'), ('text/x-ada',))
('ADL', ('adl',), ('*.adl', '*.adls', '*.adlf', '*.adlx'), ())
('Agda', ('agda',), ('*.agda',), ('text/x-agda',))
('Aheui', ('aheui',), ('*.aheui',), ())
('Alloy', ('alloy',), ('*.als',), ('text/x-alloy',))
('AmbientTalk', ('ambienttalk', 'ambienttalk/2', 'at'), ('*.at',), ('text/x-ambienttalk',))
('Ampl', ('ampl',), ('*.run',), ())
('HTML + Angular2', ('html+ng2',), ('*.ng2',), ())
('Angular2', ('ng2',), (), ())
('ANTLR With ActionScript Target', ('antlr-actionscript', 'antlr-as'), ('*.G', '*.g'), ())
('ANTLR With C# Target', ('antlr-csharp', 'antlr-c#'), ('*.G', '*.g'), ())
('ANTLR With CPP Target', ('antlr-cpp',), ('*.G', '*.g'), ())
('ANTLR With Java Target', ('antlr-java',), ('*.G', '*.g'), ())
('ANTLR', ('antlr',), (), ())
('ANTLR With ObjectiveC Target', ('antlr-objc',), ('*.G', '*.g'), ())
('ANTLR With Perl Target', ('antlr-perl',), ('*.G', '*.g'), ())
('ANTLR With Python Target', ('antlr-python',), ('*.G', '*.g'), ())
('ANTLR With Ruby Target', ('antlr-ruby', 'antlr-rb'), ('*.G', '*.g'), ())
('ApacheConf', ('apacheconf', 'aconf', 'apache'), ('.htaccess', 'apache.conf', 'apache2.conf'), ('text/x-apacheconf',))
('AppleScript', ('applescript',), ('*.applescript',), ())
('Arduino', ('arduino',), ('*.ino',), ('text/x-arduino',))
('Arrow', ('arrow',), ('*.arw',), ())
('ASCII armored', ('asc', 'pem'), ('*.asc', '*.pem', 'id_dsa', 'id_ecdsa', 'id_ecdsa_sk', 'id_ed25519', 'id_ed25519_sk', 'id_rsa'), ('application/pgp-keys', 'application/pgp-encrypted', 'application/pgp-signature'))
('AspectJ', ('aspectj',), ('*.aj',), ('text/x-aspectj',))
('Asymptote', ('asymptote', 'asy'), ('*.asy',), ('text/x-asymptote',))
('Augeas', ('augeas',), ('*.aug',), ())
('AutoIt', ('autoit',), ('*.au3',), ('text/x-autoit',))
('autohotkey', ('autohotkey', 'ahk'), ('*.ahk', '*.ahkl'), ('text/x-autohotkey',))
('Awk', ('awk', 'gawk', 'mawk', 'nawk'), ('*.awk',), ('application/x-awk',))
('BBC Basic', ('bbcbasic',), ('*.bbc',), ())
('BBCode', ('bbcode',), (), ('text/x-bbcode',))
('BC', ('bc',), ('*.bc',), ())
('BST', ('bst', 'bst-pybtex'), ('*.bst',), ())
('BARE', ('bare',), ('*.bare',), ())
('Base Makefile', ('basemake',), (), ())
('Bash', ('bash', 'sh', 'ksh', 'zsh', 'shell'), ('*.sh', '*.ksh', '*.bash', '*.ebuild', '*.eclass', '*.exheres-0', '*.exlib', '*.zsh', '.bashrc', 'bashrc', '.bash_*', 'bash_*', 'zshrc', '.zshrc', '.kshrc', 'kshrc', 'PKGBUILD'), ('application/x-sh', 'application/x-shellscript', 'text/x-shellscript'))
('Bash Session', ('console', 'shell-session'), ('*.sh-session', '*.shell-session'), ('application/x-shell-session', 'application/x-sh-session'))
('Batchfile', ('batch', 'bat', 'dosbatch', 'winbatch'), ('*.bat', '*.cmd'), ('application/x-dos-batch',))
('Bdd', ('bdd',), ('*.feature',), ('text/x-bdd',))
('Befunge', ('befunge',), ('*.befunge',), ('application/x-befunge',))
('BibTeX', ('bibtex', 'bib'), ('*.bib',), ('text/x-bibtex',))
('BlitzBasic', ('blitzbasic', 'b3d', 'bplus'), ('*.bb', '*.decls'), ('text/x-bb',))
('BlitzMax', ('blitzmax', 'bmax'), ('*.bmx',), ('text/x-bmx',))
('BNF', ('bnf',), ('*.bnf',), ('text/x-bnf',))
('Boa', ('boa',), ('*.boa',), ())
('Boo', ('boo',), ('*.boo',), ('text/x-boo',))
('Boogie', ('boogie',), ('*.bpl',), ())
('Brainfuck', ('brainfuck', 'bf'), ('*.bf', '*.b'), ('application/x-brainfuck',))
('BUGS', ('bugs', 'winbugs', 'openbugs'), ('*.bug',), ())
('CAmkES', ('camkes', 'idl4'), ('*.camkes', '*.idl4'), ())
('C', ('c',), ('*.c', '*.h', '*.idc', '*.x[bp]m'), ('text/x-chdr', 'text/x-csrc', 'image/x-xbitmap', 'image/x-xpixmap'))
('CMake', ('cmake',), ('*.cmake', 'CMakeLists.txt'), ('text/x-cmake',))
('c-objdump', ('c-objdump',), ('*.c-objdump',), ('text/x-c-objdump',))
('CPSA', ('cpsa',), ('*.cpsa',), ())
('aspx-cs', ('aspx-cs',), ('*.aspx', '*.asax', '*.ascx', '*.ashx', '*.asmx', '*.axd'), ())
('C#', ('csharp', 'c#', 'cs'), ('*.cs',), ('text/x-csharp',))
('ca65 assembler', ('ca65',), ('*.s',), ())
('cADL', ('cadl',), ('*.cadl',), ())
('CapDL', ('capdl',), ('*.cdl',), ())
("Cap'n Proto", ('capnp',), ('*.capnp',), ())
('CBM BASIC V2', ('cbmbas',), ('*.bas',), ())
('CDDL', ('cddl',), ('*.cddl',), ('text/x-cddl',))
('Ceylon', ('ceylon',), ('*.ceylon',), ('text/x-ceylon',))
('CFEngine3', ('cfengine3', 'cf3'), ('*.cf',), ())
('ChaiScript', ('chaiscript', 'chai'), ('*.chai',), ('text/x-chaiscript', 'application/x-chaiscript'))
('Chapel', ('chapel', 'chpl'), ('*.chpl',), ())
('Charmci', ('charmci',), ('*.ci',), ())
('HTML+Cheetah', ('html+cheetah', 'html+spitfire', 'htmlcheetah'), (), ('text/html+cheetah', 'text/html+spitfire'))
('JavaScript+Cheetah', ('javascript+cheetah', 'js+cheetah', 'javascript+spitfire', 'js+spitfire'), (), ('application/x-javascript+cheetah', 'text/x-javascript+cheetah', 'text/javascript+cheetah', 'application/x-javascript+spitfire', 'text/x-javascript+spitfire', 'text/javascript+spitfire'))
('Cheetah', ('cheetah', 'spitfire'), ('*.tmpl', '*.spt'), ('application/x-cheetah', 'application/x-spitfire'))
('XML+Cheetah', ('xml+cheetah', 'xml+spitfire'), (), ('application/xml+cheetah', 'application/xml+spitfire'))
('Cirru', ('cirru',), ('*.cirru',), ('text/x-cirru',))
('Clay', ('clay',), ('*.clay',), ('text/x-clay',))
('Clean', ('clean',), ('*.icl', '*.dcl'), ())
('Clojure', ('clojure', 'clj'), ('*.clj',), ('text/x-clojure', 'application/x-clojure'))
('ClojureScript', ('clojurescript', 'cljs'), ('*.cljs',), ('text/x-clojurescript', 'application/x-clojurescript'))
('COBOLFree', ('cobolfree',), ('*.cbl', '*.CBL'), ())
('COBOL', ('cobol',), ('*.cob', '*.COB', '*.cpy', '*.CPY'), ('text/x-cobol',))
('CoffeeScript', ('coffeescript', 'coffee-script', 'coffee'), ('*.coffee',), ('text/coffeescript',))
('Coldfusion CFC', ('cfc',), ('*.cfc',), ())
('Coldfusion HTML', ('cfm',), ('*.cfm', '*.cfml'), ('application/x-coldfusion',))
('cfstatement', ('cfs',), (), ())
('Common Lisp', ('common-lisp', 'cl', 'lisp'), ('*.cl', '*.lisp'), ('text/x-common-lisp',))
('Component Pascal', ('componentpascal', 'cp'), ('*.cp', '*.cps'), ('text/x-component-pascal',))
('Coq', ('coq',), ('*.v',), ('text/x-coq',))
('C++', ('cpp', 'c++'), ('*.cpp', '*.hpp', '*.c++', '*.h++', '*.cc', '*.hh', '*.cxx', '*.hxx', '*.C', '*.H', '*.cp', '*.CPP'), ('text/x-c++hdr', 'text/x-c++src'))
('cpp-objdump', ('cpp-objdump', 'c++-objdumb', 'cxx-objdump'), ('*.cpp-objdump', '*.c++-objdump', '*.cxx-objdump'), ('text/x-cpp-objdump',))
('Crmsh', ('crmsh', 'pcmk'), ('*.crmsh', '*.pcmk'), ())
('Croc', ('croc',), ('*.croc',), ('text/x-crocsrc',))
('Cryptol', ('cryptol', 'cry'), ('*.cry',), ('text/x-cryptol',))
('Crystal', ('cr', 'crystal'), ('*.cr',), ('text/x-crystal',))
('Csound Document', ('csound-document', 'csound-csd'), ('*.csd',), ())
('Csound Orchestra', ('csound', 'csound-orc'), ('*.orc', '*.udo'), ())
('Csound Score', ('csound-score', 'csound-sco'), ('*.sco',), ())
('CSS+Django/Jinja', ('css+django', 'css+jinja'), (), ('text/css+django', 'text/css+jinja'))
('CSS+Ruby', ('css+ruby', 'css+erb'), (), ('text/css+ruby',))
('CSS+Genshi Text', ('css+genshitext', 'css+genshi'), (), ('text/css+genshi',))
('CSS', ('css',), ('*.css',), ('text/css',))
('CSS+PHP', ('css+php',), (), ('text/css+php',))
('CSS+Smarty', ('css+smarty',), (), ('text/css+smarty',))
('CUDA', ('cuda', 'cu'), ('*.cu', '*.cuh'), ('text/x-cuda',))
('Cypher', ('cypher',), ('*.cyp', '*.cypher'), ())
('Cython', ('cython', 'pyx', 'pyrex'), ('*.pyx', '*.pxd', '*.pxi'), ('text/x-cython', 'application/x-cython'))
('D', ('d',), ('*.d', '*.di'), ('text/x-dsrc',))
('d-objdump', ('d-objdump',), ('*.d-objdump',), ('text/x-d-objdump',))
('Darcs Patch', ('dpatch',), ('*.dpatch', '*.darcspatch'), ())
('Dart', ('dart',), ('*.dart',), ('text/x-dart',))
('DASM16', ('dasm16',), ('*.dasm16', '*.dasm'), ('text/x-dasm16',))
('Debian Control file', ('debcontrol', 'control'), ('control',), ())
('Delphi', ('delphi', 'pas', 'pascal', 'objectpascal'), ('*.pas', '*.dpr'), ('text/x-pascal',))
('Devicetree', ('devicetree', 'dts'), ('*.dts', '*.dtsi'), ('text/x-c',))
('dg', ('dg',), ('*.dg',), ('text/x-dg',))
('Diff', ('diff', 'udiff'), ('*.diff', '*.patch'), ('text/x-diff', 'text/x-patch'))
('Django/Jinja', ('django', 'jinja'), (), ('application/x-django-templating', 'application/x-jinja'))
('Docker', ('docker', 'dockerfile'), ('Dockerfile', '*.docker'), ('text/x-dockerfile-config',))
('DTD', ('dtd',), ('*.dtd',), ('application/xml-dtd',))
('Duel', ('duel', 'jbst', 'jsonml+bst'), ('*.duel', '*.jbst'), ('text/x-duel', 'text/x-jbst'))
('Dylan session', ('dylan-console', 'dylan-repl'), ('*.dylan-console',), ('text/x-dylan-console',))
('Dylan', ('dylan',), ('*.dylan', '*.dyl', '*.intr'), ('text/x-dylan',))
('DylanLID', ('dylan-lid', 'lid'), ('*.lid', '*.hdp'), ('text/x-dylan-lid',))
('ECL', ('ecl',), ('*.ecl',), ('application/x-ecl',))
('eC', ('ec',), ('*.ec', '*.eh'), ('text/x-echdr', 'text/x-ecsrc'))
('Earl Grey', ('earl-grey', 'earlgrey', 'eg'), ('*.eg',), ('text/x-earl-grey',))
('Easytrieve', ('easytrieve',), ('*.ezt', '*.mac'), ('text/x-easytrieve',))
('EBNF', ('ebnf',), ('*.ebnf',), ('text/x-ebnf',))
('Eiffel', ('eiffel',), ('*.e',), ('text/x-eiffel',))
('Elixir iex session', ('iex',), (), ('text/x-elixir-shellsession',))
('Elixir', ('elixir', 'ex', 'exs'), ('*.ex', '*.eex', '*.exs', '*.leex'), ('text/x-elixir',))
('Elm', ('elm',), ('*.elm',), ('text/x-elm',))
('Elpi', ('elpi',), ('*.elpi',), ('text/x-elpi',))
('EmacsLisp', ('emacs-lisp', 'elisp', 'emacs'), ('*.el',), ('text/x-elisp', 'application/x-elisp'))
('E-mail', ('email', 'eml'), ('*.eml',), ('message/rfc822',))
('ERB', ('erb',), (), ('application/x-ruby-templating',))
('Erlang', ('erlang',), ('*.erl', '*.hrl', '*.es', '*.escript'), ('text/x-erlang',))
('Erlang erl session', ('erl',), ('*.erl-sh',), ('text/x-erl-shellsession',))
('HTML+Evoque', ('html+evoque',), ('*.html',), ('text/html+evoque',))
('Evoque', ('evoque',), ('*.evoque',), ('application/x-evoque',))
('XML+Evoque', ('xml+evoque',), ('*.xml',), ('application/xml+evoque',))
('execline', ('execline',), ('*.exec',), ())
('Ezhil', ('ezhil',), ('*.n',), ('text/x-ezhil',))
('F#', ('fsharp', 'f#'), ('*.fs', '*.fsi'), ('text/x-fsharp',))
('FStar', ('fstar',), ('*.fst', '*.fsti'), ('text/x-fstar',))
('Factor', ('factor',), ('*.factor',), ('text/x-factor',))
('Fancy', ('fancy', 'fy'), ('*.fy', '*.fancypack'), ('text/x-fancysrc',))
('Fantom', ('fan',), ('*.fan',), ('application/x-fantom',))
('Felix', ('felix', 'flx'), ('*.flx', '*.flxh'), ('text/x-felix',))
('Fennel', ('fennel', 'fnl'), ('*.fnl',), ())
('Fish', ('fish', 'fishshell'), ('*.fish', '*.load'), ('application/x-fish',))
('Flatline', ('flatline',), (), ('text/x-flatline',))
('FloScript', ('floscript', 'flo'), ('*.flo',), ())
('Forth', ('forth',), ('*.frt', '*.fs'), ('application/x-forth',))
('FortranFixed', ('fortranfixed',), ('*.f', '*.F'), ())
('Fortran', ('fortran', 'f90'), ('*.f03', '*.f90', '*.F03', '*.F90'), ('text/x-fortran',))
('FoxPro', ('foxpro', 'vfp', 'clipper', 'xbase'), ('*.PRG', '*.prg'), ())
('Freefem', ('freefem',), ('*.edp',), ('text/x-freefem',))
('Futhark', ('futhark',), ('*.fut',), ('text/x-futhark',))
('GAP', ('gap',), ('*.g', '*.gd', '*.gi', '*.gap'), ())
('GDScript', ('gdscript', 'gd'), ('*.gd',), ('text/x-gdscript', 'application/x-gdscript'))
('GLSL', ('glsl',), ('*.vert', '*.frag', '*.geo'), ('text/x-glslsrc',))
('GSQL', ('gsql',), ('*.gsql',), ())
('GAS', ('gas', 'asm'), ('*.s', '*.S'), ('text/x-gas',))
('g-code', ('gcode',), ('*.gcode',), ())
('Genshi', ('genshi', 'kid', 'xml+genshi', 'xml+kid'), ('*.kid',), ('application/x-genshi', 'application/x-kid'))
('Genshi Text', ('genshitext',), (), ('application/x-genshi-text', 'text/x-genshi'))
('Gettext Catalog', ('pot', 'po'), ('*.pot', '*.po'), ('application/x-gettext', 'text/x-gettext', 'text/gettext'))
('Gherkin', ('gherkin', 'cucumber'), ('*.feature',), ('text/x-gherkin',))
('Gnuplot', ('gnuplot',), ('*.plot', '*.plt'), ('text/x-gnuplot',))
('Go', ('go', 'golang'), ('*.go',), ('text/x-gosrc',))
('Golo', ('golo',), ('*.golo',), ())
('GoodData-CL', ('gooddata-cl',), ('*.gdc',), ('text/x-gooddata-cl',))
('Gosu', ('gosu',), ('*.gs', '*.gsx', '*.gsp', '*.vark'), ('text/x-gosu',))
('Gosu Template', ('gst',), ('*.gst',), ('text/x-gosu-template',))
('Graphviz', ('graphviz', 'dot'), ('*.gv', '*.dot'), ('text/x-graphviz', 'text/vnd.graphviz'))
('Groff', ('groff', 'nroff', 'man'), ('*.[1-9]', '*.man', '*.1p', '*.3pm'), ('application/x-troff', 'text/troff'))
('Groovy', ('groovy',), ('*.groovy', '*.gradle'), ('text/x-groovy',))
('HLSL', ('hlsl',), ('*.hlsl', '*.hlsli'), ('text/x-hlsl',))
('Haml', ('haml',), ('*.haml',), ('text/x-haml',))
('HTML+Handlebars', ('html+handlebars',), ('*.handlebars', '*.hbs'), ('text/html+handlebars', 'text/x-handlebars-template'))
('Handlebars', ('handlebars',), (), ())
('Haskell', ('haskell', 'hs'), ('*.hs',), ('text/x-haskell',))
('Haxe', ('haxe', 'hxsl', 'hx'), ('*.hx', '*.hxsl'), ('text/haxe', 'text/x-haxe', 'text/x-hx'))
('Hexdump', ('hexdump',), (), ())
('HSAIL', ('hsail', 'hsa'), ('*.hsail',), ('text/x-hsail',))
('Hspec', ('hspec',), (), ())
('HTML+Django/Jinja', ('html+django', 'html+jinja', 'htmldjango'), (), ('text/html+django', 'text/html+jinja'))
('HTML+Genshi', ('html+genshi', 'html+kid'), (), ('text/html+genshi',))
('HTML', ('html',), ('*.html', '*.htm', '*.xhtml', '*.xslt'), ('text/html', 'application/xhtml+xml'))
('HTML+PHP', ('html+php',), ('*.phtml',), ('application/x-php', 'application/x-httpd-php', 'application/x-httpd-php3', 'application/x-httpd-php4', 'application/x-httpd-php5'))
('HTML+Smarty', ('html+smarty',), (), ('text/html+smarty',))
('HTTP', ('http',), (), ())
('Hxml', ('haxeml', 'hxml'), ('*.hxml',), ())
('Hy', ('hylang',), ('*.hy',), ('text/x-hy', 'application/x-hy'))
('Hybris', ('hybris', 'hy'), ('*.hy', '*.hyb'), ('text/x-hybris', 'application/x-hybris'))
('IDL', ('idl',), ('*.pro',), ('text/idl',))
('Icon', ('icon',), ('*.icon', '*.ICON'), ())
('Idris', ('idris', 'idr'), ('*.idr',), ('text/x-idris',))
('Igor', ('igor', 'igorpro'), ('*.ipf',), ('text/ipf',))
('Inform 6', ('inform6', 'i6'), ('*.inf',), ())
('Inform 6 template', ('i6t',), ('*.i6t',), ())
('Inform 7', ('inform7', 'i7'), ('*.ni', '*.i7x'), ())
('INI', ('ini', 'cfg', 'dosini'), ('*.ini', '*.cfg', '*.inf', '.editorconfig', '*.service', '*.socket', '*.device', '*.mount', '*.automount', '*.swap', '*.target', '*.path', '*.timer', '*.slice', '*.scope'), ('text/x-ini', 'text/inf'))
('Io', ('io',), ('*.io',), ('text/x-iosrc',))
('Ioke', ('ioke', 'ik'), ('*.ik',), ('text/x-iokesrc',))
('IRC logs', ('irc',), ('*.weechatlog',), ('text/x-irclog',))
('Isabelle', ('isabelle',), ('*.thy',), ('text/x-isabelle',))
('J', ('j',), ('*.ijs',), ('text/x-j',))
('JSLT', ('jslt',), ('*.jslt',), ('text/x-jslt',))
('JAGS', ('jags',), ('*.jag', '*.bug'), ())
('Jasmin', ('jasmin', 'jasminxt'), ('*.j',), ())
('Java', ('java',), ('*.java',), ('text/x-java',))
('JavaScript+Django/Jinja', ('javascript+django', 'js+django', 'javascript+jinja', 'js+jinja'), (), ('application/x-javascript+django', 'application/x-javascript+jinja', 'text/x-javascript+django', 'text/x-javascript+jinja', 'text/javascript+django', 'text/javascript+jinja'))
('JavaScript+Ruby', ('javascript+ruby', 'js+ruby', 'javascript+erb', 'js+erb'), (), ('application/x-javascript+ruby', 'text/x-javascript+ruby', 'text/javascript+ruby'))
('JavaScript+Genshi Text', ('js+genshitext', 'js+genshi', 'javascript+genshitext', 'javascript+genshi'), (), ('application/x-javascript+genshi', 'text/x-javascript+genshi', 'text/javascript+genshi'))
('JavaScript', ('javascript', 'js'), ('*.js', '*.jsm', '*.mjs', '*.cjs'), ('application/javascript', 'application/x-javascript', 'text/x-javascript', 'text/javascript'))
('JavaScript+PHP', ('javascript+php', 'js+php'), (), ('application/x-javascript+php', 'text/x-javascript+php', 'text/javascript+php'))
('JavaScript+Smarty', ('javascript+smarty', 'js+smarty'), (), ('application/x-javascript+smarty', 'text/x-javascript+smarty', 'text/javascript+smarty'))
('JCL', ('jcl',), ('*.jcl',), ('text/x-jcl',))
('JSGF', ('jsgf',), ('*.jsgf',), ('application/jsgf', 'application/x-jsgf', 'text/jsgf'))
('JSONBareObject', (), (), ())
('JSON-LD', ('jsonld', 'json-ld'), ('*.jsonld',), ('application/ld+json',))
('JSON', ('json', 'json-object'), ('*.json', 'Pipfile.lock'), ('application/json', 'application/json-object'))
('Java Server Page', ('jsp',), ('*.jsp',), ('application/x-jsp',))
('Julia console', ('jlcon', 'julia-repl'), (), ())
('Julia', ('julia', 'jl'), ('*.jl',), ('text/x-julia', 'application/x-julia'))
('Juttle', ('juttle',), ('*.juttle',), ('application/juttle', 'application/x-juttle', 'text/x-juttle', 'text/juttle'))
('Kal', ('kal',), ('*.kal',), ('text/kal', 'application/kal'))
('Kconfig', ('kconfig', 'menuconfig', 'linux-config', 'kernel-config'), ('Kconfig*', '*Config.in*', 'external.in*', 'standard-modules.in'), ('text/x-kconfig',))
('Kernel log', ('kmsg', 'dmesg'), ('*.kmsg', '*.dmesg'), ())
('Koka', ('koka',), ('*.kk', '*.kki'), ('text/x-koka',))
('Kotlin', ('kotlin',), ('*.kt', '*.kts'), ('text/x-kotlin',))
('Kuin', ('kuin',), ('*.kn',), ())
('LSL', ('lsl',), ('*.lsl',), ('text/x-lsl',))
('CSS+Lasso', ('css+lasso',), (), ('text/css+lasso',))
('HTML+Lasso', ('html+lasso',), (), ('text/html+lasso', 'application/x-httpd-lasso', 'application/x-httpd-lasso[89]'))
('JavaScript+Lasso', ('javascript+lasso', 'js+lasso'), (), ('application/x-javascript+lasso', 'text/x-javascript+lasso', 'text/javascript+lasso'))
('Lasso', ('lasso', 'lassoscript'), ('*.lasso', '*.lasso[89]'), ('text/x-lasso',))
('XML+Lasso', ('xml+lasso',), (), ('application/xml+lasso',))
('Lean', ('lean',), ('*.lean',), ('text/x-lean',))
('LessCss', ('less',), ('*.less',), ('text/x-less-css',))
('Lighttpd configuration file', ('lighttpd', 'lighty'), ('lighttpd.conf',), ('text/x-lighttpd-conf',))
('LilyPond', ('lilypond',), ('*.ly',), ())
('Limbo', ('limbo',), ('*.b',), ('text/limbo',))
('liquid', ('liquid',), ('*.liquid',), ())
('Literate Agda', ('literate-agda', 'lagda'), ('*.lagda',), ('text/x-literate-agda',))
('Literate Cryptol', ('literate-cryptol', 'lcryptol', 'lcry'), ('*.lcry',), ('text/x-literate-cryptol',))
('Literate Haskell', ('literate-haskell', 'lhaskell', 'lhs'), ('*.lhs',), ('text/x-literate-haskell',))
('Literate Idris', ('literate-idris', 'lidris', 'lidr'), ('*.lidr',), ('text/x-literate-idris',))
('LiveScript', ('livescript', 'live-script'), ('*.ls',), ('text/livescript',))
('LLVM', ('llvm',), ('*.ll',), ('text/x-llvm',))
('LLVM-MIR Body', ('llvm-mir-body',), (), ())
('LLVM-MIR', ('llvm-mir',), ('*.mir',), ())
('Logos', ('logos',), ('*.x', '*.xi', '*.xm', '*.xmi'), ('text/x-logos',))
('Logtalk', ('logtalk',), ('*.lgt', '*.logtalk'), ('text/x-logtalk',))
('Lua', ('lua',), ('*.lua', '*.wlua'), ('text/x-lua', 'application/x-lua'))
('MIME', ('mime',), (), ('multipart/mixed', 'multipart/related', 'multipart/alternative'))
('MOOCode', ('moocode', 'moo'), ('*.moo',), ('text/x-moocode',))
('MSDOS Session', ('doscon',), (), ())
('Makefile', ('make', 'makefile', 'mf', 'bsdmake'), ('*.mak', '*.mk', 'Makefile', 'makefile', 'Makefile.*', 'GNUmakefile'), ('text/x-makefile',))
('CSS+Mako', ('css+mako',), (), ('text/css+mako',))
('HTML+Mako', ('html+mako',), (), ('text/html+mako',))
('JavaScript+Mako', ('javascript+mako', 'js+mako'), (), ('application/x-javascript+mako', 'text/x-javascript+mako', 'text/javascript+mako'))
('Mako', ('mako',), ('*.mao',), ('application/x-mako',))
('XML+Mako', ('xml+mako',), (), ('application/xml+mako',))
('MAQL', ('maql',), ('*.maql',), ('text/x-gooddata-maql', 'application/x-gooddata-maql'))
('Markdown', ('markdown', 'md'), ('*.md', '*.markdown'), ('text/x-markdown',))
('Mask', ('mask',), ('*.mask',), ('text/x-mask',))
('Mason', ('mason',), ('*.m', '*.mhtml', '*.mc', '*.mi', 'autohandler', 'dhandler'), ('application/x-mason',))
('Mathematica', ('mathematica', 'mma', 'nb'), ('*.nb', '*.cdf', '*.nbp', '*.ma'), ('application/mathematica', 'application/vnd.wolfram.mathematica', 'application/vnd.wolfram.mathematica.package', 'application/vnd.wolfram.cdf'))
('Matlab', ('matlab',), ('*.m',), ('text/matlab',))
('Matlab session', ('matlabsession',), (), ())
('Maxima', ('maxima', 'macsyma'), ('*.mac', '*.max'), ())
('Meson', ('meson', 'meson.build'), ('meson.build', 'meson_options.txt'), ('text/x-meson',))
('MiniD', ('minid',), (), ('text/x-minidsrc',))
('MiniScript', ('miniscript', 'ms'), ('*.ms',), ('text/x-minicript', 'application/x-miniscript'))
('Modelica', ('modelica',), ('*.mo',), ('text/x-modelica',))
('Modula-2', ('modula2', 'm2'), ('*.def', '*.mod'), ('text/x-modula2',))
('MoinMoin/Trac Wiki markup', ('trac-wiki', 'moin'), (), ('text/x-trac-wiki',))
('Monkey', ('monkey',), ('*.monkey',), ('text/x-monkey',))
('Monte', ('monte',), ('*.mt',), ())
('MoonScript', ('moonscript', 'moon'), ('*.moon',), ('text/x-moonscript', 'application/x-moonscript'))
('Mosel', ('mosel',), ('*.mos',), ())
('CSS+mozpreproc', ('css+mozpreproc',), ('*.css.in',), ())
('mozhashpreproc', ('mozhashpreproc',), (), ())
('Javascript+mozpreproc', ('javascript+mozpreproc',), ('*.js.in',), ())
('mozpercentpreproc', ('mozpercentpreproc',), (), ())
('XUL+mozpreproc', ('xul+mozpreproc',), ('*.xul.in',), ())
('MQL', ('mql', 'mq4', 'mq5', 'mql4', 'mql5'), ('*.mq4', '*.mq5', '*.mqh'), ('text/x-mql',))
('Mscgen', ('mscgen', 'msc'), ('*.msc',), ())
('MuPAD', ('mupad',), ('*.mu',), ())
('MXML', ('mxml',), ('*.mxml',), ())
('MySQL', ('mysql',), (), ('text/x-mysql',))
('CSS+Myghty', ('css+myghty',), (), ('text/css+myghty',))
('HTML+Myghty', ('html+myghty',), (), ('text/html+myghty',))
('JavaScript+Myghty', ('javascript+myghty', 'js+myghty'), (), ('application/x-javascript+myghty', 'text/x-javascript+myghty', 'text/javascript+mygthy'))
('Myghty', ('myghty',), ('*.myt', 'autodelegate'), ('application/x-myghty',))
('XML+Myghty', ('xml+myghty',), (), ('application/xml+myghty',))
('NCL', ('ncl',), ('*.ncl',), ('text/ncl',))
('NSIS', ('nsis', 'nsi', 'nsh'), ('*.nsi', '*.nsh'), ('text/x-nsis',))
('NASM', ('nasm',), ('*.asm', '*.ASM'), ('text/x-nasm',))
('objdump-nasm', ('objdump-nasm',), ('*.objdump-intel',), ('text/x-nasm-objdump',))
('Nemerle', ('nemerle',), ('*.n',), ('text/x-nemerle',))
('nesC', ('nesc',), ('*.nc',), ('text/x-nescsrc',))
('NestedText', ('nestedtext', 'nt'), ('*.nt',), ())
('NewLisp', ('newlisp',), ('*.lsp', '*.nl', '*.kif'), ('text/x-newlisp', 'application/x-newlisp'))
('Newspeak', ('newspeak',), ('*.ns2',), ('text/x-newspeak',))
('Nginx configuration file', ('nginx',), ('nginx.conf',), ('text/x-nginx-conf',))
('Nimrod', ('nimrod', 'nim'), ('*.nim', '*.nimrod'), ('text/x-nim',))
('Nit', ('nit',), ('*.nit',), ())
('Nix', ('nixos', 'nix'), ('*.nix',), ('text/x-nix',))
('Node.js REPL console session', ('nodejsrepl',), (), ('text/x-nodejsrepl',))
('Notmuch', ('notmuch',), (), ())
('NuSMV', ('nusmv',), ('*.smv',), ())
('NumPy', ('numpy',), (), ())
('objdump', ('objdump',), ('*.objdump',), ('text/x-objdump',))
('Objective-C', ('objective-c', 'objectivec', 'obj-c', 'objc'), ('*.m', '*.h'), ('text/x-objective-c',))
('Objective-C++', ('objective-c++', 'objectivec++', 'obj-c++', 'objc++'), ('*.mm', '*.hh'), ('text/x-objective-c++',))
('Objective-J', ('objective-j', 'objectivej', 'obj-j', 'objj'), ('*.j',), ('text/x-objective-j',))
('OCaml', ('ocaml',), ('*.ml', '*.mli', '*.mll', '*.mly'), ('text/x-ocaml',))
('Octave', ('octave',), ('*.m',), ('text/octave',))
('ODIN', ('odin',), ('*.odin',), ('text/odin',))
('OMG Interface Definition Language', ('omg-idl',), ('*.idl', '*.pidl'), ())
('Ooc', ('ooc',), ('*.ooc',), ('text/x-ooc',))
('Opa', ('opa',), ('*.opa',), ('text/x-opa',))
('OpenEdge ABL', ('openedge', 'abl', 'progress'), ('*.p', '*.cls'), ('text/x-openedge', 'application/x-openedge'))
('Text output', ('output',), (), ())
('PacmanConf', ('pacmanconf',), ('pacman.conf',), ())
('Pan', ('pan',), ('*.pan',), ())
('ParaSail', ('parasail',), ('*.psi', '*.psl'), ('text/x-parasail',))
('Pawn', ('pawn',), ('*.p', '*.pwn', '*.inc'), ('text/x-pawn',))
('PEG', ('peg',), ('*.peg',), ('text/x-peg',))
('Perl6', ('perl6', 'pl6', 'raku'), ('*.pl', '*.pm', '*.nqp', '*.p6', '*.6pl', '*.p6l', '*.pl6', '*.6pm', '*.p6m', '*.pm6', '*.t', '*.raku', '*.rakumod', '*.rakutest', '*.rakudoc'), ('text/x-perl6', 'application/x-perl6'))
('Perl', ('perl', 'pl'), ('*.pl', '*.pm', '*.t', '*.perl'), ('text/x-perl', 'application/x-perl'))
('PHP', ('php', 'php3', 'php4', 'php5'), ('*.php', '*.php[345]', '*.inc'), ('text/x-php',))
('Pig', ('pig',), ('*.pig',), ('text/x-pig',))
('Pike', ('pike',), ('*.pike', '*.pmod'), ('text/x-pike',))
('PkgConfig', ('pkgconfig',), ('*.pc',), ())
('PL/pgSQL', ('plpgsql',), (), ('text/x-plpgsql',))
('Pointless', ('pointless',), ('*.ptls',), ())
('Pony', ('pony',), ('*.pony',), ())
('PostScript', ('postscript', 'postscr'), ('*.ps', '*.eps'), ('application/postscript',))
('PostgreSQL console (psql)', ('psql', 'postgresql-console', 'postgres-console'), (), ('text/x-postgresql-psql',))
('PostgreSQL SQL dialect', ('postgresql', 'postgres'), (), ('text/x-postgresql',))
('POVRay', ('pov',), ('*.pov', '*.inc'), ('text/x-povray',))
('PowerShell', ('powershell', 'pwsh', 'posh', 'ps1', 'psm1'), ('*.ps1', '*.psm1'), ('text/x-powershell',))
('PowerShell Session', ('pwsh-session', 'ps1con'), (), ())
('Praat', ('praat',), ('*.praat', '*.proc', '*.psc'), ())
('Procfile', ('procfile',), ('Procfile',), ())
('Prolog', ('prolog',), ('*.ecl', '*.prolog', '*.pro', '*.pl'), ('text/x-prolog',))
('PromQL', ('promql',), ('*.promql',), ())
('Properties', ('properties', 'jproperties'), ('*.properties',), ('text/x-java-properties',))
('Protocol Buffer', ('protobuf', 'proto'), ('*.proto',), ())
('PsySH console session for PHP', ('psysh',), (), ())
('Pug', ('pug', 'jade'), ('*.pug', '*.jade'), ('text/x-pug', 'text/x-jade'))
('Puppet', ('puppet',), ('*.pp',), ())
('PyPy Log', ('pypylog', 'pypy'), ('*.pypylog',), ('application/x-pypylog',))
('Python 2.x', ('python2', 'py2'), (), ('text/x-python2', 'application/x-python2'))
('Python 2.x Traceback', ('py2tb',), ('*.py2tb',), ('text/x-python2-traceback',))
('Python console session', ('pycon',), (), ('text/x-python-doctest',))
('Python', ('python', 'py', 'sage', 'python3', 'py3'), ('*.py', '*.pyw', '*.jy', '*.sage', '*.sc', 'SConstruct', 'SConscript', '*.bzl', 'BUCK', 'BUILD', 'BUILD.bazel', 'WORKSPACE', '*.tac'), ('text/x-python', 'application/x-python', 'text/x-python3', 'application/x-python3'))
('Python Traceback', ('pytb', 'py3tb'), ('*.pytb', '*.py3tb'), ('text/x-python-traceback', 'text/x-python3-traceback'))
('QBasic', ('qbasic', 'basic'), ('*.BAS', '*.bas'), ('text/basic',))
('QVTO', ('qvto', 'qvt'), ('*.qvto',), ())
('QML', ('qml', 'qbs'), ('*.qml', '*.qbs'), ('application/x-qml', 'application/x-qt.qbs+qml'))
('RConsole', ('rconsole', 'rout'), ('*.Rout',), ())
('Relax-NG Compact', ('rng-compact', 'rnc'), ('*.rnc',), ())
('RPMSpec', ('spec',), ('*.spec',), ('text/x-rpm-spec',))
('Racket', ('racket', 'rkt'), ('*.rkt', '*.rktd', '*.rktl'), ('text/x-racket', 'application/x-racket'))
('Ragel in C Host', ('ragel-c',), ('*.rl',), ())
('Ragel in CPP Host', ('ragel-cpp',), ('*.rl',), ())
('Ragel in D Host', ('ragel-d',), ('*.rl',), ())
('Embedded Ragel', ('ragel-em',), ('*.rl',), ())
('Ragel in Java Host', ('ragel-java',), ('*.rl',), ())
('Ragel', ('ragel',), (), ())
('Ragel in Objective C Host', ('ragel-objc',), ('*.rl',), ())
('Ragel in Ruby Host', ('ragel-ruby', 'ragel-rb'), ('*.rl',), ())
('Raw token data', (), (), ('application/x-pygments-tokens',))
('Rd', ('rd',), ('*.Rd',), ('text/x-r-doc',))
('ReasonML', ('reasonml', 'reason'), ('*.re', '*.rei'), ('text/x-reasonml',))
('REBOL', ('rebol',), ('*.r', '*.r3', '*.reb'), ('text/x-rebol',))
('Red', ('red', 'red/system'), ('*.red', '*.reds'), ('text/x-red', 'text/x-red-system'))
('Redcode', ('redcode',), ('*.cw',), ())
('reg', ('registry',), ('*.reg',), ('text/x-windows-registry',))
('ResourceBundle', ('resourcebundle', 'resource'), (), ())
('Rexx', ('rexx', 'arexx'), ('*.rexx', '*.rex', '*.rx', '*.arexx'), ('text/x-rexx',))
('RHTML', ('rhtml', 'html+erb', 'html+ruby'), ('*.rhtml',), ('text/html+ruby',))
('Ride', ('ride',), ('*.ride',), ('text/x-ride',))
('Rita', ('rita',), ('*.rita',), ('text/rita',))
('Roboconf Graph', ('roboconf-graph',), ('*.graph',), ())
('Roboconf Instances', ('roboconf-instances',), ('*.instances',), ())
('RobotFramework', ('robotframework',), ('*.robot',), ('text/x-robotframework',))
('RQL', ('rql',), ('*.rql',), ('text/x-rql',))
('RSL', ('rsl',), ('*.rsl',), ('text/rsl',))
('reStructuredText', ('restructuredtext', 'rst', 'rest'), ('*.rst', '*.rest'), ('text/x-rst', 'text/prs.fallenstein.rst'))
('TrafficScript', ('trafficscript', 'rts'), ('*.rts',), ())
('Ruby irb session', ('rbcon', 'irb'), (), ('text/x-ruby-shellsession',))
('Ruby', ('ruby', 'rb', 'duby'), ('*.rb', '*.rbw', 'Rakefile', '*.rake', '*.gemspec', '*.rbx', '*.duby', 'Gemfile', 'Vagrantfile'), ('text/x-ruby', 'application/x-ruby'))
('Rust', ('rust', 'rs'), ('*.rs', '*.rs.in'), ('text/rust', 'text/x-rust'))
('SAS', ('sas',), ('*.SAS', '*.sas'), ('text/x-sas', 'text/sas', 'application/x-sas'))
('S', ('splus', 's', 'r'), ('*.S', '*.R', '.Rhistory', '.Rprofile', '.Renviron'), ('text/S-plus', 'text/S', 'text/x-r-source', 'text/x-r', 'text/x-R', 'text/x-r-history', 'text/x-r-profile'))
('Standard ML', ('sml',), ('*.sml', '*.sig', '*.fun'), ('text/x-standardml', 'application/x-standardml'))
('SARL', ('sarl',), ('*.sarl',), ('text/x-sarl',))
('Sass', ('sass',), ('*.sass',), ('text/x-sass',))
('Savi', ('savi',), ('*.savi',), ())
('Scala', ('scala',), ('*.scala',), ('text/x-scala',))
('Scaml', ('scaml',), ('*.scaml',), ('text/x-scaml',))
('scdoc', ('scdoc', 'scd'), ('*.scd', '*.scdoc'), ())
('Scheme', ('scheme', 'scm'), ('*.scm', '*.ss'), ('text/x-scheme', 'application/x-scheme'))
('Scilab', ('scilab',), ('*.sci', '*.sce', '*.tst'), ('text/scilab',))
('SCSS', ('scss',), ('*.scss',), ('text/x-scss',))
('Sed', ('sed', 'gsed', 'ssed'), ('*.sed', '*.[gs]sed'), ('text/x-sed',))
('ShExC', ('shexc', 'shex'), ('*.shex',), ('text/shex',))
('Shen', ('shen',), ('*.shen',), ('text/x-shen', 'application/x-shen'))
('Sieve', ('sieve',), ('*.siv', '*.sieve'), ())
('Silver', ('silver',), ('*.sil', '*.vpr'), ())
('Singularity', ('singularity',), ('*.def', 'Singularity'), ())
('Slash', ('slash',), ('*.sla',), ())
('Slim', ('slim',), ('*.slim',), ('text/x-slim',))
('Slurm', ('slurm', 'sbatch'), ('*.sl',), ())
('Smali', ('smali',), ('*.smali',), ('text/smali',))
('Smalltalk', ('smalltalk', 'squeak', 'st'), ('*.st',), ('text/x-smalltalk',))
('SmartGameFormat', ('sgf',), ('*.sgf',), ())
('Smarty', ('smarty',), ('*.tpl',), ('application/x-smarty',))
('Smithy', ('smithy',), ('*.smithy',), ())
('Snobol', ('snobol',), ('*.snobol',), ('text/x-snobol',))
('Snowball', ('snowball',), ('*.sbl',), ())
('Solidity', ('solidity',), ('*.sol',), ())
('Sophia', ('sophia',), ('*.aes',), ())
('SourcePawn', ('sp',), ('*.sp',), ('text/x-sourcepawn',))
('Debian Sourcelist', ('debsources', 'sourceslist', 'sources.list'), ('sources.list',), ())
('SPARQL', ('sparql',), ('*.rq', '*.sparql'), ('application/sparql-query',))
('Spice', ('spice', 'spicelang'), ('*.spice',), ('text/x-spice',))
('SQL', ('sql',), ('*.sql',), ('text/x-sql',))
('sqlite3con', ('sqlite3',), ('*.sqlite3-console',), ('text/x-sqlite3-console',))
('SquidConf', ('squidconf', 'squid.conf', 'squid'), ('squid.conf',), ('text/x-squidconf',))
('Srcinfo', ('srcinfo',), ('.SRCINFO',), ())
('Scalate Server Page', ('ssp',), ('*.ssp',), ('application/x-ssp',))
('Stan', ('stan',), ('*.stan',), ())
('Stata', ('stata', 'do'), ('*.do', '*.ado'), ('text/x-stata', 'text/stata', 'application/x-stata'))
('SuperCollider', ('supercollider', 'sc'), ('*.sc', '*.scd'), ('application/supercollider', 'text/supercollider'))
('Swift', ('swift',), ('*.swift',), ('text/x-swift',))
('SWIG', ('swig',), ('*.swg', '*.i'), ('text/swig',))
('systemverilog', ('systemverilog', 'sv'), ('*.sv', '*.svh'), ('text/x-systemverilog',))
('TAP', ('tap',), ('*.tap',), ())
('Typographic Number Theory', ('tnt',), ('*.tnt',), ())
('TOML', ('toml',), ('*.toml', 'Pipfile', 'poetry.lock'), ())
('TADS 3', ('tads3',), ('*.t',), ())
('TASM', ('tasm',), ('*.asm', '*.ASM', '*.tasm'), ('text/x-tasm',))
('Tcl', ('tcl',), ('*.tcl', '*.rvt'), ('text/x-tcl', 'text/x-script.tcl', 'application/x-tcl'))
('Tcsh', ('tcsh', 'csh'), ('*.tcsh', '*.csh'), ('application/x-csh',))
('Tcsh Session', ('tcshcon',), (), ())
('Tea', ('tea',), ('*.tea',), ('text/x-tea',))
('teal', ('teal',), ('*.teal',), ())
('Tera Term macro', ('teratermmacro', 'teraterm', 'ttl'), ('*.ttl',), ('text/x-teratermmacro',))
('Termcap', ('termcap',), ('termcap', 'termcap.src'), ())
('Terminfo', ('terminfo',), ('terminfo', 'terminfo.src'), ())
('Terraform', ('terraform', 'tf'), ('*.tf',), ('application/x-tf', 'application/x-terraform'))
('TeX', ('tex', 'latex'), ('*.tex', '*.aux', '*.toc'), ('text/x-tex', 'text/x-latex'))
('Text only', ('text',), ('*.txt',), ('text/plain',))
('ThingsDB', ('ti', 'thingsdb'), ('*.ti',), ())
('Thrift', ('thrift',), ('*.thrift',), ('application/x-thrift',))
('tiddler', ('tid',), ('*.tid',), ('text/vnd.tiddlywiki',))
('Todotxt', ('todotxt',), ('todo.txt', '*.todotxt'), ('text/x-todo',))
('Transact-SQL', ('tsql', 't-sql'), ('*.sql',), ('text/x-tsql',))
('Treetop', ('treetop',), ('*.treetop', '*.tt'), ())
('Turtle', ('turtle',), ('*.ttl',), ('text/turtle', 'application/x-turtle'))
('HTML+Twig', ('html+twig',), ('*.twig',), ('text/html+twig',))
('Twig', ('twig',), (), ('application/x-twig',))
('TypeScript', ('typescript', 'ts'), ('*.ts',), ('application/x-typescript', 'text/x-typescript'))
('TypoScriptCssData', ('typoscriptcssdata',), (), ())
('TypoScriptHtmlData', ('typoscripthtmldata',), (), ())
('TypoScript', ('typoscript',), ('*.typoscript',), ('text/x-typoscript',))
('ucode', ('ucode',), ('*.u', '*.u1', '*.u2'), ())
('Unicon', ('unicon',), ('*.icn',), ('text/unicon',))
('UrbiScript', ('urbiscript',), ('*.u',), ('application/x-urbiscript',))
('USD', ('usd', 'usda'), ('*.usd', '*.usda'), ())
('VBScript', ('vbscript',), ('*.vbs', '*.VBS'), ())
('VCL', ('vcl',), ('*.vcl',), ('text/x-vclsrc',))
('VCLSnippets', ('vclsnippets', 'vclsnippet'), (), ('text/x-vclsnippet',))
('VCTreeStatus', ('vctreestatus',), (), ())
('VGL', ('vgl',), ('*.rpf',), ())
('Vala', ('vala', 'vapi'), ('*.vala', '*.vapi'), ('text/x-vala',))
('aspx-vb', ('aspx-vb',), ('*.aspx', '*.asax', '*.ascx', '*.ashx', '*.asmx', '*.axd'), ())
('VB.net', ('vb.net', 'vbnet'), ('*.vb', '*.bas'), ('text/x-vbnet', 'text/x-vba'))
('HTML+Velocity', ('html+velocity',), (), ('text/html+velocity',))
('Velocity', ('velocity',), ('*.vm', '*.fhtml'), ())
('XML+Velocity', ('xml+velocity',), (), ('application/xml+velocity',))
('verilog', ('verilog', 'v'), ('*.v',), ('text/x-verilog',))
('vhdl', ('vhdl',), ('*.vhdl', '*.vhd'), ('text/x-vhdl',))
('VimL', ('vim',), ('*.vim', '.vimrc', '.exrc', '.gvimrc', '_vimrc', '_exrc', '_gvimrc', 'vimrc', 'gvimrc'), ('text/x-vim',))
('WDiff', ('wdiff',), ('*.wdiff',), ())
('WebAssembly', ('wast', 'wat'), ('*.wat', '*.wast'), ())
('Web IDL', ('webidl',), ('*.webidl',), ())
('Whiley', ('whiley',), ('*.whiley',), ('text/x-whiley',))
('X10', ('x10', 'xten'), ('*.x10',), ('text/x-x10',))
('XQuery', ('xquery', 'xqy', 'xq', 'xql', 'xqm'), ('*.xqy', '*.xquery', '*.xq', '*.xql', '*.xqm'), ('text/xquery', 'application/xquery'))
('XML+Django/Jinja', ('xml+django', 'xml+jinja'), (), ('application/xml+django', 'application/xml+jinja'))
('XML+Ruby', ('xml+ruby', 'xml+erb'), (), ('application/xml+ruby',))
('XML', ('xml',), ('*.xml', '*.xsl', '*.rss', '*.xslt', '*.xsd', '*.wsdl', '*.wsf'), ('text/xml', 'application/xml', 'image/svg+xml', 'application/rss+xml', 'application/atom+xml'))
('XML+PHP', ('xml+php',), (), ('application/xml+php',))
('XML+Smarty', ('xml+smarty',), (), ('application/xml+smarty',))
('Xorg', ('xorg.conf',), ('xorg.conf',), ())
('XSLT', ('xslt',), ('*.xsl', '*.xslt', '*.xpl'), ('application/xsl+xml', 'application/xslt+xml'))
('Xtend', ('xtend',), ('*.xtend',), ('text/x-xtend',))
('xtlang', ('extempore',), ('*.xtm',), ())
('YAML+Jinja', ('yaml+jinja', 'salt', 'sls'), ('*.sls',), ('text/x-yaml+jinja', 'text/x-sls'))
('YAML', ('yaml',), ('*.yaml', '*.yml'), ('text/x-yaml',))
('YANG', ('yang',), ('*.yang',), ('application/yang',))
('Zeek', ('zeek', 'bro'), ('*.zeek', '*.bro'), ())
('Zephir', ('zephir',), ('*.zep',), ())
('Zig', ('zig',), ('*.zig',), ('text/zig',))
('ANSYS parametric design language', ('ansys', 'apdl'), ('*.ans',), ())