diff options
author | Gaurav Jain <gaurav@gauravjain.org> | 2014-05-14 02:28:35 -0400 |
---|---|---|
committer | Gaurav Jain <gaurav@gauravjain.org> | 2014-05-14 02:28:35 -0400 |
commit | eaa060a062951518866a308f2a9684b889ccaad1 (patch) | |
tree | 0b88abe57ef0ea7eb021d2b825bac0bd02829811 | |
parent | 16b39eea26af87813151b03992f2ed4738057eaa (diff) | |
download | pygments-eaa060a062951518866a308f2a9684b889ccaad1.tar.gz |
Add support for embedded python in Vim scripts
-rw-r--r-- | pygments/lexers/text.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/pygments/lexers/text.py b/pygments/lexers/text.py index fc1cc6a6..6885e652 100644 --- a/pygments/lexers/text.py +++ b/pygments/lexers/text.py @@ -17,6 +17,7 @@ from pygments.lexer import Lexer, LexerContext, RegexLexer, ExtendedRegexLexer, from pygments.token import Punctuation, Text, Comment, Keyword, Name, String, \ Generic, Operator, Number, Whitespace, Literal from pygments.util import get_bool_opt, ClassNotFound +from pygments.lexers.agile import PythonLexer from pygments.lexers.other import BashLexer __all__ = ['IniLexer', 'PropertiesLexer', 'SourcesListLexer', 'BaseMakefileLexer', @@ -835,8 +836,16 @@ class VimLexer(RegexLexer): mimetypes = ['text/x-vim'] flags = re.MULTILINE + _python = r'py(?:t(?:h(?:o(?:n)?)?)?)?' + tokens = { 'root': [ + (r'^([ \t:]*)(' + _python + r')([ \t]*)(<<)([ \t]*)(.*)((?:\n|.)*)(\5)', + bygroups(using(this), Keyword, Text, Operator, Text, Text, + using(PythonLexer), Text)), + (r'^([ \t:]*)(' + _python + r')(.*)', + bygroups(using(this), Keyword, using(PythonLexer))), + (r'^\s*".*', Comment), (r'[ \t]+', Text), |