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

Tue, 21 Apr 2020 19:47:10 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 21 Apr 2020 19:47:10 +0200
changeset 7547
21b0534faebc
child 7701
25f42e208e08
permissions
-rw-r--r--

Pygments: updated Pygments to 2.3.1

7547
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2 """
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 pygments.lexers.usd
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 ~~~~~~~~~~~~~~~~~~~
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 The module that parses Pixar's Universal Scene Description file format.
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 :license: BSD, see LICENSE for details.
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 """
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from pygments.lexer import RegexLexer, bygroups
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from pygments.lexer import words as words_
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from pygments.lexers._usd_builtins import COMMON_ATTRIBUTES, KEYWORDS, \
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 OPERATORS, SPECIAL_NAMES, TYPES
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from pygments.token import Comment, Keyword, Name, Number, Operator, \
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 Punctuation, String, Text, Whitespace
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 __all__ = ["UsdLexer"]
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 def _keywords(words, type_):
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 return [(words_(words, prefix=r"\b", suffix=r"\b"), type_)]
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 _TYPE = r"(\w+(?:\[\])?)"
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 _BASE_ATTRIBUTE = r"([\w_]+(?:\:[\w_]+)*)(?:(\.)(timeSamples))?"
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 _WHITESPACE = r"([ \t]+)"
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 class UsdLexer(RegexLexer):
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 A lexer that parses Pixar's Universal Scene Description file format.
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 .. versionadded:: 2.6
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 """
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 name = "USD"
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 aliases = ["usd", "usda"]
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 filenames = ["*.usd", "*.usda"]
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 tokens = {
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 "root": [
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 (r"(custom){_WHITESPACE}(uniform)(\s+){}(\s+){}(\s*)(=)".format(
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 _TYPE, _BASE_ATTRIBUTE, _WHITESPACE=_WHITESPACE),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 bygroups(Keyword.Token, Whitespace, Keyword.Token, Whitespace,
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 Keyword.Type, Whitespace, Name.Attribute, Text,
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 Name.Keyword.Tokens, Whitespace, Operator)),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 (r"(custom){_WHITESPACE}{}(\s+){}(\s*)(=)".format(
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 _TYPE, _BASE_ATTRIBUTE, _WHITESPACE=_WHITESPACE),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 bygroups(Keyword.Token, Whitespace, Keyword.Type, Whitespace,
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 Name.Attribute, Text, Name.Keyword.Tokens, Whitespace,
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 Operator)),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 (r"(uniform){_WHITESPACE}{}(\s+){}(\s*)(=)".format(
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 _TYPE, _BASE_ATTRIBUTE, _WHITESPACE=_WHITESPACE),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 bygroups(Keyword.Token, Whitespace, Keyword.Type, Whitespace,
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 Name.Attribute, Text, Name.Keyword.Tokens, Whitespace,
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 Operator)),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 (r"{}{_WHITESPACE}{}(\s*)(=)".format(
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 _TYPE, _BASE_ATTRIBUTE, _WHITESPACE=_WHITESPACE),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 bygroups(Keyword.Type, Whitespace, Name.Attribute, Text,
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 Name.Keyword.Tokens, Whitespace, Operator)),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 ] +
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 _keywords(KEYWORDS, Keyword.Tokens) +
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 _keywords(SPECIAL_NAMES, Name.Builtins) +
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 _keywords(COMMON_ATTRIBUTES, Name.Attribute) +
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 [(r"\b\w+:[\w:]+\b", Name.Attribute)] +
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 _keywords(OPERATORS, Operator) + # more attributes
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 [(type_ + r"\[\]", Keyword.Type) for type_ in TYPES] +
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 _keywords(TYPES, Keyword.Type) +
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 [
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 (r"[\(\)\[\]{}]", Punctuation),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 ("#.*?$", Comment.Single),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 (",", Punctuation),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 (";", Punctuation), # ";"s are allowed to combine separate metadata lines
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 ("=", Operator),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 (r"[-]*([0-9]*[.])?[0-9]+(?:e[+-]*\d+)?", Number),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 (r"'''(?:.|\n)*?'''", String),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 (r'"""(?:.|\n)*?"""', String),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 (r"'.*?'", String),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 (r'".*?"', String),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 (r"<(\.\./)*([\w/]+|[\w/]+\.\w+[\w:]*)>", Name.Namespace),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 (r"@.*?@", String.Interpol),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 (r'\(.*"[.\\n]*".*\)', String.Doc),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 (r"\A#usda .+$", Comment.Hashbang),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 (r"\s+", Whitespace),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 (r"[\w_]+", Text),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 (r"[_:\.]+", Punctuation),
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 ],
21b0534faebc Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 }

eric ide

mercurial