Парсеры
Contents
Помимо вики-разметки МойнМойн, используемой по умолчанию, различные обработчики входных форматов (далее называемые парсерами) позволяют пользователям иметь на вики данные в различных форматах (как в виде отдельных страниц, так и в качестве частей внутри других страниц, если синтаксис этих страниц поддерживает такую возможность).
Схема работы и использование парсеров
Парсеры обрабатывают поток во входном формате и генерируют набор вызовов для генераторов выходного формата («formatter») для получения итоговой страницы. Парсер можно использовать одним из двух способов:
Указание инструкции #format
Инструкция #format может использоваться для указания МойнМойн, какой парсер должен использоваться для обработки страницы. По умолчанию это парсер вики-разметки Мойн-Мойн — wiki.
Блок с указанным парсером — см. КакФорматировать
При использовании блока с указанием парсера, он может применяться только к части страницы. Используемый парсер указывается в параметре блока (в синтаксисе wiki — сразу после открывающей конструкции с использованием shebang, в creole — на следующей строке с использованием shebang; shebang используется по аналогии с UNIX, где он используется для указания интерпретатора скриптового файла)
Пример: использование инструкции
Здесь в качестве примера выступает отдельная страница:
#format creole ... **полужирное начертание** ...
Пример: блок с указанием парсера
В данном примере подразумевается, что это — часть вики-страницы:
{{{#!csv , а,б,в г,д,е }}}
Будет отображно как:
Вложние блоков с указанием парсера
Существует два способа решения проблемы с вложением блоков:
- Использовать более трёх фигурных скобок для начала и окончания внешних блоков (при этом, подобные последовательности не должны содержаться внутри блока), например:
{{{{ {{{ ... }}} }}}}
- Использовать 3 фигурных скобки и уникальную строку:
{{{фывапролджэ {{{ ... }}} фывапролджэ}}}
Для дополнительной информации по разметке см. КакРедактировать.
Парсеры для написания текста вики-страницы
Ряд парсеров предназначен для использования в нормальном тексте страницы (т. е. как документ):
wiki — стандартный парсер вики-разметки МойнМойн, см. СправочникПоСинтаксису.
creole — парсер разметки Creole, см. ПомощьПоСинтаксисуCreole.
ReST (reStructuredText) — см. /ReStructuredText
XML/XSLT/DocBook — см. ПомощьПоXmlСтраницам
Парсер CSV
Парсер CSV работает с так называемыми разделенными запятыми значениями, но запятая может быть заменена точкой с запятой. Первая строка рассматривается, как разделенные названия колонок, которые отобразятся в полужирном начертании; если таблица не должна содержать шапку, то достаточно оставить пустой первую строку.
При указании парсера можно задавать следующие параметры:
delimiter или separator: delimiter=, задаёт запятую в качестве разделителя полей. Разделитель можно также указывать первым аргументом, не указывая имени параметра.
quotechar: quotechar=" позволяет квотировать значения двойными кавычками.
show: список столбцов, разделённых запятыми, которые необходимо показывать.
hide: список столбцов, разделённых запятыми, которые необходимо исключить из выдачи.
autofilter: список столбцов, разделённых запятыми, по которым необходимо разрешить фильтрацию.
name: имя набора данных.
link: список столбцов, имеющих формат http://example.com/link описание ссылки, нежели просто текста.
static_cols, static_vals: столбцы (и значения, соответственно), добавляемые к каждой записи.
-N (where N is a number): спрятать столбец с номером N (полезно в случае, когда заголовки столбцов опущены).
Пример использования парсера (см. исходный текст страницы для разметки): фрагмент истории изменений МойнМойн 1.3:
Пример с использованием параметра парсера link:
{{{#!csv delimiter=, link=Сервер quotechar=" Тип,Сервер вики,http://moinmo.in MoinMoin перевод,http://master19.moinmo.in master19 }}}
Будет показан на странице следующим образом:
Парсеры diff, cplusplus, python, java, pascal, irc/irssi parsers
Данные парсеры присутствовали в МойнМойн версий старше 1.9 и были реализованы посредством специфичной для МойнМойн реализации парсинга и подсвети синтаксиса.
Начиная с версии 1.9 данные парсеры являются сокращениями для соответствующих лексеров парсера highlight.
Парсер highlight
В состав МойнМойн входит специальный парсер, называемый highlight и использующий Pygments для разбора различных синтаксисов.
При помощи него можно выполнять подсветку кода для различных языков программирования, конфигурационных файлов и других видов используемых текстовых форматов (достаточно указать соответствующее значение имеющееся в столбце «Lexer names» из таблицы ниже).
Аргументы
Поддерживаемые параметры подсветки синтаксиса:
- numbers
- Добавлять нумерацию строк. по умолчанию — 'on' (добавлять и отображать). Допустимые значение: 'on', 'off' (нумерация не отображается, но возможность её показать сохраняется), 'disable' (возможность нумерации отключается).
- start
- номер первой строки. по умолчанию 1.
- step
- шаг нумерации. по умолчанию 1.
Пример использования:
{{{#!highlight python start=127 step=3 numbers=off class FooBar: """ doc string """ }}}
Отображение:
class FooBar:
""" doc string """
Также можно использовать данный парсер и в инструкции format, например: #format highlight python
Список доступных лексеров highlight
В качестве аргумента парсера highlight можно использовать значения из столбца «Lexer names».
Lexer description | Lexer names | File patterns | Mimetypes |
ABAP | abap | *.abap, *.ABAP | text/x-abap |
ABNF | abnf | *.abnf | text/x-abnf |
ActionScript | as, actionscript | *.as | application/x-actionscript, text/x-actionscript, text/actionscript |
ActionScript 3 | as3, actionscript3 | *.as | application/x-actionscript3, text/x-actionscript3, text/actionscript3 |
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 | at, ambienttalk, ambienttalk/2 | *.at | text/x-ambienttalk |
Ampl | ampl | *.run | |
Angular2 | ng2 | ||
ANTLR | antlr | ||
ANTLR With ActionScript Target | antlr-as, antlr-actionscript | *.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 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 |
APL | apl | *.apl | |
AppleScript | applescript | *.applescript | |
Arduino | arduino | *.ino | text/x-arduino |
AspectJ | aspectj | *.aj | text/x-aspectj |
aspx-cs | aspx-cs | *.aspx, *.asax, *.ascx, *.ashx, *.asmx, *.axd | |
aspx-vb | aspx-vb | *.aspx, *.asax, *.ascx, *.ashx, *.asmx, *.axd | |
Asymptote | asy, asymptote | *.asy | text/x-asymptote |
Augeas | augeas | *.aug | |
autohotkey | ahk, autohotkey | *.ahk, *.ahkl | text/x-autohotkey |
AutoIt | autoit | *.au3 | text/x-autoit |
Awk | awk, gawk, mawk, nawk | *.awk | application/x-awk |
Base Makefile | basemake | ||
Bash | bash, sh, ksh, zsh, shell | *.sh, *.ksh, *.bash, *.ebuild, *.eclass, *.exheres-0, *.exlib, *.zsh, .bashrc, bashrc, .bash_*, bash_*, zshrc, .zshrc, 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 | bat, batch, dosbatch, winbatch | *.bat, *.cmd | application/x-dos-batch |
BBC Basic | bbcbasic | *.bbc | |
BBCode | bbcode | text/x-bbcode | |
BC | bc | *.bc | |
Befunge | befunge | *.befunge | application/x-befunge |
BibTeX | bib, bibtex | *.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 |
BST | bst, bst-pybtex | *.bst | |
BUGS | bugs, winbugs, openbugs | *.bug | |
C | c | *.c, *.h, *.idc | text/x-chdr, text/x-csrc |
C# | csharp, c# | *.cs | text/x-csharp |
C++ | cpp, c++ | *.cpp, *.hpp, *.c++, *.h++, *.cc, *.hh, *.cxx, *.hxx, *.C, *.H, *.cp, *.CPP | text/x-c++hdr, text/x-c++src |
c-objdump | c-objdump | *.c-objdump | text/x-c-objdump |
ca65 assembler | ca65 | *.s | |
cADL | cadl | *.cadl | |
CAmkES | camkes, idl4 | *.camkes, *.idl4 | |
Cap'n Proto | capnp | *.capnp | |
CapDL | capdl | *.cdl | |
CBM BASIC V2 | cbmbas | *.bas | |
Ceylon | ceylon | *.ceylon | text/x-ceylon |
CFEngine3 | cfengine3, cf3 | *.cf | |
cfstatement | cfs | ||
ChaiScript | chai, chaiscript | *.chai | text/x-chaiscript, application/x-chaiscript |
Chapel | chapel, chpl | *.chpl | |
Charmci | charmci | *.ci | |
Cheetah | cheetah, spitfire | *.tmpl, *.spt | application/x-cheetah, application/x-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 |
CMake | cmake | *.cmake, CMakeLists.txt | text/x-cmake |
COBOL | cobol | *.cob, *.COB, *.cpy, *.CPY | text/x-cobol |
COBOLFree | cobolfree | *.cbl, *.CBL | |
CoffeeScript | coffee-script, coffeescript, coffee | *.coffee | text/coffeescript |
Coldfusion CFC | cfc | *.cfc | |
Coldfusion HTML | cfm | *.cfm, *.cfml | application/x-coldfusion |
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 |
cpp-objdump | cpp-objdump, c++-objdumb, cxx-objdump | *.cpp-objdump, *.c++-objdump, *.cxx-objdump | text/x-cpp-objdump |
CPSA | cpsa | *.cpsa | |
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 | css | *.css | text/css |
CSS+Django/Jinja | css+django, css+jinja | text/css+django, text/css+jinja | |
CSS+Genshi Text | css+genshitext, css+genshi | text/css+genshi | |
CSS+Lasso | css+lasso | text/css+lasso | |
CSS+Mako | css+mako | text/css+mako | |
CSS+mozpreproc | css+mozpreproc | *.css.in | |
CSS+Myghty | css+myghty | text/css+myghty | |
CSS+PHP | css+php | text/css+php | |
CSS+Ruby | css+erb, css+ruby | text/css+ruby | |
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 | control, debcontrol | control | |
Debian Sourcelist | sourceslist, sources.list, debsources | sources.list | |
Delphi | delphi, pas, pascal, objectpascal | *.pas, *.dpr | text/x-pascal |
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 | dylan | *.dylan, *.dyl, *.intr | text/x-dylan |
Dylan session | dylan-console, dylan-repl | *.dylan-console | text/x-dylan-console |
DylanLID | dylan-lid, lid | *.lid, *.hdp | text/x-dylan-lid |
email, eml | *.eml | message/rfc822 | |
Earl Grey | earl-grey, earlgrey, eg | *.eg | text/x-earl-grey |
Easytrieve | easytrieve | *.ezt, *.mac | text/x-easytrieve |
EBNF | ebnf | *.ebnf | text/x-ebnf |
eC | ec | *.ec, *.eh | text/x-echdr, text/x-ecsrc |
ECL | ecl | *.ecl | application/x-ecl |
Eiffel | eiffel | *.e | text/x-eiffel |
Elixir | elixir, ex, exs | *.ex, *.exs | text/x-elixir |
Elixir iex session | iex | text/x-elixir-shellsession | |
Elm | elm | *.elm | text/x-elm |
EmacsLisp | emacs, elisp, emacs-lisp | *.el | text/x-elisp, application/x-elisp |
Embedded Ragel | ragel-em | *.rl | |
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 |
Evoque | evoque | *.evoque | application/x-evoque |
Ezhil | ezhil | *.n | text/x-ezhil |
F# | fsharp, f# | *.fs, *.fsi | text/x-fsharp |
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 |
Fortran | fortran | *.f03, *.f90, *.F03, *.F90 | text/x-fortran |
FortranFixed | fortranfixed | *.f, *.F | |
FoxPro | foxpro, vfp, clipper, xbase | *.PRG, *.prg | |
Freefem | freefem | *.edp | text/x-freefem |
GAP | gap | *.g, *.gd, *.gi, *.gap | |
GAS | gas, asm | *.s, *.S | text/x-gas |
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 | cucumber, gherkin | *.feature | text/x-gherkin |
GLSL | glsl | *.vert, *.frag, *.geo | text/x-glslsrc |
Gnuplot | gnuplot | *.plot, *.plt | text/x-gnuplot |
Go | go | *.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 |
Groff | groff, nroff, man | *.[1234567], *.man | application/x-troff, text/troff |
Groovy | groovy | *.groovy, *.gradle | text/x-groovy |
Haml | haml | *.haml | text/x-haml |
Handlebars | handlebars | ||
Haskell | haskell, hs | *.hs | text/x-haskell |
Haxe | hx, haxe, hxsl | *.hx, *.hxsl | text/haxe, text/x-haxe, text/x-hx |
Hexdump | hexdump | ||
HLSL | hlsl | *.hlsl, *.hlsli | text/x-hlsl |
HSAIL | hsail, hsa | *.hsail | text/x-hsail |
Hspec | hspec | ||
HTML | html | *.html, *.htm, *.xhtml, *.xslt | text/html, application/xhtml+xml |
HTML + Angular2 | html+ng2 | *.ng2 | |
HTML+Cheetah | html+cheetah, html+spitfire, htmlcheetah | text/html+cheetah, text/html+spitfire | |
HTML+Django/Jinja | html+django, html+jinja, htmldjango | text/html+django, text/html+jinja | |
HTML+Evoque | html+evoque | *.html | text/html+evoque |
HTML+Genshi | html+genshi, html+kid | text/html+genshi | |
HTML+Handlebars | html+handlebars | *.handlebars, *.hbs | text/html+handlebars, text/x-handlebars-template |
HTML+Lasso | html+lasso | text/html+lasso, application/x-httpd-lasso, application/x-httpd-lasso[89] | |
HTML+Mako | html+mako | text/html+mako | |
HTML+Myghty | html+myghty | text/html+myghty | |
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 | |
HTML+Twig | html+twig | *.twig | text/html+twig |
HTML+Velocity | html+velocity | text/html+velocity | |
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 |
Icon | icon | *.icon, *.ICON | |
IDL | idl | *.pro | text/idl |
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 | 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 |
JAGS | jags | *.jag, *.bug | |
Jasmin | jasmin, jasminxt | *.j | |
Java | java | *.java | text/x-java |
Java Server Page | jsp | *.jsp | application/x-jsp |
JavaScript | js, javascript | *.js, *.jsm | application/javascript, application/x-javascript, text/x-javascript, text/javascript |
JavaScript+Cheetah | js+cheetah, javascript+cheetah, js+spitfire, javascript+spitfire | application/x-javascript+cheetah, text/x-javascript+cheetah, text/javascript+cheetah, application/x-javascript+spitfire, text/x-javascript+spitfire, text/javascript+spitfire | |
JavaScript+Django/Jinja | js+django, javascript+django, js+jinja, javascript+jinja | application/x-javascript+django, application/x-javascript+jinja, text/x-javascript+django, text/x-javascript+jinja, text/javascript+django, text/javascript+jinja | |
JavaScript+Genshi Text | js+genshitext, js+genshi, javascript+genshitext, javascript+genshi | application/x-javascript+genshi, text/x-javascript+genshi, text/javascript+genshi | |
JavaScript+Lasso | js+lasso, javascript+lasso | application/x-javascript+lasso, text/x-javascript+lasso, text/javascript+lasso | |
JavaScript+Mako | js+mako, javascript+mako | application/x-javascript+mako, text/x-javascript+mako, text/javascript+mako | |
Javascript+mozpreproc | javascript+mozpreproc | *.js.in | |
JavaScript+Myghty | js+myghty, javascript+myghty | application/x-javascript+myghty, text/x-javascript+myghty, text/javascript+mygthy | |
JavaScript+PHP | js+php, javascript+php | application/x-javascript+php, text/x-javascript+php, text/javascript+php | |
JavaScript+Ruby | js+erb, javascript+erb, js+ruby, javascript+ruby | application/x-javascript+ruby, text/x-javascript+ruby, text/javascript+ruby | |
JavaScript+Smarty | js+smarty, javascript+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 |
JSON | json | *.json | application/json |
JSON-LD | jsonld, json-ld | *.jsonld | application/ld+json |
JSONBareObject | json-object | application/json-object | |
Julia | julia, jl | *.jl | text/x-julia, application/x-julia |
Julia console | jlcon | ||
Juttle | 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 |
Koka | koka | *.kk, *.kki | text/x-koka |
Kotlin | kotlin | *.kt | text/x-kotlin |
Lasso | lasso, lassoscript | *.lasso, *.lasso[89] | text/x-lasso |
Lean | lean | *.lean | text/x-lean |
LessCss | less | *.less | text/x-less-css |
Lighttpd configuration file | lighty, lighttpd | text/x-lighttpd-conf | |
Limbo | limbo | *.b | text/limbo |
liquid | liquid | *.liquid | |
Literate Agda | lagda, literate-agda | *.lagda | text/x-literate-agda |
Literate Cryptol | lcry, literate-cryptol, lcryptol | *.lcry | text/x-literate-cryptol |
Literate Haskell | lhs, literate-haskell, lhaskell | *.lhs | text/x-literate-haskell |
Literate Idris | lidr, literate-idris, lidris | *.lidr | text/x-literate-idris |
LiveScript | live-script, livescript | *.ls | text/livescript |
LLVM | llvm | *.ll | text/x-llvm |
Logos | logos | *.x, *.xi, *.xm, *.xmi | text/x-logos |
Logtalk | logtalk | *.lgt, *.logtalk | text/x-logtalk |
LSL | lsl | *.lsl | text/x-lsl |
Lua | lua | *.lua, *.wlua | text/x-lua, application/x-lua |
Makefile | make, makefile, mf, bsdmake | *.mak, *.mk, Makefile, makefile, Makefile.*, GNUmakefile | text/x-makefile |
Mako | mako | *.mao | application/x-mako |
MAQL | maql | *.maql | text/x-gooddata-maql, application/x-gooddata-maql |
markdown | md | *.md | 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 | ||
MIME | mime | multipart/mixed, multipart/related, multipart/alternative | |
MiniD | minid | text/x-minidsrc | |
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 | |
MOOCode | moocode, moo | *.moo | text/x-moocode |
MoonScript | moon, moonscript | *.moon | text/x-moonscript, application/x-moonscript |
mozhashpreproc | mozhashpreproc | ||
mozpercentpreproc | mozpercentpreproc | ||
MQL | mql, mq4, mq5, mql4, mql5 | *.mq4, *.mq5, *.mqh | text/x-mql |
Mscgen | mscgen, msc | *.msc | |
MSDOS Session | doscon | ||
MuPAD | mupad | *.mu | |
MXML | mxml | *.mxml | |
Myghty | myghty | *.myt, autodelegate | application/x-myghty |
MySQL | mysql | text/x-mysql | |
NASM | nasm | *.asm, *.ASM | text/x-nasm |
NCL | ncl | *.ncl | text/ncl |
Nemerle | nemerle | *.n | text/x-nemerle |
nesC | nesc | *.nc | text/x-nescsrc |
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 | nim, nimrod | *.nim, *.nimrod | text/x-nim |
Nit | nit | *.nit | |
Nix | nixos, nix | *.nix | text/x-nix |
Notmuch | notmuch | ||
NSIS | nsis, nsi, nsh | *.nsi, *.nsh | text/x-nsis |
NumPy | numpy | ||
NuSMV | nusmv | *.smv | |
objdump | objdump | *.objdump | text/x-objdump |
objdump-nasm | objdump-nasm | *.objdump-intel | text/x-nasm-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 |
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 |
PacmanConf | pacmanconf | pacman.conf | |
Pan | pan | *.pan | |
ParaSail | parasail | *.psi, *.psl | text/x-parasail |
Pawn | pawn | *.p, *.pwn, *.inc | text/x-pawn |
Perl | perl, pl | *.pl, *.pm, *.t | text/x-perl, application/x-perl |
Perl6 | perl6, pl6 | *.pl, *.pm, *.nqp, *.p6, *.6pl, *.p6l, *.pl6, *.6pm, *.p6m, *.pm6, *.t | text/x-perl6, application/x-perl6 |
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 | |
Pony | pony | *.pony | |
PostgreSQL console (psql) | psql, postgresql-console, postgres-console | text/x-postgresql-psql | |
PostgreSQL SQL dialect | postgresql, postgres | text/x-postgresql | |
PostScript | postscript, postscr | *.ps, *.eps | application/postscript |
POVRay | pov | *.pov, *.inc | text/x-povray |
PowerShell | powershell, posh, ps1, psm1 | *.ps1, *.psm1 | text/x-powershell |
PowerShell Session | ps1con | ||
Praat | praat | *.praat, *.proc, *.psc | |
Prolog | prolog | *.ecl, *.prolog, *.pro, *.pl | text/x-prolog |
Properties | properties, jproperties | *.properties | text/x-java-properties |
Protocol Buffer | protobuf, proto | *.proto | |
Pug | pug, jade | *.pug, *.jade | text/x-pug, text/x-jade |
Puppet | puppet | *.pp | |
PyPy Log | pypylog, pypy | *.pypylog | application/x-pypylog |
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 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 Traceback | pytb, py3tb | *.pytb, *.py3tb | text/x-python-traceback, text/x-python3-traceback |
QBasic | qbasic, basic | *.BAS, *.bas | text/basic |
QML | qml, qbs | *.qml, *.qbs | application/x-qml, application/x-qt.qbs+qml |
QVTO | qvto, qvt | *.qvto | |
Racket | racket, rkt | *.rkt, *.rktd, *.rktl | text/x-racket, application/x-racket |
Ragel | ragel | ||
Ragel in C Host | ragel-c | *.rl | |
Ragel in CPP Host | ragel-cpp | *.rl | |
Ragel in D Host | ragel-d | *.rl | |
Ragel in Java Host | ragel-java | *.rl | |
Ragel in Objective C Host | ragel-objc | *.rl | |
Ragel in Ruby Host | ragel-ruby, ragel-rb | *.rl | |
Raw token data | raw | application/x-pygments-tokens | |
RConsole | rconsole, rout | *.Rout | |
Rd | rd | *.Rd | text/x-r-doc |
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 |
Relax-NG Compact | rnc, rng-compact | *.rnc | |
ResourceBundle | resource, resourcebundle | ||
reStructuredText | rst, rest, restructuredtext | *.rst, *.rest | text/x-rst, text/prs.fallenstein.rst |
Rexx | rexx, arexx | *.rexx, *.rex, *.rx, *.arexx | text/x-rexx |
RHTML | rhtml, html+erb, html+ruby | *.rhtml | text/html+ruby |
Roboconf Graph | roboconf-graph | *.graph | |
Roboconf Instances | roboconf-instances | *.instances | |
RobotFramework | robotframework | *.robot | text/x-robotframework |
RPMSpec | spec | *.spec | text/x-rpm-spec |
RQL | rql | *.rql | text/x-rql |
RSL | rsl | *.rsl | text/rsl |
Ruby | rb, ruby, duby | *.rb, *.rbw, Rakefile, *.rake, *.gemspec, *.rbx, *.duby, Gemfile | text/x-ruby, application/x-ruby |
Ruby irb session | rbcon, irb | text/x-ruby-shellsession | |
Rust | rust, rs | *.rs, *.rs.in | text/rust |
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 |
SARL | sarl | *.sarl | text/x-sarl |
SAS | sas | *.SAS, *.sas | text/x-sas, text/sas, application/x-sas |
Sass | sass | *.sass | text/x-sass |
Scala | scala | *.scala | text/x-scala |
Scalate Server Page | ssp | *.ssp | application/x-ssp |
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 |
Shen | shen | *.shen | text/x-shen, application/x-shen |
ShExC | shexc, shex | *.shex | text/shex |
Silver | silver | *.sil, *.vpr | |
Slash | slash | *.sl | |
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 |
Snobol | snobol | *.snobol | text/x-snobol |
Snowball | snowball | *.sbl | |
Solidity | solidity | *.sol | |
SourcePawn | sp | *.sp | text/x-sourcepawn |
SPARQL | sparql | *.rq, *.sparql | application/sparql-query |
SQL | sql | *.sql | text/x-sql |
sqlite3con | sqlite3 | *.sqlite3-console | text/x-sqlite3-console |
SquidConf | squidconf, squid.conf, squid | squid.conf | text/x-squidconf |
Stan | stan | *.stan | |
Standard ML | sml | *.sml, *.sig, *.fun | text/x-standardml, application/x-standardml |
Stata | stata, do | *.do, *.ado | text/x-stata, text/stata, application/x-stata |
SuperCollider | sc, supercollider | *.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 |
TADS 3 | tads3 | *.t | |
TAP | tap | *.tap | |
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 |
Tera Term macro | ttl, teraterm, teratermmacro | *.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 |
Thrift | thrift | *.thrift | application/x-thrift |
Todotxt | todotxt | todo.txt, *.todotxt | text/x-todo |
TOML | toml | *.toml | |
TrafficScript | rts, trafficscript | *.rts | |
Transact-SQL | tsql, t-sql | *.sql | text/x-tsql |
Treetop | treetop | *.treetop, *.tt | |
Turtle | turtle | *.ttl | text/turtle, application/x-turtle |
Twig | twig | application/x-twig | |
TypeScript | ts, typescript | *.ts, *.tsx | text/x-typescript |
TypoScript | typoscript | *.typoscript | text/x-typoscript |
TypoScriptCssData | typoscriptcssdata | ||
TypoScriptHtmlData | typoscripthtmldata | ||
ucode | ucode | *.u, *.u1, *.u2 | |
Unicon | unicon | *.icn | text/unicon |
UrbiScript | urbiscript | *.u | application/x-urbiscript |
Vala | vala, vapi | *.vala, *.vapi | text/x-vala |
VB.net | vb.net, vbnet | *.vb, *.bas | text/x-vbnet, text/x-vba |
VBScript | vbscript | *.vbs, *.VBS | |
VCL | vcl | *.vcl | text/x-vclsrc |
VCLSnippets | vclsnippets, vclsnippet | text/x-vclsnippet | |
VCTreeStatus | vctreestatus | ||
Velocity | velocity | *.vm, *.fhtml | |
verilog | verilog, v | *.v | text/x-verilog |
VGL | vgl | *.rpf | |
vhdl | vhdl | *.vhdl, *.vhd | text/x-vhdl |
VimL | vim | *.vim, .vimrc, .exrc, .gvimrc, _vimrc, _exrc, _gvimrc, vimrc, gvimrc | text/x-vim |
WDiff | wdiff | *.wdiff | |
Whiley | whiley | *.whiley | text/x-whiley |
X10 | x10, xten | *.x10 | text/x-x10 |
XML | xml | *.xml, *.xsl, *.rss, *.xslt, *.xsd, *.wsdl, *.wsf | text/xml, application/xml, image/svg+xml, application/rss+xml, application/atom+xml |
XML+Cheetah | xml+cheetah, xml+spitfire | application/xml+cheetah, application/xml+spitfire | |
XML+Django/Jinja | xml+django, xml+jinja | application/xml+django, application/xml+jinja | |
XML+Evoque | xml+evoque | *.xml | application/xml+evoque |
XML+Lasso | xml+lasso | application/xml+lasso | |
XML+Mako | xml+mako | application/xml+mako | |
XML+Myghty | xml+myghty | application/xml+myghty | |
XML+PHP | xml+php | application/xml+php | |
XML+Ruby | xml+erb, xml+ruby | application/xml+ruby | |
XML+Smarty | xml+smarty | application/xml+smarty | |
XML+Velocity | xml+velocity | application/xml+velocity | |
Xorg | xorg.conf | xorg.conf | |
XQuery | xquery, xqy, xq, xql, xqm | *.xqy, *.xquery, *.xq, *.xql, *.xqm | text/xquery, application/xquery |
XSLT | xslt | *.xsl, *.xslt, *.xpl | application/xsl+xml, application/xslt+xml |
Xtend | xtend | *.xtend | text/x-xtend |
xtlang | extempore | *.xtm | |
XUL+mozpreproc | xul+mozpreproc | *.xul.in | |
YAML | yaml | *.yaml, *.yml | text/x-yaml |
YAML+Jinja | yaml+jinja, salt, sls | *.sls | text/x-yaml+jinja, text/x-sls |
Zeek | zeek, bro | *.zeek, *.bro | |
Zephir | zephir | *.zep | |
Zig | zig | *.zig | text/zig |