Files
ServerSync/lib/pygments/lexers/__pycache__/configs.cpython-314.pyc

419 lines
44 KiB
Plaintext
Raw Normal View History

2026-02-12 02:28:23 +02:00
+
<00> <0C>i<EFBFBD><69><00><00>|<00>Rt^RIt^RIHtHtHtHtHtHtH t H
t
^RI H t H t HtHtHtHtHtHtHtHtHtHt^RIHt^RIHt.R3Ot!RR]4t!RR]4t!RR]4t!RR ]4t !R R
]4t!R!t"!R"R ]4t#!R#R ]4t$!R$R ]4t%!R%R]4t&!R&R]4t'!R'R]4t(!R(R]4t)!R)R]4t*!R*R]4t+!R+R]4t,!R,R]4t-!R-R]4t.!R.R]4t/!R/R]4t0!R0R]4t1!R1R]4t2!R2R]4t3R#)4z<34>
pygments.lexers.configs
~~~~~~~~~~~~~~~~~~~~~~~
Lexers for configuration file formats.
:copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
N)<08>ExtendedRegexLexer<65>
RegexLexer<EFBFBD>default<6C>words<64>bygroups<70>include<64>using<6E>line_re) <0C>Text<78>Comment<6E>Operator<6F>Keyword<72>Name<6D>String<6E>Number<65> Punctuation<6F>
Whitespace<EFBFBD>Literal<61>Error<6F>Generic)<01> BashLexer)<01> JsonLexer<65>IniLexer<65> SystemdLexer<65> DesktopLexer<65> RegeditLexer<65>PropertiesLexer<65> KconfigLexer<65>Cfengine3Lexer<65>ApacheConfLexer<65>SquidConfLexer<65>NginxConfLexer<65>LighttpdConfLexer<65> DockerLexer<65>TerraformLexer<65> TermcapLexer<65> TerminfoLexer<65>PkgConfigLexer<65>PacmanConfLexer<65> AugeasLexer<65> TOMLLexer<65>NestedTextLexer<65>SingularityLexer<65>UnixConfigLexerc<00><>a<00>]tRt^toRtRt.ROt.ROtRR.tRt Rt
RR] 3R ] P3R
]!]] 43R ]!]P"] ]] ]4R 3R ]!]P"] ]] ]]] 4R3R]!]P"] ]] ]43R]P"3.R R]!]]] 4R3R ] P3R]R3.RR] 3R]!] ]]] 43R]R3./tRtRtVtR#)rz-
Lexer for configuration files in INI style.
<EFBFBD>INIz
text/x-iniztext/infz&https://en.wikipedia.org/wiki/INI_file<6C><00>root<6F>\s+<2B>[;#].*z(\[.*?\])([ \t]*)$z!(.*?)([ \t]*)([=:])([ \t]*)(["'])<29> quoted_valuez.(.*?)([ \t]*)([=:])([ \t]*)([^;#\n]*)(\\)(\s+)<29>valuez6(.*?)([ \t]*)([=:])([ \t]*)([^ ;#\n]*(?: +[^ ;#\n]+)*)z(.+?)$z([^"'\n]*)(["'])(\s*)<29>#pop<6F>$z(\s*)(.*)(\\)([ \t]*)z.*$c<08><><00>VPR4pV^8dR#V^,R8XdW^,
,R8XdR#R#)<05>
F<EFBFBD>[<5B>]g<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?)<01>find)<02>text<78>nposs& <20>>/tmp/pip-target-qd_sq_1j/lib/python/pygments/lexers/configs.py<70> analyse_text<78>IniLexer.analyse_textIs7<00><00><13>y<EFBFBD>y<EFBFBD><14><EFBFBD><04> <0F>!<21>8<EFBFBD><18> <0F><01>7<EFBFBD>c<EFBFBD>><3E>d<EFBFBD><01>6<EFBFBD>l<EFBFBD>c<EFBFBD>1<><16><14><00>N)<03>ini<6E>cfg<66>dosini)z*.iniz*.cfgz*.infz .editorconfig)<19>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>__doc__<5F>name<6D>aliases<65> filenames<65> mimetypes<65>url<72> version_addedrr <00>Singlerr r<00> Attributer rr
<00>tokensr@<00>__static_attributes__<5F>__classdictcell__<5F><01> __classdict__s@r?rrsN<00><><00><00><08> <11>D<EFBFBD>&<26>G<EFBFBD><06>I<EFBFBD><1E>z<EFBFBD>*<2A>I<EFBFBD>
2<EFBFBD>C<EFBFBD><16>M<EFBFBD> <0F> <13>Z<EFBFBD> <20> <16><07><0E><0E> '<27> "<22>H<EFBFBD>W<EFBFBD>j<EFBFBD>$A<> B<> 5<> <15>d<EFBFBD>n<EFBFBD>n<EFBFBD>j<EFBFBD>(<28>J<EFBFBD><06> O<> <1B> <1D>?<3F> <15>d<EFBFBD>n<EFBFBD>n<EFBFBD>j<EFBFBD>(<28>J<EFBFBD><06><1A>J<EFBFBD>(<28> <14> <16>G<01> <15>d<EFBFBD>n<EFBFBD>n<EFBFBD>j<EFBFBD>(<28>J<EFBFBD><06> O<> Q<01><17><04><0E><0E> '<27>
<EFBFBD> <17> )<29> <15>f<EFBFBD>f<EFBFBD>j<EFBFBD> 1<>6<EFBFBD> ;<3B> <16><07><0E><0E> '<27> <11>6<EFBFBD>6<EFBFBD> "<22> 
<EFBFBD> <10> <13>Z<EFBFBD> <20> %<25> <15>j<EFBFBD>&<26>$<24>
<EFBFBD> ;<3B> =<3D> <13>V<EFBFBD>V<EFBFBD> $<24> 
<EFBFBD>/<06>F<EFBFBD>><15>rBc<00><>a<00>]tRt^RtoRtRtRtR.tR.tR.t Rt
RR ] 3R
] !] P] 43R ] !]] 43R ] !]P"]P$] ]] ]] 43./tR tRtVtR#)rz
Lexer for .desktop files.
z Desktop filezXhttps://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html<6D>desktopz *.desktopzapplication/x-desktop<6F>2.16r1<00> ^[ \t]*\nz
^(#.*)(\n)<29>(\[[^\]\n]+\])(\n)zG([-A-Za-z0-9]+)(\[[^\] \t=]+\])?([ \t]*)(=)([ \t]*)([^\n]*)([ \t\n]*\n)c<08><><00>VPR4'dR#\P!RVR,\P4eR#R#)z[Desktop Entry]<5D><00>?z^\[Desktop Entry\][ \t]*$<24>Ni<4E>N<><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F><00><04>
startswith<EFBFBD>re<72>search<63> MULTILINE<4E>r=s&r?r@<00>DesktopLexer.analyse_texths7<00><00> <0F>?<3F>?<3F>,<2C> -<2D> -<2D><16> <0A>9<EFBFBD>9<EFBFBD>1<>4<EFBFBD><04>:<3A>r<EFBFBD>|<7C>|<7C> L<> X<><16>rBrCN)rGrHrIrJrKrLrPrMrNrOrQrrr rRr rrS<00> Namespacer rrTr@rUrVrWs@r?rrRs<><00><><00><00><08> <1A>D<EFBFBD>
d<EFBFBD>C<EFBFBD><18>k<EFBFBD>G<EFBFBD><1C> <0A>I<EFBFBD>(<28>)<29>I<EFBFBD><1A>M<EFBFBD> <0F> <19>:<3A> &<26> <1A>H<EFBFBD>W<EFBFBD>^<5E>^<5E>Z<EFBFBD>@<40> A<> "<22>H<EFBFBD>W<EFBFBD>j<EFBFBD>$A<> B<> W<> <15>d<EFBFBD>n<EFBFBD>n<EFBFBD>d<EFBFBD>n<EFBFBD>n<EFBFBD>j<EFBFBD>(<28>J<EFBFBD>X^<5E>`j<> k<> m<01> 
<EFBFBD><06>F<EFBFBD><13>rBc<00>Na<00>]tRt^ptoRtRtRtR.t.ROtRt RR]
3R] !] P]
43R ] !]]
43R
] !]P ]
]]
]]]
4R 3R ] !]P ]
]]
]]
43.R R] !] P]
43R ] !]
]]]
43R] !]
]]
4R3./tRtRtVtR#)rz
Lexer for systemd unit files.
<EFBFBD>SystemdzDhttps://www.freedesktop.org/software/systemd/man/systemd.syntax.html<6D>systemdr[r1r\z ^([;#].*)(\n)r]z*([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\\)(\n)r5z&([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\n)z([ \t]*)([^\n]*)(\\)(\n)z([ \t]*)([^\n]*)(\n)r6c<08><><00>VPR4'dR#\P!RVR,\P4eR#R#)z[Unit]r_z^\[Unit\][ \t]*$r`rarbrcrhs&r?r@<00>SystemdLexer.analyse_text<78>s6<00><00> <0F>?<3F>?<3F>8<EFBFBD> $<24> $<24><16> <0A>9<EFBFBD>9<EFBFBD>(<28>$<24>t<EFBFBD>*<2A>b<EFBFBD>l<EFBFBD>l<EFBFBD> C<> O<><16>rBrCN) z *.servicez*.socketz*.devicez*.mountz *.automountz*.swapz*.targetz*.pathz*.timerz*.slicez*.scope)rGrHrIrJrKrLrPrMrNrQrrr rRr rrSr rr
rTr@rUrVrWs@r?rrps<00><><00><00><08> <15>D<EFBFBD>
P<EFBFBD>C<EFBFBD><18>k<EFBFBD>G<EFBFBD><06>I<EFBFBD><1B>M<EFBFBD> <0F> <19>:<3A> &<26> <1D>x<EFBFBD><07><0E><0E>
<EFBFBD>C<> D<> "<22>H<EFBFBD>W<EFBFBD>j<EFBFBD>$A<> B<> :<3A> <15>d<EFBFBD>n<EFBFBD>n<EFBFBD>j<EFBFBD>(<28>J<EFBFBD><06><1A>J<EFBFBD>(<28> <14> <16>7<> <15>d<EFBFBD>n<EFBFBD>n<EFBFBD>j<EFBFBD>(<28>J<EFBFBD><06>PZ<50> [<5B> ]<01>

<EFBFBD> <10> <1D>x<EFBFBD><07><0E><0E>
<EFBFBD>C<> D<> (<28> <15>j<EFBFBD>&<26>$<24>
<EFBFBD> ;<3B> =<3D> $<24> <15>j<EFBFBD>&<26>*<2A> 5<>v<EFBFBD> ?<3F> 
<EFBFBD><06>F<EFBFBD>,<13>rBc <00>La<00>]tRt^<5E>toRtRtRtR.tR.tR.t Rt
RR ] 3R
] 3R ] P3R ]!]]]P&]43R ]!]P(] ]] 4R3R]!]P(] ]] 4R3.RR]R3R]!]P*]]4R3R]R3]!R4./tRtRtVtR#)rz7
Lexer for Windows Registry files produced by regedit.
<EFBFBD>regz8http://en.wikipedia.org/wiki/Windows_Registry#.REG_files<65>registryz*.regztext/x-windows-registry<72>1.6r1zWindows Registry Editor.*r2r3z(\[)(-?)(HKEY_[A-Z_]+)(.*?\])$z)("(?:\\"|\\\\|[^"])+")([ \t]*)(=)([ \t]*)r5z(.*?)([ \t]*)(=)([ \t]*)<29>-r6z1(dword|hex(?:\([0-9a-fA-F]\))?)(:)([0-9a-fA-F,]+)<29>.+c<08>$<00>VPR4#)zWindows Registry Editor)rdrhs&r?r@<00>RegeditLexer.analyse_text<78>s<00><00><13><EFBFBD><EFBFBD>8<>9<>9rBrCN)rGrHrIrJrKrLrPrMrNrOrQr
rr rRrr r r<00>BuiltinrS<00>VariablerrrrrTr@rUrVrWs@r?rr<00>s<00><><00><00><08> <11>D<EFBFBD>
D<EFBFBD>C<EFBFBD><19>l<EFBFBD>G<EFBFBD><18> <09>I<EFBFBD>*<2A>+<2B>I<EFBFBD><19>M<EFBFBD> <0F> )<29>4<EFBFBD> 0<> <13>Z<EFBFBD> <20> <16><07><0E><0E> '<27> .<2E> <15>g<EFBFBD>x<EFBFBD><14><1C><1C>w<EFBFBD> ?<3F> A<01>:<3A> <15>d<EFBFBD>n<EFBFBD>n<EFBFBD>j<EFBFBD>(<28>J<EFBFBD> G<> <14> <16>)<29> <15>d<EFBFBD>n<EFBFBD>n<EFBFBD>j<EFBFBD>(<28>J<EFBFBD> G<> <14> <16>
<EFBFBD> <10> <11>8<EFBFBD>V<EFBFBD> $<24> A<> <15>d<EFBFBD>m<EFBFBD>m<EFBFBD>[<5B>&<26> 9<>6<EFBFBD> C<01><13>F<EFBFBD>F<EFBFBD> #<23> <13>F<EFBFBD>O<EFBFBD> 
<EFBFBD>!<06>F<EFBFBD>4:<3A>:rBc <00>0<00>]tRt^<5E>tRtRtRR.tR.tR.tRt Rt
R R
] P3R ] 3R ] 3]!R 4.R R]P 3]!R4R]!] ]] 4R3R] R3R ] R3.RR]3]!R4R ] R3.RR]!]P*] 43R]P*3./tRtR#)rz
Lexer for configuration files in Java's properties format.
Note: trailing whitespace counts as part of the value as per spec
<EFBFBD>
Properties<EFBFBD>
properties<EFBFBD> jpropertiesz *.propertiesztext/x-java-propertiesz)https://en.wikipedia.org/wiki/.propertiesz1.4r1z [!#].*|/{2}.*<2A>\nz ^[^\S\n]+<2B>keyz
[^\\:=\s]+<2B>escapesz([^\S\n]*)([:=])([^\S\n]*)r6r5<00>[^\S\n]+z[^\\\n]+z(\\\n)([^\S\n]*)z\\(.|\n)rCN)r6r5)rGrHrIrJrKrLrMrNrOrPrQr rRrrrrSrrr r<00>EscaperTrUrCrBr?rr<00>s<00><00><08> <18>D<EFBFBD><1B>]<5D>+<2B>G<EFBFBD><1F> <20>I<EFBFBD>)<29>*<2A>I<EFBFBD>
5<EFBFBD>C<EFBFBD><19>M<EFBFBD> <0F> <1D>w<EFBFBD>~<7E>~<7E> .<2E> <12>J<EFBFBD> <1F> <19>:<3A> &<26> <13>E<EFBFBD>N<EFBFBD> 
<EFBFBD> <0E> <1A>D<EFBFBD>N<EFBFBD>N<EFBFBD> +<2B> <13>I<EFBFBD> <1E>+<2B> <15>j<EFBFBD>(<28>J<EFBFBD> 7<> <1E> <20><19>*<2A>&7<> 8<> <12>J<EFBFBD><06> '<27> 
<EFBFBD> <10> <18>&<26> !<21> <13>I<EFBFBD> <1E> <12>J<EFBFBD><06> '<27> 
<EFBFBD> <12> <20>(<28>6<EFBFBD>=<3D>=<3D>*<2A>"E<> F<> <18>&<26>-<2D>-<2D> (<28> 
<EFBFBD>C'<06>FrBc<00>r<00>^pV^8XdRpMRV^,
,pV^8XdRpMRV R2pRV RV RV R 2#)
<EFBFBD><00>+z{1,%d}r0<00>{<7B>}z(?:\t| z\t| {z})z.*\nrC)<04>level<65> tab_width<74> space_repeat<61> level_repeats& r?<00>
_rx_indentr<EFBFBD><00>sY<00><00> <12>I<EFBFBD><11>A<EFBFBD>~<7E><1A> <0C><1F>9<EFBFBD>q<EFBFBD>=<3D>1<> <0C> <0C><01>z<EFBFBD><19> <0C><1B>E<EFBFBD>7<EFBFBD>"<22>~<7E> <0C><15>l<EFBFBD>^<5E>6<EFBFBD>)<29><1B>C<EFBFBD> <0C>~<7E>T<EFBFBD> J<>JrBc<00>a<00>]tRtRtoRtRt.R"OtRt.R#OtR.t Rt
^t Rt Rt R R
]3R ]P 3]!R$R R 7]3R]R3R]P(3R]3R]3R]P03R]P 3R]P43R]3. RR]3] !^4] !^4] !^4] !^4] !^4] !^4] !^4]!R4. R] !^4R] !^4R] !^4R] !^4R] !^4R] !^4R] !^4/ tR tVtR!#)%riz
For Linux-style Kconfig files.
<EFBFBD>Kconfigrsztext/x-kconfigzChttps://www.kernel.org/doc/html/latest/kbuild/kconfig-language.htmlc<08>@<00>\V4\PRV 23#)<01>indent)r<>r<00>Doc<6F>r<>s&r?<00> call_indent<6E>KconfigLexer.call_indent#s<00><00><1A>5<EFBFBD>!<21>6<EFBFBD>:<3A>:<3A><16><05>w<EFBFBD>/?<3F>@<40>@rBc<08>\<00>\V4\P3R\3\ R4.#)<02>\s*\n<>#pop:2)r<>rr<>r
rr<>s&r?<00> do_indent<6E>KconfigLexer.do_indent's/<00><00><18><05> <1E><06>
<EFBFBD>
<EFBFBD> +<2B> <15>t<EFBFBD> <1C> <13>H<EFBFBD> <1D>
<EFBFBD>
rBr1r2<00>#.*?\n<>\b<><01>suffixz(---help---|help)[\t ]*\n<>helpz;(bool|tristate|string|hex|int|defconfig_list|modules|env)\bz[!=&|]z[()]<5D>[0-9]+z '(''|[^'])*'z "(""|[^"])*"<22>\S+r<>r6<00>indent7<74>indent6<74>indent5<74>indent4<74>indent3<74>indent2<74>indent1rCN)<04>kconfig<69>
menuconfigz linux-configz kernel-config)zKconfig*z *Config.in*z external.in*zstandard-modules.in)<12>mainmenu<6E>configr<67><00>choice<63> endchoice<63>comment<6E>menu<6E>endmenuz
visible if<69>if<69>endif<69>source<63>prompt<70>selectz
depends onr<00>range<67>option) rGrHrIrJrKrLrMrQrNrOrP<00>flagsr<73>r<>rr rRrr rrxr rr<00>Integerr<00>Doubler
rrTrUrVrWs@r?rrsf<00><><00><00><08> <15>D<EFBFBD>H<>G<EFBFBD><19>M<EFBFBD>(<28>I<EFBFBD>!<21>"<22>I<EFBFBD>
O<EFBFBD>C<EFBFBD> <0E>E<EFBFBD>A<01>
<EFBFBD> <0F> <13>Z<EFBFBD> <20> <16><07><0E><0E> '<27> <12>#<23>,1<> 2<>
<15>  <16> *<2A>7<EFBFBD>F<EFBFBD> ;<3B> K<> <11>\<5C>\<5C> <1B> <16><08> !<21> <14>k<EFBFBD> "<22> <16><06><0E><0E> '<27> <1C>f<EFBFBD>m<EFBFBD>m<EFBFBD> ,<2C> <1C>f<EFBFBD>m<EFBFBD>m<EFBFBD> ,<2C> <13>T<EFBFBD>N<EFBFBD>#
<EFBFBD>* <0F> <15>t<EFBFBD> <1C> <18><01>N<EFBFBD> <17><01>N<EFBFBD> <17><01>N<EFBFBD> <17><01>N<EFBFBD> <17><01>N<EFBFBD> <17><01>N<EFBFBD> <17><01>N<EFBFBD> <13>F<EFBFBD>O<EFBFBD>
<EFBFBD> <12>9<EFBFBD>Q<EFBFBD><<3C><11>9<EFBFBD>Q<EFBFBD><<3C><11>9<EFBFBD>Q<EFBFBD><<3C><11>9<EFBFBD>Q<EFBFBD><<3C><11>9<EFBFBD>Q<EFBFBD><<3C><11>9<EFBFBD>Q<EFBFBD><<3C><11>9<EFBFBD>Q<EFBFBD><<3C>Y-<06>FrBc<00>
<00>]tRtRtRtRtRtRR.tR.t.t Rt
R R
] 3R ] !] ]] ]] 43R ] !] ]] ]]P ]4R 3R] !] ]] ]]P 43R] !]]P$]]] P&]]]43R] !] P*]]]43R]R3R] !]P ]43R] !]P0]43R] !] P2]43R]P$3R]3R]3R]3R]P63R]P83R]P 3R]3.RR]P:R3R ]P<3R]R!3R"]3R#]3.RR]P:R$3R%]P:R!3R&]P:3.R R']R!3R(]3R]P$3R]3./tR)t R*#)+ri`z#
Lexer for CFEngine3 policy files.
<EFBFBD> CFEngine3zhttp://cfengine.org<72> cfengine3<65>cf3z*.cfz1.5r1r<>z(body)(\s+)(\S+)(\s+)(control)z%(body|bundle)(\s+)(\S+)(\s+)(\w+)(\()<29>arglistz!(body|bundle)(\s+)(\S+)(\s+)(\w+)z7(")([^"]+)(")(\s+)(string|slist|int|real)(\s*)(=>)(\s*)z(\S+)(\s*)(=>)(\s*)<29>"<22>stringz (\w+)(\()z([\w.!&|()]+)(::)z(\w+)(:)z@[{(][^)}]+[})]z[(){},;]z=>z->z\d+\.\d+<2B>\d+<2B>\w+r2z\$[{(]<5D>interpol<6F>\\.r6r~<00>.<2E>#pushz[})]z [^${()}]+z\)<29>,rCN)!rGrHrIrJrKrLrPrMrNrOrQr rr rr<00>Functionrry<00>Typer <00>Reservedr
r<00>Class<73> Declarationr<00>Floatr<74><00>Interpolr<6C>rTrUrCrBr?rr`s<00><00><08> <17>D<EFBFBD>
<1F>C<EFBFBD><1A>E<EFBFBD>"<22>G<EFBFBD><17><08>I<EFBFBD><12>I<EFBFBD><19>M<EFBFBD> <0F> <16><07> <20> .<2E> <15>g<EFBFBD>z<EFBFBD>7<EFBFBD>J<EFBFBD><07> H<> J<01> 5<> <15>g<EFBFBD>z<EFBFBD>7<EFBFBD>J<EFBFBD><04> <0A> <0A>{<7B> [<5B> <16> <18>2<> <15>g<EFBFBD>z<EFBFBD>7<EFBFBD>J<EFBFBD><04> <0A> <0A> N<> P<01> G<> <15>k<EFBFBD>4<EFBFBD>=<3D>=<3D>+<2B> <20>'<27>,<2C>,<2C>
<EFBFBD>H<EFBFBD>j<EFBFBD>R<01> S<01>$<24> <15>g<EFBFBD>&<26>&<26>
<EFBFBD>H<EFBFBD>d<EFBFBD> C<> E<01> <11>6<EFBFBD>8<EFBFBD> $<24> <19>8<EFBFBD>D<EFBFBD>M<EFBFBD>M<EFBFBD>;<3B>?<3F> @<40> !<21>8<EFBFBD>D<EFBFBD>J<EFBFBD>J<EFBFBD> <0B>#D<> E<> <18>(<28>7<EFBFBD>#6<>#6<> <0B>D<> E<> <1F><14><1D><1D> /<2F> <18>+<2B> &<26> <12>H<EFBFBD> <1D> <12>H<EFBFBD> <1D> <18>&<26>,<2C>,<2C> '<27> <13>V<EFBFBD>^<5E>^<5E> $<24> <13>T<EFBFBD>]<5D>]<5D> #<23> <13>Z<EFBFBD> <20>3
<EFBFBD>6 <11> <16><06><0F><0F><1A> 4<> <13>V<EFBFBD>]<5D>]<5D> #<23> <11>6<EFBFBD>6<EFBFBD> "<22> <12>F<EFBFBD>O<EFBFBD> <11>6<EFBFBD>N<EFBFBD> 
<EFBFBD> <13> <16><06><0F><0F><17> 1<> <14>f<EFBFBD>o<EFBFBD>o<EFBFBD>v<EFBFBD> .<2E> <19>6<EFBFBD>?<3F>?<3F> +<2B>
<EFBFBD>
<12> <12>K<EFBFBD><16> (<28> <11>;<3B> <1F> <13>T<EFBFBD>]<5D>]<5D> #<23> <13>Z<EFBFBD> <20> 
<EFBFBD>Q.<06>FrBc<00><><00>]tRtRtRtRt.ROt.ROtR.tRt Rt
] P] P,tRR]3R ]3R
]!]P&]]]P&43R ]!]P&]P&43R ]P*R 3R]3.R R]3R]R3R]3R]3R]3R]3R]P03R]3R]P43R]3.
/tRtR#)ri<>zH
Lexer for configuration files following the Apache config file
format.
<EFBFBD>
ApacheConfztext/x-apacheconfz6https://httpd.apache.org/docs/current/configuring.htmlz0.6r1r2z#(.*\\\n)+.*$|(#.*?)$z"(<[^\s>/][^\s>]*)(?:(\s+)(.*))?(>)z(</[^\s>]+)(>)z[a-z]\w*r5z\.+z\\\nz\n+r6z\\r<><00>\d+\.\d+\.\d+\.\d+(?:/\d+)?r<>z/([*a-z0-9][*\w./-]+)z<>(on|off|none|any|all|double|email|dns|min|minimal|os|productonly|full|emerg|alert|crit|error|warn|notice|info|debug|registry|script|inetd|standalone|user|group)\bz"([^"\\]*(?:\\(.|\n)[^"\\]*)*)"z [^\s"\\]+rCN)<03>
apacheconf<EFBFBD>aconf<6E>apache)z .htaccessz apache.confz apache2.conf)rGrHrIrJrKrLrMrNrOrPrQrerg<00>
IGNORECASEr<EFBFBD>rr rr<00>Tagrrxr
r<00>Otherr r<>rTrUrCrBr?rr<00>s<00><00><08>
<18>D<EFBFBD>/<2F>G<EFBFBD><<3C>I<EFBFBD>$<24>%<25>I<EFBFBD>
B<EFBFBD>C<EFBFBD><19>M<EFBFBD> <0E>L<EFBFBD>L<EFBFBD>2<EFBFBD>=<3D>=<3D> (<28>E<EFBFBD> <0F> <13>Z<EFBFBD> <20> %<25>w<EFBFBD> /<2F> 2<> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD>
<EFBFBD>F<EFBFBD>D<EFBFBD>H<EFBFBD>H<EFBFBD> =<3D> ?<3F> <1E> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD><04><08><08> )<29> +<2B> <18>$<24>,<2C>,<2C><07> 0<> <13>T<EFBFBD>N<EFBFBD> 
<EFBFBD> <10> <14>d<EFBFBD>O<EFBFBD> <13>Z<EFBFBD><16> (<28> <12>D<EFBFBD>M<EFBFBD> <18>*<2A> %<25> +<2B>V<EFBFBD> 4<> <13>V<EFBFBD> <1C> %<25>v<EFBFBD>|<7C>|<7C> 4<><1E> '<27> (<28>0<><16><1D><1D> ?<3F> <19>4<EFBFBD> <20>
<EFBFBD><06>FrBc<00><><00>]tRtRtRtRtRt.R#OtR.tR.t Rt
] Pt R$tR%tR&tR'tR(tR)tRtR ] R
] R 2tR tR ] R ] R2tR ] R] R2t] R] R2tRR]3R]R3]!]RRR7]3]!]RRR7]P>3]!]RRR7] 3]!]RRR7] 3]!]RRR7] 3]!]RRR7]3]]!PD3R]!3R]#3. RR] PHR3R ]R3]%!R4./t&R!t'R"#)*r i<>z&
Lexer for squid configuration files.
<EFBFBD> SquidConfzhttp://www.squid-cache.org/<2F>
squid.confztext/x-squidconfz0.9z(\d+|0x[0-9a-f]+)<29>(z(\.z){3})z([0-9a-f]{0,4})z(:z){1,7})<29>|<7C>)z(/(z|\d+))?r1r2<00>#r<>r<><00><02>prefixr<78>zstats/zlog/<2F>=z(?:\b\d+\b(?:-\b\d+|%)?)r<>z \s*TAG:.*r6rurCN)<03> squidconfr<66><00>squid)<29><>
access_log<EFBFBD>acl<63> always_direct<63> announce_host<73>announce_period<6F> announce_port<72> announce_to<74>anonymize_headers<72> append_domain<69>as_whois_server<65>auth_param_basic<69>authenticate_children<65>authenticate_program<61>authenticate_ttl<74> broken_posts<74> buffered_logs<67>cache_access_log<6F>cache_announce<63> cache_dir<69>cache_dns_program<61>cache_effective_group<75>cache_effective_user<65>
cache_host<EFBFBD>cache_host_acl<63>cache_host_domain<69> cache_log<6F> cache_mem<65>cache_mem_high<67> cache_mem_low<6F> cache_mgr<67>cachemgr_passwd<77>
cache_peer<EFBFBD>cache_peer_access<73>cache_replacement_policy<63>cache_stoplist<73>cache_stoplist_pattern<72>cache_store_log<6F>
cache_swap<EFBFBD>cache_swap_high<67>cache_swap_log<6F>cache_swap_low<6F> client_db<64>client_lifetime<6D>client_netmask<73>connect_timeout<75> coredump_dir<69>dead_peer_timeout<75> debug_options<6E> delay_access<73> delay_class<73>delay_initial_bucket_level<65>delay_parameters<72> delay_pools<6C> deny_info<66> dns_children<65> dns_defnames<65>dns_nameservers<72> dns_testnames<65>emulate_httpd_log<6F> err_html_text<78>fake_user_agent<6E> firewall_ip<69> forwarded_for<6F>forward_snmpd_port<72>fqdncache_size<7A>ftpget_options<6E>ftpget_program<61>ftp_list_width<74> ftp_passive<76>ftp_user<65>half_closed_clients<74> header_access<73>header_replace<63>hierarchy_stoplist<73>high_response_time_warning<6E>high_page_fault_warning<6E>
hosts_file<EFBFBD> htcp_port<72> http_access<73>http_anonymizer<65> httpd_accel<65>httpd_accel_host<73>httpd_accel_port<72>httpd_accel_uses_host_header<65>httpd_accel_with_proxy<78> http_port<72>http_reply_access<73>
icp_access<EFBFBD> icp_hit_stale<6C>icp_port<72>icp_query_timeout<75> ident_lookup<75>ident_lookup_access<73> ident_timeout<75>incoming_http_average<67>incoming_icp_average<67>inside_firewall<6C> ipcache_high<67> ipcache_low<6F> ipcache_size<7A> local_domain<69>local_ip<69>logfile_rotate<74>log_fqdn<64>log_icp_queries<65> log_mime_hdrs<72>maximum_object_size<7A>maximum_single_addr_tries<65> mcast_groups<70>mcast_icp_query_timeout<75>mcast_miss_addr<64>mcast_miss_encode_key<65>mcast_miss_port<72> memory_pools<6C>memory_pools_limit<69>memory_replacement_policy<63>
mime_table<EFBFBD>min_http_poll_cnt<6E>min_icp_poll_cnt<6E>minimum_direct_hops<70>minimum_object_size<7A>minimum_retry_timeout<75> miss_access<73>negative_dns_ttl<74> negative_ttl<74>neighbor_timeout<75>neighbor_type_domain<69>
netdb_high<EFBFBD> netdb_low<6F>netdb_ping_period<6F>netdb_ping_rate<74> never_direct<63>no_cache<68>passthrough_proxy<78> pconn_timeout<75> pid_filename<6D>pinger_program<61>positive_dns_ttl<74> prefer_direct<63>
proxy_auth<EFBFBD>proxy_auth_realm<6C>
query_icmp<EFBFBD> quick_abort<72>quick_abort_max<61>quick_abort_min<69>quick_abort_pct<63>range_offset_limit<69> read_timeout<75>redirect_children<65>redirect_program<61>redirect_rewrites_host_header<65> reference_age<67>refresh_pattern<72>reload_into_ims<6D>request_body_max_size<7A> request_size<7A>request_timeout<75>shutdown_lifetime<6D>single_parent_bypass<73>siteselect_timeout<75> snmp_access<73>snmp_incoming_address<73> snmp_port<72> source_ping<6E> ssl_proxy<78>store_avg_object_size<7A>store_objects_per_bucket<65>strip_query_terms<6D>swap_level1_dirs<72>swap_level2_dirs<72>tcp_incoming_address<73>tcp_outgoing_address<73>tcp_recv_bufsize<7A>test_reachability<74> udp_hit_obj<62>udp_hit_obj_size<7A>udp_incoming_address<73>udp_outgoing_address<73>unique_hostname<6D>unlinkd_program<61>uri_whitespace<63> useragent_log<6F>visible_hostname<6D>
wais_relay<EFBFBD>wais_relay_host<73>wais_relay_port)z
proxy-only<6C>weight<68>ttlzno-queryrz round-robinzmulticast-responder<65>on<6F>off<66>all<6C>deny<6E>allow<6F>via<69>parentz no-digest<73>heap<61>lru<72>realm<6C>children<65>q1<71>q2<71>credentialsttl<74>none<6E>disable<6C>offline_toggle<6C>diskd)<06>shutdown<77>info<66> parameter<65> server_list<73> client_listr<74>) <0B>objects<74>
vm_objects<EFBFBD> utilization<6F>ipcache<68> fqdncache<68>dns<6E>
redirector<EFBFBD>io<69> reply_headers<72>filedescriptors<72>netdb)<04>status<75>enabler<65><00>clear)<10> url_regex<65> urlpath_regex<65> referer_regex<65>port<72>proto<74> req_mime_type<70> rep_mime_type<70>method<6F>browser<65>user<65>src<72>dst<73>time<6D> dstdomain<69>ident<6E>snmp_community)(rGrHrIrJrKrLrPrMrNrOrQrer<>r<><00>keywords<64>opts<74>actions<6E> actions_stats<74> actions_log<6F>acls<6C>
ipv4_group<EFBFBD>ipv4<76>
ipv6_group<EFBFBD>ipv6<76>bare_ip<69>iprr rr r<00>Constantrrr<>r
r<>rrTrUrCrBr?r r <00>s<><00><00><08> <17>D<EFBFBD>
'<27>C<EFBFBD>2<>G<EFBFBD><1D><0E>I<EFBFBD>#<23>$<24>I<EFBFBD><19>M<EFBFBD> <0E>M<EFBFBD>M<EFBFBD>E<EFBFBD>9<06>H<EFBFBD>v <06>D<EFBFBD><06>G<EFBFBD>
<06>M<EFBFBD>
;<3B>K<EFBFBD> <06>D<EFBFBD> &<26>J<EFBFBD><0F>
<EFBFBD>|<7C>3<EFBFBD>z<EFBFBD>l<EFBFBD>'<27> 2<>D<EFBFBD>#<23>J<EFBFBD><0F>
<EFBFBD>|<7C>2<EFBFBD>j<EFBFBD>\<5C><19> 3<>D<EFBFBD><12>4<EFBFBD>&<26><01>$<24><16>q<EFBFBD>!<21>G<EFBFBD><15>I<EFBFBD>S<EFBFBD><17> <09><17> )<29>B<EFBFBD> <0F> <13>Z<EFBFBD> <20> <11>7<EFBFBD>I<EFBFBD> &<26> <12>8<EFBFBD>E<EFBFBD>%<25> 8<>'<27> B<> <12>4<EFBFBD><05>e<EFBFBD> 4<>d<EFBFBD>m<EFBFBD>m<EFBFBD> D<> <12>7<EFBFBD>5<EFBFBD><15> 7<><16> @<40> <12>=<3D><19>5<EFBFBD> A<>6<EFBFBD> J<> <12>;<3B>w<EFBFBD>t<EFBFBD> <<3C>f<EFBFBD> E<> <12>4<EFBFBD><05>e<EFBFBD> 4<>g<EFBFBD> ><3E> <0F><16><1C><1C> <1E> (<28>&<26> 1<> <13>T<EFBFBD>N<EFBFBD> 
<EFBFBD> <12> <19>6<EFBFBD>=<3D>=<3D>&<26> 1<> <12>G<EFBFBD>V<EFBFBD> $<24> <13>F<EFBFBD>O<EFBFBD>
<EFBFBD><06>FrBc<00><><00>]tRtRtRtRtRtR.tR.tR.t Rt
R R
] !] ] ]43R ] R 3]!R 4.RR]R3R ] P"R 3]!R 4.R R]R3R]R3]!R 4.R R]P&3R]P(3R]P*3R] !]]]P.43R]3R]P.3R] !]] ]P243R]3R]3R]3R] 3R]3. /tR tR!#)"r!iIz&
Lexer for Nginx configuration files.
zNginx configuration filezhttp://nginx.net/<2F>nginxz
nginx.confztext/x-nginx-conf<6E>0.11r1z(include)(\s+)([^\s;]+)z[^\s;#]+<2B>stmt<6D>base<73>block<63>\}r<><00>\{<7B>;r6<00>#.*\nzon|offz \$[^\s;#()]+z([a-z0-9.-]+)(:)([0-9]+)z[a-z-]+/[a-z-+]+z [0-9]+[km]?\bz(~)(\s*)([^\s{]+)z[:=~]z [^\s;#{}$]+z /[^\s;#]*r2z[$;]rCN)rGrHrIrJrKrLrPrMrNrOrQrr rrrrrjr rRr<>ryrr<>r<00>Regexr
rTrUrCrBr?r!r!IsG<00><00><08> &<26>D<EFBFBD>
<1D>C<EFBFBD><16>i<EFBFBD>G<EFBFBD><1D><0E>I<EFBFBD>$<24>%<25>I<EFBFBD><1A>M<EFBFBD> <0F> '<27><18>'<27>:<3A>t<EFBFBD>)L<> M<> <18>'<27>6<EFBFBD> *<2A> <13>F<EFBFBD>O<EFBFBD>
<EFBFBD>
<10> <12>K<EFBFBD><18> *<2A> <18>'<27>+<2B>+<2B>V<EFBFBD> 4<> <13>F<EFBFBD>O<EFBFBD>
<EFBFBD>
<0F> <12>K<EFBFBD><17> )<29> <11>;<3B><06> '<27> <13>F<EFBFBD>O<EFBFBD>
<EFBFBD>
<0F> <15>w<EFBFBD>~<7E>~<7E> &<26> <16><04> <0A> <0A> &<26> <1C>d<EFBFBD>m<EFBFBD>m<EFBFBD> ,<2C> (<28> <15>d<EFBFBD>K<EFBFBD><16><1E><1E> 8<> :<3A> <20>&<26> )<29> <1D>v<EFBFBD>~<7E>~<7E> .<2E> !<21>8<EFBFBD>K<EFBFBD><1A>V<EFBFBD>\<5C>\<5C>#R<> S<> <15>{<7B> #<23> <1B>V<EFBFBD> $<24> <19>4<EFBFBD> <20> <13>Z<EFBFBD> <20> <14>d<EFBFBD>O<EFBFBD>
<EFBFBD>! <06>FrBc <00><><00>]tRtRtRtRtRtRR.tR.tR.t R t
R
R ] P3R ] 3R ]3R]3R]3R]3R] P"3R]3R]P(3R]3.
/tRtR#)r"iwz)
Lexer for Lighttpd configuration files.
zLighttpd configuration filezhttp://lighttpd.net/<2F>lighttpd<70>lightyz lighttpd.confztext/x-lighttpd-confr<66>r1r<>z/\S*z [a-zA-Z._-]+r<>r<>z=>|=~|\+=|==|=|\+z\$[A-Z]+z [(){}\[\],]z"([^"\\]*(?:\\.[^"\\]*)*)"r2rCN)rGrHrIrJrKrLrPrMrNrOrQr rRrr rr rxrrr<>rrTrUrCrBr?r"r"ws<><00><00><08> )<29>D<EFBFBD>
<20>C<EFBFBD><19>8<EFBFBD>$<24>G<EFBFBD> <20>!<21>I<EFBFBD>'<27>(<28>I<EFBFBD><1A>M<EFBFBD> <0F> <15>w<EFBFBD>~<7E>~<7E> &<26> <14>d<EFBFBD>O<EFBFBD> <1C>g<EFBFBD> &<26> +<2B>V<EFBFBD> 4<> <16><06> <1F> !<21>8<EFBFBD> ,<2C> <18>$<24>,<2C>,<2C> '<27> <1B>[<5B> )<29> *<2A>F<EFBFBD>M<EFBFBD>M<EFBFBD> :<3A> <13>Z<EFBFBD> <20> 
<EFBFBD><06>FrBc<00><><00>]tRtRtRtRtRtRR.tRR.tR .t R
t
R t R t R t ]P]P ,tRR]3R]!]]]]]]]43R] R2]!]]]!]443R] R] R2]!]]]!]443R] R2]!]]]!]4]!]443R] R] R2]!]]]!]443R] R2]!]]]43R] R2]!]]43R]!]43. /tRtR#) r#i<>z'
Lexer for Docker configuration files.
<EFBFBD>Dockerzhttp://docker.io<69>docker<65>
dockerfile<EFBFBD>
Dockerfilez*.dockerztext/x-dockerfile-configz2.0z-(?:MAINTAINER|EXPOSE|WORKDIR|USER|STOPSIGNAL)z-(?:RUN|CMD|ENTRYPOINT|ENV|ARG|LABEL|ADD|COPY)z (?:\s*\\?\s*)r1<00>#.*z1(FROM)([ \t]*)(\S*)([ \t]*)(?:(AS)([ \t]*)(\S*))?z(ONBUILD)(\s+)(r<>z(HEALTHCHECK)(\s+)((z --\w+=\w+z)*)z#(VOLUME|ENTRYPOINT|CMD|SHELL)(\s+)(z
)(\[.*?\])z(LABEL|ENV|ARG)(\s+)((z\w+=\w+r<>z|VOLUME)\b(\s+)(.*)z)(\s+)z (.*\\\n)*.+rCN)rGrHrIrJrKrLrPrMrNrOrQ<00> _keywords<64>_bash_keywords<64>_lbrer<>rgr<>r rr rrrrrrTrUrCrBr?r#r#<00>si<00><00><08> <14>D<EFBFBD>
<1C>C<EFBFBD><17><1C>&<26>G<EFBFBD><1D>z<EFBFBD>*<2A>I<EFBFBD>+<2B>,<2C>I<EFBFBD><19>M<EFBFBD>A<>I<EFBFBD>F<>N<EFBFBD>
<1A>C<EFBFBD> <0E>M<EFBFBD>M<EFBFBD>B<EFBFBD>L<EFBFBD>L<EFBFBD> (<28>E<EFBFBD> <0F> <13>W<EFBFBD> <1D> A<> <15>g<EFBFBD>z<EFBFBD>6<EFBFBD>:<3A>w<EFBFBD>
<EFBFBD>TZ<EFBFBD> [<5B> ]<01><1F><03>u<EFBFBD>A<EFBFBD> &<26><08><17>*<2A>e<EFBFBD>I<EFBFBD>FV<46>(W<> X<>$<24>S<EFBFBD>E<EFBFBD><19>3<EFBFBD>%<25>s<EFBFBD> ;<3B><18><17>*<2A>e<EFBFBD>I<EFBFBD>.><3E>?<3F> A<01>3<>C<EFBFBD>5<EFBFBD>
<EFBFBD> C<><18><17>*<2A>e<EFBFBD>I<EFBFBD>.><3E><05>i<EFBFBD>@P<>Q<> S<01>&<26>s<EFBFBD>e<EFBFBD>7<EFBFBD>3<EFBFBD>%<25>s<EFBFBD> ;<3B><18><17>*<2A>e<EFBFBD>I<EFBFBD>.><3E>?<3F> A<01><11>)<29><1B>/<2F> 0<>(<28>7<EFBFBD>J<EFBFBD>PV<50>2W<32> X<><11>.<2E>!<21><16> (<28>(<28>7<EFBFBD>J<EFBFBD>*G<> H<> <1B>U<EFBFBD>9<EFBFBD>-<2D> .<2E>
<EFBFBD><06>FrBc<00><>a<00>]tRtRtoRtRtRt.R.OtRR.tRR.t R t
R/t R
PR P] 44tR0tR1tR2tR3tR4tR5tR6tR7tR8tR9t]],],],],],],],],tR
PR P]44tR tR ]!R4]!R4R]!]P>43] !R:RRR7]!PD3] !]RRR7]#PH3]!R4]!R4R]%3.RR]&PNR3R]&PP3]!R4R]!])]!PT])]+])],43R]!])]!PZ])]+])43R]!])].P<P>])]+])43]R,]!]!P^],43R]!],]!PT],43]R,]!]#P`])]!Pb])]!Pd])],43R]3.
RR ]!]!Pd43R!]!]!Pd43.RR"],3.RR#]&PN3R$]&PNR%3R&]&PNR'3R(]&PN3.RR)])3R*])3R+]!]3])43./t4R,t5Vt6R-#);r$i<>z%
Lexer for terraformi ``.tf`` files.
<EFBFBD> Terraformzhttps://www.terraform.io/z*.tfz*.hclzapplication/x-tfzapplication/x-terraform<72>2.1z({})r<>c#<08><>"<00>VP^4pV\VP^43x<00>VP^4\PVP^43x<00>VP^4VnVP ^4VnVP
\PVP^43x<00>VP 4VnVP^4pRp.p\P!VPVP
4F<>pV'd VP4P4pMVP4P4pWt8Xd<>VF4pVP4\PVP43x<00>K6 VP4\PVP43x<00>VP 4VnMEVPV4K<> VF*pVP4\VP43x<00>K, \VP4VnR#5i)<03>TN)<10>startr <00>groupr<00> Delimiter<65>pos<6F>end<6E>Heredocr <00>finditerr=<00>strip<69>rstrip<69>appendr<00>len) <09>self<6C>match<63>ctxr<78><00>hdname<6D>tolerant<6E>lines<65>check<63>amatchs &&& r?<00>heredoc_callback<63>TerraformLexer.heredoc_callback<63>s<><00><00><00><16> <0B> <0B>A<EFBFBD><0E><05><13>X<EFBFBD>u<EFBFBD>{<7B>{<7B>1<EFBFBD>~<7E>-<2D>-<2D><13>k<EFBFBD>k<EFBFBD>!<21>n<EFBFBD>f<EFBFBD>.<2E>.<2E><05> <0B> <0B>A<EFBFBD><0E>><3E>><3E><17>+<2B>+<2B>a<EFBFBD>.<2E><03><07><17>)<29>)<29>A<EFBFBD>,<2C><03><07><11>g<EFBFBD>g<EFBFBD>v<EFBFBD>~<7E>~<7E>u<EFBFBD>{<7B>{<7B>1<EFBFBD>~<7E>5<>5<><17>)<29>)<29>+<2B><03><07><16><1B><1B>Q<EFBFBD><1E><06><17><08><12><05><1C>%<25>%<25>c<EFBFBD>h<EFBFBD>h<EFBFBD><03><07><07>8<>E<EFBFBD><17><1D> <0B> <0B> <0A>+<2B>+<2B>-<2D><05><1D> <0B> <0B> <0A>,<2C>,<2C>.<2E><05><14><EFBFBD>#<23>F<EFBFBD> <20>,<2C>,<2C>.<2E>&<26>.<2E>.<2E>&<26>,<2C>,<2C>.<2E>H<>H<>$<24><1B>k<EFBFBD>k<EFBFBD>m<EFBFBD>V<EFBFBD>%5<>%5<>u<EFBFBD>{<7B>{<7B>}<7D>D<>D<><1F>)<29>)<29>+<2B><03><07><15><15> <0C> <0C>U<EFBFBD>#<23>9<> <20><06><1C>l<EFBFBD>l<EFBFBD>n<EFBFBD>e<EFBFBD>V<EFBFBD>\<5C>\<5C>^<5E>;<3B>;<3B> <20><15>c<EFBFBD>h<EFBFBD>h<EFBFBD>-<2D><03><07>s<00>H?Ir1<00>basic<69>
whitespacez(".*")r<>r<><00>
identifier<EFBFBD> punctuationr<6E>z\s*/\*r<>z \s*(#|//).*\nz'(\s*)([0-9a-zA-Z-_]+)(\s*)(=?)(\s*)(\{)z"(\s*)([0-9a-zA-Z-_]+)(\s*)(=)(\s*)z(\s*)("\S+")(\s*)([=:])(\s*)z(\()z(\[)([a-z_,\s]+)(\])z8(\s+)("[0-9a-zA-Z-_]+")?(\s*)("[0-9a-zA-Z-_]+")(\s+)(\{)z(<<-?)\s*([a-zA-Z_]\w*)(.*?\n)z\b(var\.[0-9a-zA-Z-_\.\[\]]+)\bz.\b([0-9a-zA-Z-_\[\]]+\.[0-9a-zA-Z-_\.\[\]]+)\bz[\[\]()\{\},.?:!=]z[^*/]z/\*r<>z\*/r6z[*/]r~r2<00>(\\)(\n)rCN)<03> terraform<72>tf<74>hcl)<08>backend<6E>data<74>module<6C>output<75>provider<65> provisioner<65>resource<63>variable) r<><00>number<65>bool<6F>list<73>tuple<6C>map<61>set<65>object<63>null) <09>abs<62>ceil<69>floor<6F>log<6F>max<61>mix<69>parseint<6E>pow<6F>signum)<12>chomp<6D>format<61>
formatlistr<EFBFBD><00>join<69>lower<65>regex<65>regexall<6C>replace<63>split<69>strrev<65>substr<74>title<6C>trim<69>
trimprefix<EFBFBD>
trimsuffix<EFBFBD> trimspace<63>upper)<1F>alltrue<75>anytrue<75> chunklist<73>coalesce<63> coalescelist<73>compact<63>concat<61>contains<6E>distinct<63>element<6E>flatten<65>index<65>keys<79>lengthr&<00>lookupr(<00> matchkeys<79>merger<65><00>reverse<73>setintersection<6F>
setproduct<EFBFBD> setsubtract<63>setunion<6F>slice<63>sort<72>sum<75> transpose<73>values<65>zipmap) <0B> base64decode<64> base64encode<64>
base64gzip<EFBFBD> csvdecode<64>
jsondecode<EFBFBD>
jsonencode<EFBFBD>textdecodebase64<36>textencodebase64<36> urlencode<64>
yamldecode<EFBFBD>
yamlencode) <09>abspath<74>dirname<6D>
pathexpand<EFBFBD>basename<6D>file<6C>
fileexists<EFBFBD>fileset<65>
filebase64<EFBFBD> templatefile)<03>
formatdate<EFBFBD>timeadd<64> timestamp)<10> base64sha256<35> base64sha512<31>bcrypt<70>filebase64sha256<35>filebase64sha512<31>filemd5<64>filesha1<61>
filesha256<EFBFBD>
filesha512<EFBFBD>md5<64>
rsadecrypt<EFBFBD>sha1<61>sha256<35>sha512<31>uuid<69>uuidv5)<04>cidrhost<73> cidrnetmask<73>
cidrsubnet<EFBFBD> cidrsubnets) <09>can<61>defaults<74>tobool<6F>tolist<73>tomap<61>tonumber<65>toset<65>tostring<6E>try)<02>true<75>false)7rGrHrIrJrKrLrPrMrNrOrQ<00>classesr6r8<00>
classes_re<EFBFBD>types<65>numeric_functions<6E>string_functions<6E>collection_functions<6E>encoding_functions<6E>filesystem_functions<6E>date_time_functions<6E>hash_crypto_functions<6E>ip_network_functions<6E>type_conversion_functions<6E>builtins<6E> builtins_rerrrrr<>rrr<>r r<>rr <00> MultilinerRrrxr rrSrr<>r<>r<>ryr
rTrUrVrWs@r?r$r$<00>s;<00><><00><00><08> <17>D<EFBFBD>
%<25>C<EFBFBD>(<28>G<EFBFBD><17><17>!<21>I<EFBFBD>#<23>%><3E>?<3F>I<EFBFBD><19>M<EFBFBD>6<>G<EFBFBD><17><1D><1D><03>z<EFBFBD>z<EFBFBD>'<27>2<>3<>J<EFBFBD> Y<>E<EFBFBD>=<3D><15><1A><14> <1E><18>W<01><16>[<01><18>A<01><17>`<01><19>T<01><18>!I<01><1D>!<21>#3<>3<>6J<36>J<>M_<4D>_<><1C><1D>2<>3<>5J<35>K<01>Ma<4D>b<01>!<21>"<22>H<EFBFBD><19>-<2D>-<2D><13>
<EFBFBD>
<EFBFBD>8<EFBFBD> 4<>5<>K<EFBFBD># <20>L <0F> <13>G<EFBFBD> <1C> <13>L<EFBFBD> !<21><17><08><16><1D><1D>/<2F> 0<><13>$<24>U<EFBFBD>5<EFBFBD> A<>4<EFBFBD>=<3D>=<3D> Q<><13>5<EFBFBD><15>u<EFBFBD> 5<>w<EFBFBD>|<7C>|<7C> D<> <13>L<EFBFBD> !<21> <13>M<EFBFBD> "<22> <16><06> <1F>
<EFBFBD>" <10> <16><07>)<29>)<29>9<EFBFBD> 5<> <1D>w<EFBFBD>~<7E>~<7E> .<2E> <13>L<EFBFBD> !<21>8<> <15>j<EFBFBD>$<24>,<2C>,<2C>
<EFBFBD>H<EFBFBD>j<EFBFBD>R]<5D> ^<5E> `<01>3<> <15>j<EFBFBD>$<24>.<2E>.<2E>*<2A>h<EFBFBD>
<EFBFBD> S<> U<01>
-<2D> <15>j<EFBFBD>'<27>.<2E>.<2E>"7<>"7<><1A>X<EFBFBD>z<EFBFBD> Z<> \<01><19>7<EFBFBD> "<22>H<EFBFBD>T<EFBFBD>]<5D>]<5D>K<EFBFBD>$H<> I<>%<25>h<EFBFBD>{<7B>D<EFBFBD>L<EFBFBD>L<EFBFBD>+<2B>&V<> W<><18>U<> U<> <15>g<EFBFBD>&<26>&<26>
<EFBFBD>D<EFBFBD>J<EFBFBD>J<EFBFBD>
<EFBFBD>D<EFBFBD>M<EFBFBD>M<EFBFBD>[e<>gr<67> s<> u<01>/<2F>0@<40> A<>? 
<EFBFBD>B <15> /<2F><18>$<24>-<2D>-<2D>1H<31> I<> ><3E> <15>d<EFBFBD>m<EFBFBD>m<EFBFBD> $<24> &<26>
<EFBFBD>
<16> "<22>K<EFBFBD> 0<>
<EFBFBD> <12> <15>w<EFBFBD>(<28>(<28> )<29> <13>W<EFBFBD>&<26>&<26><07> 0<> <13>W<EFBFBD>&<26>&<26><06> /<2F> <14>g<EFBFBD>'<27>'<27> (<28> 
<EFBFBD> <15> <12>J<EFBFBD> <1F> <13>Z<EFBFBD> <20> <18>(<28>4<EFBFBD><1A>4<> 5<>
<EFBFBD>CF<06>FrBc <00><00>]tRtRtRtRtR.tRR.t.tRt Rt
RR ] 3R
] PR 3R ]3.R R ]R3R]R3R]3R] P 3.RR]!]]43R]R3R]!]]43R]R3R]3R] P*3.RR]3R]R3R]3R]3./tRtR#)r%i_zF
Lexer for termcap database source.
This is very simple and minimal.
<EFBFBD>Termcap<61>termcapz termcap.srcz%https://en.wikipedia.org/wiki/Termcapr<70>r1<00>^#.*z
^[^\s#:|]+<2B>namesr2r~r6<00>:<3A>defs<66>\|z[^:|]+z(\\)(\n[ \t]*)z\n[ \t]*r<><00> (#)([0-9]+)r<>rz [^\s:=#]+z\\072z[^:\\]+r<>rCN)rGrHrIrJrKrLrMrNrOrPrQr rr<>rrrSrr
r rr<>rrTrUrCrBr?r%r%_s
<00><00><08>
<15>D<EFBFBD><18>k<EFBFBD>G<EFBFBD><1A>M<EFBFBD>*<2A>I<EFBFBD><12>I<EFBFBD>
1<EFBFBD>C<EFBFBD><19>M<EFBFBD> <0F> <14>g<EFBFBD> <1E> <1A>D<EFBFBD>H<EFBFBD>H<EFBFBD>g<EFBFBD> .<2E> <13>Z<EFBFBD> <20>
<EFBFBD>
<10> <12>J<EFBFBD><06> '<27> <11>;<3B><06> '<27> <12>K<EFBFBD> <20> <16><04><0E><0E> '<27> 
<EFBFBD> <0F> <1E><08><14>z<EFBFBD> :<3A> ;<3B> <18>*<2A>h<EFBFBD> /<2F> <1B>X<EFBFBD>h<EFBFBD><06>7<> 8<> <11>8<EFBFBD>V<EFBFBD> $<24> <11>;<3B> <1F> <19>4<EFBFBD>:<3A>:<3A> &<26> 
<EFBFBD> <0F> <15>w<EFBFBD> <1F> <11>;<3B><06> '<27> <17><17> !<21> <11>7<EFBFBD>O<EFBFBD> 
<EFBFBD>)<06>FrBc<00>2<00>]tRtRtRtRtR.tRR.t.tRt Rt
RR ] 3R
] PR 3R ]3.R R ]R3R]!]]4R3R]3R] P"3.RR]3R ]R3R]!]]43R]R3R]!]]43R] P(3.RR]3R]!]]4R3R]3R]3./tRtR#)r&i<>zG
Lexer for terminfo database source.
This is very simple and minimal.
<EFBFBD>Terminfo<66>terminfoz terminfo.srcz&https://en.wikipedia.org/wiki/Terminfor<6F>r1z^#.*$z
^[^\s#,|]+r<>r2r~r6z (,)([ \t]*)r<>r<>z[^,|]+z\n[ \t]+r<>r<>r<>rz [^\s,=#]+z\\[,\\]z[^\\,]+r<>rCN)rGrHrIrJrKrLrMrNrOrPrQr rr<>rrrrSr rr<>rrTrUrCrBr?r&r&<00>s<00><00><08>
<16>D<EFBFBD><19>l<EFBFBD>G<EFBFBD><1B>^<5E>,<2C>I<EFBFBD><12>I<EFBFBD>
2<EFBFBD>C<EFBFBD><19>M<EFBFBD> <0F> <15>w<EFBFBD> <1F> <1A>D<EFBFBD>H<EFBFBD>H<EFBFBD>g<EFBFBD> .<2E> <13>Z<EFBFBD> <20>
<EFBFBD>
<10> <12>J<EFBFBD><06> '<27> <1B>X<EFBFBD>k<EFBFBD>:<3A>><3E><06> G<> <12>K<EFBFBD> <20> <16><04><0E><0E> '<27> 
<EFBFBD> <0F> <18>*<2A> %<25> <12>J<EFBFBD><08> )<29> <1B>X<EFBFBD>h<EFBFBD><06>7<> 8<> <11>8<EFBFBD>V<EFBFBD> $<24> <1B>X<EFBFBD>k<EFBFBD>:<3A>><3E> ?<3F> <19>4<EFBFBD>:<3A>:<3A> &<26> 
<EFBFBD> <0F> <17><17> !<21> <1B>X<EFBFBD>k<EFBFBD>:<3A>><3E><06> G<> <17><17> !<21> <11>7<EFBFBD>O<EFBFBD> 
<EFBFBD>)<06>FrBc<00>r<00>]tRtRtRtRtRtR.tR.t.t Rt
RR ] P3R
] !]P]43R ] !]P"]4R 3]!R 4R]3R]3R]3.R R]3R]P.R3.RR]P.R3R]P3.R ]!R 4R ] PR3R]R3R]3R]3R]3./tRtR#)r'i<>zY
Lexer for pkg-config
(see also `manual page <http://linux.die.net/man/1/pkg-config>`_).
<EFBFBD> PkgConfigz4http://www.freedesktop.org/wiki/Software/pkg-config/<2F> pkgconfigz*.pcr<63>r1<00>#.*$z ^(\w+)(=)z ^([\w.]+)(:)<29>spvalue<75>interpr2z [^${}#=:\n.]+r<>z\$\$z\$\{<7B>curlyr<79>r6r<>r~z [^${}#\n\s]+rCN)rGrHrIrJrKrLrPrMrNrOrQr rRrrrSr r<>rrrr
rr<>rTrUrCrBr?r'r'<00>s"<00><00><08>
<17>D<EFBFBD>
@<40>C<EFBFBD><1A>m<EFBFBD>G<EFBFBD><17><08>I<EFBFBD><12>I<EFBFBD><19>M<EFBFBD> <0F> <14>g<EFBFBD>n<EFBFBD>n<EFBFBD> %<25><1A>8<EFBFBD>D<EFBFBD>N<EFBFBD>N<EFBFBD>H<EFBFBD>=<3D> ><3E><1D> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD> <0B> ,<2C>i<EFBFBD> 9<> <14>H<EFBFBD> <1D><14>Z<EFBFBD> <20> <1D>t<EFBFBD> $<24> <11>4<EFBFBD>L<EFBFBD>!
<EFBFBD>$ <11> <14>d<EFBFBD>O<EFBFBD><15>f<EFBFBD>o<EFBFBD>o<EFBFBD>w<EFBFBD> /<2F> 
<EFBFBD> <10> <12>F<EFBFBD>O<EFBFBD>O<EFBFBD>V<EFBFBD> ,<2C> <13>T<EFBFBD>^<5E>^<5E> $<24>
<EFBFBD> <12> <13>H<EFBFBD> <1D> <14>g<EFBFBD>n<EFBFBD>n<EFBFBD>f<EFBFBD> -<2D> <12>J<EFBFBD><06> '<27><14>Z<EFBFBD> <20> <1C>d<EFBFBD> #<23> <11>4<EFBFBD>L<EFBFBD>

<EFBFBD>=)<06>FrBc
<00><><00>]tRtRtRtRtRtR.tR.t.t Rt
RR ] P3R
] !]]]43R ] !]P"]]43R ] !]]P"]43]!RR R7]P(3R]3R]3./tRtR#)r(i<>a
Lexer for pacman.conf.
Actually, IniLexer works almost fine for this format,
but it yield error token. It is because pacman.conf has
a form without assignment like:
UseSyslog
Color
TotalDownload
CheckSpace
VerbosePkgLists
These are flags to switch on.
<EFBFBD>
PacmanConfz3https://www.archlinux.org/pacman/pacman.conf.5.html<6D>
pacmanconfz pacman.confr<66>r1r<>z^(\s*)(\[.*?\])(\s*)$z (\w+)(\s*)(=)z^(\s*)(\w+)(\s*)$r<>r<>r2r<>rCN)z$repoz$archz%oz%u)rGrHrIrJrKrLrPrMrNrOrQr rRrrr rrSr rryr
rTrUrCrBr?r(r(<00>s<><00><00><08> <18>D<EFBFBD>
?<3F>C<EFBFBD><1B>n<EFBFBD>G<EFBFBD><1E><0F>I<EFBFBD><12>I<EFBFBD><19>M<EFBFBD> <0F> <14>g<EFBFBD>n<EFBFBD>n<EFBFBD> %<25>&<26>x<EFBFBD>
<EFBFBD>G<EFBFBD>Z<EFBFBD>'P<> Q<><1E> <15>d<EFBFBD>n<EFBFBD>n<EFBFBD>j<EFBFBD>(<28> ;<3B> =<3D>"<22> <15>j<EFBFBD>$<24>.<2E>.<2E>*<2A> =<3D> ?<3F><13><12>
 <20> !<21> <12>]<5D>]<5D>  <1C><14>Z<EFBFBD> <20> <11>4<EFBFBD>L<EFBFBD>7
<EFBFBD><06>FrBc<00><><00>]tRtRtRtRtRtR.tR.tRt RR ]
!] P] ]P43R
]
!] P] ]P 43R ]
!]P"] 43R ]
!]]P ]] P&]43R ]P*R3R]3R]3R]P0R3R]P2R3R]
!]P]]P 43R]P 3R] 3. RR]P43R]P03R]P0R3.RR]P43R]P23R]P2R3.RR]P*3R ]P*R3R]P*R3R]P*3./tR tR!#)"r)i/z
Lexer for Augeas.
<EFBFBD>Augeaszhttp://augeas.net<65>augeasz*.aug<75>2.4r1z(module)(\s*)([^\s=]+)z(let)(\s*)([^\s=]+)zV(del|store|value|counter|seq|key|label|autoload|incl|excl|transform|test|get|put)(\s+)z8(\()([^:]+)(\:)(unit|string|regexp|lens|tree|filter)(\))z\(\*r<>z [*+\-.;=?|]z
[()\[\]{}]r<>r<>z\/r:z([A-Z]\w*)(\.)(\w+)r<>r2r<>z[^"]r6z[^/]z[^*)]r<>z\*\)z[)*]rCN)rGrHrIrJrKrLrPrMrNrQrr rjrrr<>ryrxrr<>r r<>r rr<>r<>r<>rTrUrCrBr?r)r)/s<><00><00><08> <14>D<EFBFBD>
<1D>C<EFBFBD><17>j<EFBFBD>G<EFBFBD><18> <09>I<EFBFBD><19>M<EFBFBD> <0F> &<26><08><17>1B<31>1B<31>J<EFBFBD>PT<50>P^<5E>P^<5E>(_<> `<60> #<23>X<EFBFBD>g<EFBFBD>.A<>.A<>:<3A>t<EFBFBD>}<7D>}<7D>%]<5D> ^<5E> f<>hp<68>qu<71>q}<7D>q}<7D>@J<02>iK<02> L<02> H<>(<28>S^<5E>`d<>`m<>`m<>oz<6F>}D<02>}I<02>}I<02>KV<02>KW<02> X<02> <14>g<EFBFBD>'<27>'<27><19> 3<> <1B>X<EFBFBD> &<26> <1A>H<EFBFBD> %<25> <11>6<EFBFBD>=<3D>=<3D>(<28> +<2B> <12>F<EFBFBD>L<EFBFBD>L<EFBFBD>'<27> *<2A> #<23>X<EFBFBD>d<EFBFBD>n<EFBFBD>n<EFBFBD>k<EFBFBD>4<EFBFBD>=<3D>=<3D>%Y<> Z<> <11>4<EFBFBD>=<3D>=<3D> !<21> <13>Z<EFBFBD> <20> 
<EFBFBD> <11> <13>V<EFBFBD>]<5D>]<5D> #<23> <14>f<EFBFBD>m<EFBFBD>m<EFBFBD> $<24> <11>6<EFBFBD>=<3D>=<3D>&<26> )<29>
<EFBFBD>
<10> <13>V<EFBFBD>]<5D>]<5D> #<23> <14>f<EFBFBD>l<EFBFBD>l<EFBFBD> #<23> <12>F<EFBFBD>L<EFBFBD>L<EFBFBD>&<26> )<29>
<EFBFBD>
<12> <15>w<EFBFBD>(<28>(<28> )<29> <14>g<EFBFBD>'<27>'<27><17> 1<> <14>g<EFBFBD>'<27>'<27><16> 0<> <14>g<EFBFBD>'<27>'<27> (<28> 
<EFBFBD>3<06>FrBc<00><><00>]tRtRtRtRtR.t.R8OtR.tRt Rt
Rt R ] R
2t R R ] 3R ]P3]!R4R]!]] 4R3R]R3.RR]3R]P,R3R]PR3R]3.RR]3R]P,R3R]PR3R]3R]R3R] 3.R] ]P2R3] ]P2R3R]P6R3R]P6R3R]P6R3R]P8R3R ]P:R3R!]P<R3R"]P>R3R#]P,R93R]P,R:3R%]PR;3R]PR<3R']P@R3R(]R=3R*]R>3.R)R ] 3R ]P3R,]3R-]R3]!!R4.R+R] 3]!R4R]!]] 4R3R,]3R.]R3.RR]P,R3]!R/4R0]P,3.RR1]PR3.R$R#]P,R3R2]!]PD] 43]!R/4R0]P,3R]P,3.R&R%]PR3R3]P3R]P3.R/R4]PD3R5]PD3./ t#R6t$R7#)?r*i[z5
Lexer for TOML, a simple language for config files.
<EFBFBD>TOML<4D>tomlzapplication/tomlzhttps://toml.ior<6F>z\d\d:\d\d:\d\d(\.\d+)?zm(?x)
\d\d\d\d-\d\d-\d\d # date, e.g., 1988-10-27
(
[Tt ] z<> # optional time
(
[Zz]|[+-]\d\d:\d\d # optional time offset
)?
)?
r1r2r<>rz(=)(\s*)r5z\[\[?z table-keyz[A-Za-z0-9_-]+r<><00> basic-string<6E>'<27>literal-stringz\.z\]\]?r6<00>[ \t]+z [+-]?\d[0-9_]*[eE][+-]?\d[0-9_]*z.[+-]?\d[0-9_]*\.\d[0-9_]*([eE][+-]?\d[0-9_]*)?z[+-]?(inf|nan)z
-?0b[01_]+z -?0o[0-7_]+z-?0x[0-9a-fA-F_]+z [+-]?[0-9_]+z"""<22>multiline-basic-stringz'''<27>multiline-literal-stringz
true|false<73>\[<5B>arrayr<79><00> inline-tabler<65><00>\]r<>r<>z[^"\\]+z.*?'rz[^']+z#\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}r<>rCN)z*.toml<6D>Pipfilez poetry.lock)r6r<>)r6r<>)r6r<>)r6r<>)r6r<>)r6r<>)%rGrHrIrJrKrLrMrNrOrPrQ<00>_time<6D> _datetimerr rRrrr r rrr<>rr<00>Daterr<><00>Bin<69>Oct<63>Hexr<78>r<>rr<>rTrUrCrBr?r*r*[s<><00><00><08> <12>D<EFBFBD><15>h<EFBFBD>G<EFBFBD>4<>I<EFBFBD>#<23>$<24>I<EFBFBD>
<1B>C<EFBFBD><19>M<EFBFBD>
&<26>E<EFBFBD><19><1F><07> <0F><12>I<EFBFBD> <0F><14>Z<EFBFBD> <20><14>W<EFBFBD>^<5E>^<5E> $<24> <14>E<EFBFBD>N<EFBFBD><19>(<28>8<EFBFBD>Z<EFBFBD>8<>'<27> B<><16>w<EFBFBD> <0B> ,<2C>-
<EFBFBD>0 <0E> <1E><04> %<25> <11>6<EFBFBD>=<3D>=<3D>.<2E> 1<> <11>6<EFBFBD>=<3D>=<3D>"2<> 3<> <12>K<EFBFBD> <20>
<EFBFBD> <14> <1F><07> (<28> <11>6<EFBFBD>=<3D>=<3D>.<2E> 1<> <11>6<EFBFBD>=<3D>=<3D>"2<> 3<> <12>G<EFBFBD> <1C> <15>w<EFBFBD><06> '<27><17>
<EFBFBD> #<23>
<EFBFBD> <10> <16><07> <0C> <0C>f<EFBFBD> -<2D> <12>G<EFBFBD>L<EFBFBD>L<EFBFBD>&<26> )<29>1<>&<26>,<2C>,<2C><06> G<> ><3E> <13>\<5C>\<5C>6<EFBFBD> #<23><1F><06> <0C> <0C>f<EFBFBD> 5<><1B>F<EFBFBD>J<EFBFBD>J<EFBFBD><06> /<2F> <1B>V<EFBFBD>Z<EFBFBD>Z<EFBFBD><16> 0<> !<21>6<EFBFBD>:<3A>:<3A>v<EFBFBD> 6<> <1C>f<EFBFBD>n<EFBFBD>n<EFBFBD>f<EFBFBD> 5<><14>V<EFBFBD>]<5D>]<5D>$F<> G<> <11>6<EFBFBD>=<3D>=<3D>":<3A> ;<3B> <13>V<EFBFBD>]<5D>]<5D>$H<> I<> <11>6<EFBFBD>=<3D>=<3D>"<<3C> =<3D><1B>G<EFBFBD>,<2C>,<2C>f<EFBFBD> 5<><13>K<EFBFBD>!2<> 3<><13>K<EFBFBD>!9<> :<3A>C"
<EFBFBD>F <10><14>Z<EFBFBD> <20> <13>W<EFBFBD>^<5E>^<5E> $<24><12>;<3B> <1F><13>K<EFBFBD><16> (<28> <14>G<EFBFBD> <1C>
<EFBFBD> <17><17>
<EFBFBD> #<23> <14>E<EFBFBD>N<EFBFBD><19>(<28>;<3B>
<EFBFBD>;<3B>W<EFBFBD> E<><12>;<3B> <1F><13>K<EFBFBD><16> (<28>
<EFBFBD>" <17> <11>6<EFBFBD>=<3D>=<3D>&<26> )<29> <13>I<EFBFBD> <1E> <17><16><1D><1D> '<27>
<EFBFBD>
<19> <14>f<EFBFBD>m<EFBFBD>m<EFBFBD>V<EFBFBD> ,<2C>
<EFBFBD> !<21> <13>V<EFBFBD>]<5D>]<5D>F<EFBFBD> +<2B> <18>(<28>6<EFBFBD>=<3D>=<3D>*<2A>=<3D> ><3E> <13>I<EFBFBD> <1E> <17><16><1D><1D> '<27> <11>6<EFBFBD>=<3D>=<3D> !<21> #
<EFBFBD> #<23> <13>V<EFBFBD>]<5D>]<5D>F<EFBFBD> +<2B> <15>v<EFBFBD>}<7D>}<7D> %<25> <11>6<EFBFBD>=<3D>=<3D> !<21>%
<EFBFBD>
<12> 3<>V<EFBFBD>]<5D>]<5D> C<> <13>V<EFBFBD>]<5D>]<5D> #<23>
<EFBFBD>QL<06>FrBc<00>V<00>]tRtRtRtRtRtRR.tR.tRt R R
]
!] ] 43R ]
!] ] 4R 3R ]
!] ] 4R3R]
!] ] 43R]
!] ] ] ]] 43R]
!] ] 43R]
!] ] ] ]] 43R]
!] ] 43R]
!] ] ] ]P ] 43R]
!] ]P ] 43R]
!] ]P ] ] ]] 43. R]!R4R]3]!R4R] 3R] R3R]R3.R ]!R4R]P 3R] R 3R!] R3R]R3.R ]!R4R]3]!R4R] R3R!] R"3.R]!R4R#] R 3R$] R3.RR%] 3./tR&tR'#)(r+izz
Lexer for *NextedText*, a human-friendly data format.
.. versionchanged:: 2.16
Added support for *NextedText* v3.0.
<EFBFBD>
NestedTextzhttps://nestedtext.org<72>
nestedtext<EFBFBD>ntz*.ntz2.9r1z ^([ ]*)(#.*)$z ^([ ]*)(\{)<29> inline_dictz ^([ ]*)(\[)<29> inline_listz ^([ ]*)(>)$z^([ ]*)(>)( )(.*?)([ \t]*)$z ^([ ]*)(-)$z^([ ]*)(-)( )(.*?)([ \t]*)$z ^([ ]*)(:)$z^([ ]*)(:)( )([^\n]*?)([ \t]*)$z^([ ]*)([^\{\[\s].*?)(:)$z)^([ ]*)([^\{\[\s].*?)(:)( )(.*?)([ \t]*)$rz[^\{\}\[\],\s]+<2B> inline_valuer<65>r<>r6r~z[^\{\}\[\],:\s]+r<><00>inline_dict_valuer<65>r<>r<>r<>r<>rCN)rGrHrIrJrKrLrPrMrNrQrrr rr
rr<>rrrTrUrCrBr?r+r+s&<00><00><08> <18>D<EFBFBD>
"<22>C<EFBFBD><1B>T<EFBFBD>"<22>G<EFBFBD><17><08>I<EFBFBD><19>M<EFBFBD> <0F> <1D>x<EFBFBD>
<EFBFBD>G<EFBFBD><<3C> =<3D><1C>X<EFBFBD>j<EFBFBD>+<2B>><3E> <0A> N<><1C>X<EFBFBD>j<EFBFBD>+<2B>><3E> <0A> N<><1C>X<EFBFBD>j<EFBFBD>+<2B>><3E> ?<3F>,<2C>X<EFBFBD>j<EFBFBD>+<2B>z<EFBFBD>[_<>ak<61>-l<> m<><1C>X<EFBFBD>j<EFBFBD>+<2B>><3E> ?<3F>,<2C>X<EFBFBD>j<EFBFBD>+<2B>z<EFBFBD>[_<>ak<61>-l<> m<><1C>X<EFBFBD>j<EFBFBD>+<2B>><3E> ?<3F>0<><18>*<2A>k<EFBFBD>S]<5D>_c<5F>_g<5F>_g<5F>is<69>1t<31> u<>*<2A>8<EFBFBD>J<EFBFBD><04><08><08>+<2B>+V<> W<>:<3A>8<EFBFBD>J<EFBFBD>PT<50>PX<50>PX<50>Ze<5A>gq<67>sw<73>zD<02><E<02> F<02>A!
<EFBFBD>D <16> <13>L<EFBFBD> !<21> <1F><14> &<26> <13>N<EFBFBD> #<23> <11>;<3B> <1F> <12>K<EFBFBD><16> (<28> <12>E<EFBFBD>6<EFBFBD> "<22> 
<EFBFBD> <16> <13>L<EFBFBD> !<21> <20>$<24>(<28>(<28> +<2B> <11>;<3B> 3<> 4<> <12>K<EFBFBD><16> (<28> <12>E<EFBFBD>6<EFBFBD> "<22> 
<EFBFBD> <1C> <13>L<EFBFBD> !<21> <20>$<24> '<27> <13>N<EFBFBD> #<23> <11>;<3B><06> '<27> <12>K<EFBFBD><18> *<2A> 
<EFBFBD> <17> <13>L<EFBFBD> !<21> <12>K<EFBFBD><1D> /<2F> <12>K<EFBFBD><1D> /<2F>
<EFBFBD>
<15> <16>
<EFBFBD> #<23>
<EFBFBD>}A<06>FrBc <00>Na<00>]tRtRtoRtRtRtR.tRR.tRt ]
P]
P,]
P,tRtR tR
tR ]]!]P(]4R 3]]!]P(]4R 3]]!]]]43R ]3R]3R]3R]3.R R]!]4R3./tRtRtVtR#)r,iUz)
Lexer for Singularity definition files.
<EFBFBD> SingularityzAhttps://www.sylabs.io/guides/3.0/user-guide/definition_files.html<6D> singularityz*.defz2.6zS^(\s*)(bootstrap|from|osversion|mirrorurl|include|registry|namespace|includecmd)(:)zT^(%(?:pre|post|setup|environment|help|labels|test|runscript|files|startscript))(\s*)z6^(%app(?:install|help|run|labels|env|test|files))(\s*)r1<00>scriptz \s*#.*?\nz"\b(([0-9]+\.?[0-9]*)|(\.[0-9]+))\br<62>z
(?!^\s*%).z(.+?(?=^\s*%))|(.*)r6c <0C><><00>^p\P!RV\P4'd
VR, p\P!\PR,V4'd
VR, pV#)zdThis is a quite simple script file, but there are a few keywords
which seem unique to this language.z&\b(?:osversion|includecmd|mirrorurl)\bg<00>?:r<>NNg\<5C><><EFBFBD>(\<5C>?)rerfr<>r,<00>_section)r=<00>results& r?r@<00>SingularityLexer.analyse_texttsU<00><00><13><06> <0A>9<EFBFBD>9<EFBFBD>><3E><04>b<EFBFBD>m<EFBFBD>m<EFBFBD> T<> T<> <12>c<EFBFBD>M<EFBFBD>F<EFBFBD> <0A>9<EFBFBD>9<EFBFBD>%<25>.<2E>.<2E>r<EFBFBD>2<>D<EFBFBD> 9<> 9<> <12>d<EFBFBD>N<EFBFBD>F<EFBFBD><15> rBrCN) rGrHrIrJrKrLrPrMrNrQrer<>rg<00>DOTALLr<4C><00>_headersr<73><00>_appsectrr<00>Headingrr r
r rrrrTr@rUrVrWs@r?r,r,Us<><00><><00><00><08> <19>D<EFBFBD>
M<EFBFBD>C<EFBFBD><1C>o<EFBFBD>G<EFBFBD><18>-<2D>(<28>I<EFBFBD><19>M<EFBFBD> <0E>M<EFBFBD>M<EFBFBD>B<EFBFBD>L<EFBFBD>L<EFBFBD> (<28>2<EFBFBD>9<EFBFBD>9<EFBFBD> 4<>E<EFBFBD>e<>H<EFBFBD>f<>H<EFBFBD>H<>H<EFBFBD> <0F> <15>x<EFBFBD><07><0F><0F><1A><<3C>h<EFBFBD> G<> <15>x<EFBFBD><07><0F><0F><1A><<3C>h<EFBFBD> G<> <15>x<EFBFBD>
<EFBFBD>G<EFBFBD>T<EFBFBD>:<3A> ;<3B> <19>7<EFBFBD> #<23> 2<>F<EFBFBD> ;<3B> <16>
<EFBFBD> #<23> <1A>D<EFBFBD> !<21>
<EFBFBD> <11> #<23>U<EFBFBD>9<EFBFBD>%5<>v<EFBFBD> ><3E>
<EFBFBD> <06>F<EFBFBD>
<16>
rBc<00>^<00>]tRtRtRtRtRR.t.tRtRt RR ]
3R
] 3R ] 3R ] 3R ]3R]3./tRtR#)r-i<>z|
Lexer for Unix/Linux config files using colon-separated values, e.g.
* ``/etc/group``
* ``/etc/passwd``
* ``/etc/shadow``
zUnix/Linux config files<65>
unixconfig<EFBFBD> linuxconfigzUhttps://en.wikipedia.org/wiki/Configuration_file#Unix_and_Unix-like_operating_systemsz2.12r1r<>r~r<>r<>z"((?!\n)[a-zA-Z0-9\_\-\s\(\),]){2,}z[^:\n]+rCN)rGrHrIrJrKrLrMrNrPrQr rrrr
rrTrUrCrBr?r-r-<00>sh<00><00><08> %<25>D<EFBFBD><1B>]<5D>+<2B>G<EFBFBD><12>I<EFBFBD>
a<EFBFBD>C<EFBFBD><1A>M<EFBFBD> <0F> <14>g<EFBFBD> <1E> <12>J<EFBFBD> <1F> <11>;<3B> <1F> <16><06> <1F> 2<>D<EFBFBD> 9<> <17><16> <20> 
<EFBFBD> <06>FrB)rrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-)4rKre<00>pygments.lexerrrrrrrrr <00>pygments.tokenr
r r r rrrrrrrr<00>pygments.lexers.shellr<00>pygments.lexers.datar<00>__all__rrrrrr<>rrrr r!r"r#r$r%r&r'r(r)r*r+r,r-rCrBr?<00><module>r<>sl<00><01><04>
<EFBFBD>&<26>&<26>&<26>=<3D>=<3D>=<3D>=<3D>+<2B>*<2A> E<01><07>3<15>z<EFBFBD>3<15>l<13>:<3A><13><)<13>:<3A>)<13>X':<3A>:<3A>':<3A>T5<06>j<EFBFBD>5<06>pK<01>(K<06>:<3A>K<06>\:<06>Z<EFBFBD>:<06>z(<06>j<EFBFBD>(<06>V~<06>Z<EFBFBD>~<06>B+<06>Z<EFBFBD>+<06>\<06>
<EFBFBD><06>8 <06>*<2A> <06>Ff<06>'<27>f<06>R,<06>:<3A>,<06>^,<06>J<EFBFBD>,<06>^6<06>Z<EFBFBD>6<06>r6<06>j<EFBFBD>6<06>r)<06>*<2A>)<06>Xf<06>
<EFBFBD>f<06>PO<06>j<EFBFBD>O<06>d)<16>z<EFBFBD>)<16>X<06>j<EFBFBD>rB