eric6/ThirdParty/Pygments/pygments/lexers/markup.py

changeset 7983
54c5cfbb1e29
parent 7701
25f42e208e08
equal deleted inserted replaced
7982:48d210e41c65 7983:54c5cfbb1e29
3 pygments.lexers.markup 3 pygments.lexers.markup
4 ~~~~~~~~~~~~~~~~~~~~~~ 4 ~~~~~~~~~~~~~~~~~~~~~~
5 5
6 Lexers for non-HTML markup languages. 6 Lexers for non-HTML markup languages.
7 7
8 :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS. 8 :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9 :license: BSD, see LICENSE for details. 9 :license: BSD, see LICENSE for details.
10 """ 10 """
11 11
12 import re 12 import re
13 13
556 (r'^(\s*)([0-9]+\.)( .+\n)', 556 (r'^(\s*)([0-9]+\.)( .+\n)',
557 bygroups(Text, Keyword, using(this, state='inline'))), 557 bygroups(Text, Keyword, using(this, state='inline'))),
558 # quote 558 # quote
559 (r'^(\s*>\s)(.+\n)', bygroups(Keyword, Generic.Emph)), 559 (r'^(\s*>\s)(.+\n)', bygroups(Keyword, Generic.Emph)),
560 # code block fenced by 3 backticks 560 # code block fenced by 3 backticks
561 (r'^(\s*```\n(.+\n)+\s*```$)', String.Backtick), 561 (r'^(\s*```\n[\w\W]*?^\s*```$\n)', String.Backtick),
562 # code block with language 562 # code block with language
563 (r'^(\s*```)(\w+)(\n)([\w\W]*?)(^\s*```$)', _handle_codeblock), 563 (r'^(\s*```)(\w+)(\n)([\w\W]*?)(^\s*```$\n)', _handle_codeblock),
564 # code block indented with 4 spaces or 1 tab
565 (r'(\n\n)((\ {4}|\t)(.+\n)+)', bygroups(Text, String.Backtick)),
566 564
567 include('inline'), 565 include('inline'),
568 ], 566 ],
569 'inline': [ 567 'inline': [
570 # escape 568 # escape
571 (r'\\.', Text), 569 (r'\\.', Text),
572 # inline code 570 # inline code
573 (r'([^`])(`[^`\n]+`)', bygroups(Text, String.Backtick)), 571 (r'([^`]?)(`[^`\n]+`)', bygroups(Text, String.Backtick)),
574 # warning: the following rules eat outer tags. 572 # warning: the following rules eat outer tags.
575 # eg. **foo _bar_ baz** => foo and baz are not recognized as bold 573 # eg. **foo _bar_ baz** => foo and baz are not recognized as bold
576 # bold fenced by '**' 574 # bold fenced by '**'
577 (r'(\*\*[^* \n][^*\n]*\*\*)', bygroups(Generic.Strong)), 575 (r'([^\*]?)(\*\*[^* \n][^*\n]*\*\*)', bygroups(Text, Generic.Strong)),
578 # # bold fenced by '__' 576 # bold fenced by '__'
579 (r'(\_\_[^_ \n][^_\n]*\_\_)', bygroups(Generic.Strong)), 577 (r'([^_]?)(__[^_ \n][^_\n]*__)', bygroups(Text, Generic.Strong)),
580 # italics fenced by '*' 578 # italics fenced by '*'
581 (r'(\*[^* \n][^*\n]*\*)', bygroups(Generic.Emph)), 579 (r'([^\*]?)(\*[^* \n][^*\n]*\*)', bygroups(Text, Generic.Emph)),
582 # italics fenced by '_' 580 # italics fenced by '_'
583 (r'(\_[^_ \n][^_\n]*\_)', bygroups(Generic.Emph)), 581 (r'([^_]?)(_[^_ \n][^_\n]*_)', bygroups(Text, Generic.Emph)),
584 # strikethrough 582 # strikethrough
585 (r'([^~]*)(~~[^~]+~~)', bygroups(Text, Generic.Deleted)), 583 (r'([^~]?)(~~[^~ \n][^~\n]*~~)', bygroups(Text, Generic.Deleted)),
586 # mentions and topics (twitter and github stuff) 584 # mentions and topics (twitter and github stuff)
587 (r'[@#][\w/:]+', Name.Entity), 585 (r'[@#][\w/:]+', Name.Entity),
588 # (image?) links eg: ![Image of Yaktocat](https://octodex.github.com/images/yaktocat.png) 586 # (image?) links eg: ![Image of Yaktocat](https://octodex.github.com/images/yaktocat.png)
589 (r'(!?\[)([^]]+)(\])(\()([^)]+)(\))', 587 (r'(!?\[)([^]]+)(\])(\()([^)]+)(\))',
590 bygroups(Text, Name.Tag, Text, Text, Name.Attribute, Text)), 588 bygroups(Text, Name.Tag, Text, Text, Name.Attribute, Text)),

eric ide

mercurial