diff options
Diffstat (limited to 'pygments/lexers/sgf.py')
-rw-r--r-- | pygments/lexers/sgf.py | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/pygments/lexers/sgf.py b/pygments/lexers/sgf.py index aa934b49..fed864a6 100644 --- a/pygments/lexers/sgf.py +++ b/pygments/lexers/sgf.py @@ -1,28 +1,31 @@ # -*- coding: utf-8 -*- """ pygments.lexers.sgf - ~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~ Lexer for Smart Game Format (sgf) file format. - The format is used to store game records of board games for two players - (mainly Go game). - For more information about the definition of the format, see: - https://www.red-bean.com/sgf/ - - :copyright: Copyright 2006-2018 by the Pygments team, see AUTHORS. + :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. - - .. versionadded:: 2.4 """ from pygments.lexer import RegexLexer, bygroups -from pygments.token import * +from pygments.token import Name, Literal, String, Text, Punctuation __all__ = ["SmartGameFormatLexer"] class SmartGameFormatLexer(RegexLexer): + """ + Lexer for Smart Game Format (sgf) file format. + + The format is used to store game records of board games for two players + (mainly Go game). + For more information about the definition of the format, see: + https://www.red-bean.com/sgf/ + + .. versionadded:: 2.4 + """ name = 'SmartGameFormat' aliases = ['sgf'] filenames = ['*.sgf'] @@ -31,7 +34,11 @@ class SmartGameFormatLexer(RegexLexer): 'root': [ (r'[\s():;]', Punctuation), # tokens: - (r'(A[BW]|AE|AN|AP|AR|AS|[BW]L|BM|[BW]R|[BW]S|[BW]T|CA|CH|CP|CR|DD|DM|DO|DT|EL|EV|EX|FF|FG|G[BW]|GC|GM|GN|HA|HO|ID|IP|IT|IY|KM|KO|L|LB|LN|LT|M|MA|MN|N|OB|OM|ON|OP|OT|OV|P[BW]|PC|PL|PM|RE|RG|RO|RU|SO|SC|SE|SI|SL|SO|SQ|ST|SU|SZ|T[BW]|TC|TE|TM|TR|UC|US|V|VW|[BW]|C)', + (r'(A[BW]|AE|AN|AP|AR|AS|[BW]L|BM|[BW]R|[BW]S|[BW]T|CA|CH|CP|CR|' + r'DD|DM|DO|DT|EL|EV|EX|FF|FG|G[BW]|GC|GM|GN|HA|HO|ID|IP|IT|IY|KM|' + r'KO|LB|LN|LT|L|MA|MN|M|N|OB|OM|ON|OP|OT|OV|P[BW]|PC|PL|PM|RE|RG|' + r'RO|RU|SO|SC|SE|SI|SL|SO|SQ|ST|SU|SZ|T[BW]|TC|TE|TM|TR|UC|US|VW|' + r'V|[BW]|C)', Name.Builtin), # number: (r'(\[)([0-9.]+)(\])', @@ -50,5 +57,5 @@ class SmartGameFormatLexer(RegexLexer): bygroups(Punctuation, String, Punctuation)), (r'(\[)(\s.*)(\])', bygroups(Punctuation, Text, Punctuation)), - ], + ], } |