<s> """<STR_LIT>""" <EOL> import re <EOL> from pygments . lexer import Lexer , RegexLexer , do_insertions , bygroups , include <EOL> from pygments . token import Punctuation , Text , Comment , Operator , Keyword , Name , String , Number , Generic <EOL> from pygments . util import shebang_matches <EOL> __all__ = [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' ] <EOL> line_re = re . compile ( '<STR_LIT>' ) <EOL> class BashLexer ( RegexLexer ) : <EOL> """<STR_LIT>""" <EOL> name = '<STR_LIT>' <EOL> aliases = [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> filenames = [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> mimetypes = [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> tokens = { <EOL> '<STR_LIT:root>' : [ <EOL> include ( '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , Keyword , '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , Keyword , '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , Keyword , '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , String . Backtick , '<STR_LIT>' ) , <EOL> include ( '<STR_LIT:data>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' <EOL> r'<STR_LIT>' , <EOL> Keyword ) , <EOL> ( r'<STR_LIT>' <EOL> r'<STR_LIT>' <EOL> r'<STR_LIT>' <EOL> r'<STR_LIT>' <EOL> r'<STR_LIT>' <EOL> r'<STR_LIT>' , <EOL> Name . Builtin ) , <EOL> ( r'<STR_LIT>' , Comment ) , <EOL> ( r'<STR_LIT>' , String . Escape ) , <EOL> ( r'<STR_LIT>' , bygroups ( Name . Variable , Text , Operator ) ) , <EOL> ( r'<STR_LIT>' , Operator ) , <EOL> ( r'<STR_LIT>' , String ) , <EOL> ( r'<STR_LIT>' , Operator ) , <EOL> ] , <EOL> '<STR_LIT:data>' : [ <EOL> ( r'<STR_LIT>' , String . Double ) , <EOL> ( r"<STR_LIT>" , String . Single ) , <EOL> ( r'<STR_LIT:;>' , Text ) , <EOL> ( r'<STR_LIT>' , Text ) , <EOL> ( r'<STR_LIT>' , Text ) , <EOL> ( r'<STR_LIT>' , Number ) , <EOL> ( r'<STR_LIT>' , Name . Variable ) , <EOL> ( r'<STR_LIT:<>' , Text ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT:}>' , Keyword , '<STR_LIT:#pop>' ) , <EOL> ( r'<STR_LIT>' , Keyword ) , <EOL> ( r'<STR_LIT>' , Name . Variable ) , <EOL> ( r'<STR_LIT>' , Punctuation ) , <EOL> ( r'<STR_LIT::>' , Punctuation ) , <EOL> include ( '<STR_LIT:root>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Keyword , '<STR_LIT:#pop>' ) , <EOL> include ( '<STR_LIT:root>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Keyword , '<STR_LIT:#pop>' ) , <EOL> ( r'<STR_LIT>' , Operator ) , <EOL> ( r'<STR_LIT>' , Number ) , <EOL> include ( '<STR_LIT:root>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , String . Backtick , '<STR_LIT:#pop>' ) , <EOL> include ( '<STR_LIT:root>' ) , <EOL> ] , <EOL> } <EOL> def analyse_text ( text ) : <EOL> return shebang_matches ( text , r'<STR_LIT>' ) <EOL> class BashSessionLexer ( Lexer ) : <EOL> """<STR_LIT>""" <EOL> name = '<STR_LIT>' <EOL> aliases = [ '<STR_LIT>' ] <EOL> filenames = [ '<STR_LIT>' ] <EOL> mimetypes = [ '<STR_LIT>' ] <EOL> def get_tokens_unprocessed ( self , text ) : <EOL> bashlexer = BashLexer ( ** self . options ) <EOL> pos = <NUM_LIT:0> <EOL> curcode = '<STR_LIT>' <EOL> insertions = [ ] <EOL> for match in line_re . finditer ( text ) : <EOL> line = match . group ( ) <EOL> m = re . match ( r'<STR_LIT>' <EOL> r'<STR_LIT>' , line ) <EOL> if m : <EOL> if not insertions : <EOL> pos = match . start ( ) <EOL> insertions . append ( ( len ( curcode ) , <EOL> [ ( <NUM_LIT:0> , Generic . Prompt , m . group ( <NUM_LIT:1> ) ) ] ) ) <EOL> curcode += m . group ( <NUM_LIT:2> ) <EOL> elif line . startswith ( '<STR_LIT:>>' ) : <EOL> insertions . append ( ( len ( curcode ) , <EOL> [ ( <NUM_LIT:0> , Generic . Prompt , line [ : <NUM_LIT:1> ] ) ] ) ) <EOL> curcode += line [ <NUM_LIT:1> : ] <EOL> else : <EOL> if insertions : <EOL> toks = bashlexer . get_tokens_unprocessed ( curcode ) <EOL> for i , t , v in do_insertions ( insertions , toks ) : <EOL> yield pos + i , t , v <EOL> yield match . start ( ) , Generic . Output , line <EOL> insertions = [ ] <EOL> curcode = '<STR_LIT>' <EOL> if insertions : <EOL> for i , t , v in do_insertions ( insertions , <EOL> bashlexer . get_tokens_unprocessed ( curcode ) ) : <EOL> yield pos + i , t , v <EOL> class BatchLexer ( RegexLexer ) : <EOL> """<STR_LIT>""" <EOL> name = '<STR_LIT>' <EOL> aliases = [ '<STR_LIT>' ] <EOL> filenames = [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> mimetypes = [ '<STR_LIT>' ] <EOL> flags = re . MULTILINE | re . IGNORECASE <EOL> tokens = { <EOL> '<STR_LIT:root>' : [ <EOL> ( r'<STR_LIT>' , Punctuation ) , <EOL> ( r'<STR_LIT>' , bygroups ( Text , Comment ) ) , <EOL> ( r'<STR_LIT>' , String . Double ) , <EOL> ( r"<STR_LIT>" , String . Single ) , <EOL> ( r'<STR_LIT>' , Name . Variable ) , <EOL> ( r'<STR_LIT>' , Comment ) , <EOL> ( r'<STR_LIT>' , bygroups ( Keyword , Text , Name . Variable ) ) , <EOL> ( r'<STR_LIT>' , bygroups ( Keyword , Text , Name . Label ) ) , <EOL> ( r'<STR_LIT>' , bygroups ( Keyword , Text , Name . Label ) ) , <EOL> ( r'<STR_LIT>' <EOL> r'<STR_LIT>' <EOL> r'<STR_LIT>' , Keyword ) , <EOL> ( r'<STR_LIT>' , Operator ) , <EOL> include ( '<STR_LIT>' ) , <EOL> ( r'<STR_LIT:.>' , Text ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , String . Escape ) , <EOL> ( r'<STR_LIT:\n>' , Text , '<STR_LIT:#pop>' ) , <EOL> include ( '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , Text ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , String . Double ) , <EOL> ( r"<STR_LIT>" , String . Single ) , <EOL> ( r'<STR_LIT>' , String . Backtick ) , <EOL> ( r'<STR_LIT>' , Number ) , <EOL> ( r'<STR_LIT:U+002C>' , Punctuation ) , <EOL> ( r'<STR_LIT:=>' , Operator ) , <EOL> ( r'<STR_LIT>' , Name ) , <EOL> ( r'<STR_LIT>' , Name . Label ) , <EOL> ( r'<STR_LIT>' , Text ) , <EOL> ( r'<STR_LIT>' , bygroups ( Punctuation , Text , Name ) ) , <EOL> ] , <EOL> } <EOL> class TcshLexer ( RegexLexer ) : <EOL> """<STR_LIT>""" <EOL> name = '<STR_LIT>' <EOL> aliases = [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> filenames = [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> mimetypes = [ '<STR_LIT>' ] <EOL> tokens = { <EOL> '<STR_LIT:root>' : [ <EOL> include ( '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , Keyword , '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , Keyword , '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , String . Backtick , '<STR_LIT>' ) , <EOL> include ( '<STR_LIT:data>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' <EOL> r'<STR_LIT>' , <EOL> Keyword ) , <EOL> ( r'<STR_LIT>' <EOL> r'<STR_LIT>' <EOL> r'<STR_LIT>' <EOL> r'<STR_LIT>' <EOL> r'<STR_LIT>' <EOL> r'<STR_LIT>' <EOL> r'<STR_LIT>' <EOL> r'<STR_LIT>' <EOL> r'<STR_LIT>' , <EOL> Name . Builtin ) , <EOL> ( r'<STR_LIT>' , Comment ) , <EOL> ( r'<STR_LIT>' , String . Escape ) , <EOL> ( r'<STR_LIT>' , bygroups ( Name . Variable , Text , Operator ) ) , <EOL> ( r'<STR_LIT>' , Operator ) , <EOL> ( r'<STR_LIT>' , String ) , <EOL> ] , <EOL> '<STR_LIT:data>' : [ <EOL> ( r'<STR_LIT>' , String . Double ) , <EOL> ( r"<STR_LIT>" , String . Single ) , <EOL> ( r'<STR_LIT>' , Text ) , <EOL> ( r'<STR_LIT>' , Text ) , <EOL> ( r'<STR_LIT>' , Number ) , <EOL> ( r'<STR_LIT>' , Name . Variable ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT:}>' , Keyword , '<STR_LIT:#pop>' ) , <EOL> ( r'<STR_LIT>' , Keyword ) , <EOL> ( r'<STR_LIT>' , Name . Variable ) , <EOL> ( r'<STR_LIT>' , Punctuation ) , <EOL> ( r'<STR_LIT::>' , Punctuation ) , <EOL> include ( '<STR_LIT:root>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Keyword , '<STR_LIT:#pop>' ) , <EOL> include ( '<STR_LIT:root>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , String . Backtick , '<STR_LIT:#pop>' ) , <EOL> include ( '<STR_LIT:root>' ) , <EOL> ] , <EOL> } <EOL> class PowerShellLexer ( RegexLexer ) : <EOL> """<STR_LIT>""" <EOL> name = '<STR_LIT>' <EOL> aliases = [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> filenames = [ '<STR_LIT>' ] <EOL> mimetypes = [ '<STR_LIT>' ] <EOL> flags = re . DOTALL | re . IGNORECASE | re . MULTILINE <EOL> keywords = ( <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ) . split ( ) <EOL> operators = ( <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ) . split ( ) <EOL> verbs = ( <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ) . split ( ) <EOL> commenthelp = ( <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ) . split ( ) <EOL> tokens = { <EOL> '<STR_LIT:root>' : [ <EOL> ( r'<STR_LIT>' , Text ) , <EOL> ( r'<STR_LIT>' % '<STR_LIT:|>' . join ( commenthelp ) , <EOL> bygroups ( Comment , String . Doc , Comment ) ) , <EOL> ( r'<STR_LIT>' , Comment ) , <EOL> ( r'<STR_LIT>' , Comment . Multiline , '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , String . Heredoc ) , <EOL> ( r"<STR_LIT>" , String . Heredoc ) , <EOL> ( r'<STR_LIT:">' , String . Double , '<STR_LIT:string>' ) , <EOL> ( r"<STR_LIT>" , String . Single ) , <EOL> ( r'<STR_LIT>' , <EOL> Name . Variable ) , <EOL> ( r'<STR_LIT>' % '<STR_LIT:|>' . join ( keywords ) , Keyword ) , <EOL> ( r'<STR_LIT>' % '<STR_LIT:|>' . join ( operators ) , Operator ) , <EOL> ( r'<STR_LIT>' % '<STR_LIT:|>' . join ( verbs ) , Name . Builtin ) , <EOL> ( r'<STR_LIT>' , Name . Constant ) , <EOL> ( r'<STR_LIT>' , Name ) , <EOL> ( r'<STR_LIT>' , Name ) , <EOL> ( r'<STR_LIT>' , Punctuation ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Comment . Multiline ) , <EOL> ( r'<STR_LIT>' , Comment . Multiline , '<STR_LIT:#pop>' ) , <EOL> ( r'<STR_LIT>' % '<STR_LIT:|>' . join ( commenthelp ) , String . Doc ) , <EOL> ( r'<STR_LIT>' , Comment . Multiline ) , <EOL> ] , <EOL> '<STR_LIT:string>' : [ <EOL> ( r'<STR_LIT>' , String . Double ) , <EOL> ( r'<STR_LIT>' , String . Interpol , '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , String . Double ) , <EOL> ( r'<STR_LIT>' , String . Double ) , <EOL> ( r'<STR_LIT:">' , String . Double , '<STR_LIT:#pop>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , String . Interpol ) , <EOL> ( r'<STR_LIT>' , String . Interpol , '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , String . Interpol , '<STR_LIT:#pop>' ) , <EOL> ] <EOL> } </s>
