Advertisement
Guest User

python3syntax.yaml

a guest
Mar 23rd, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 3.76 KB | None | 0 0
  1. filename: python3
  2.  
  3. detect:
  4.     filename: "\\.py$"
  5.     header: "^#!.*/(env +)?python3$"
  6.  
  7. rules:
  8.    # built-in objects
  9.     - constant: "\\b(None|self|True|False)\\b"
  10.       # built-in attributes
  11.     - constant: "\\b(__bases__|__builtin__|__class__|__debug__|__dict__|__doc__|__file__|__members__|__methods__|__name__|__self__)\\b"
  12.       # built-in functions
  13.     - identifier: "\\b(abs|all|any|ascii|bin|callable|chr|compile|delattr|dir|divmod|eval|exec|format|getattr|globals|hasattr|hash|help|hex|id|input|isinstance|issubclass|iter|len|locals|max|min|next|oct|open|ord|pow|print|repr|round|setattr|sorted|sum|vars|__import__)\\b"
  14.       # special method names
  15.     - identifier: "\\b(__abs__|__add__|__and__|__call__|__coerce__|__complex__|__concat__|__contains__|__del__|__delattr__|__delitem__|__delslice__|__div__|__divmod__|__float__|__getattr__|__getitem__|__getslice__|__hash__|__hex__|__init__|__int__|__inv__|__invert__|__len__|__dict__|__long__|__lshift__|__mod__|__mul__|__neg__|__next__|__nonzero__|__oct__|__or__|__pos__|__pow__|__radd__|__rand__|__rcmp__|__rdiv__|__rdivmod__|__repeat__|__repr__|__rlshift__|__rmod__|__rmul__|__ror__|__rpow__|__rrshift__|__rshift__|__rsub__|__rxor__|__setattr__|__setitem__|__setslice__|__str__|__sub__|__xor__)\\b"
  16.       # types
  17.     - type: "\\b(bool|bytearray|bytes|classmethod|complex|dict|enumerate|filter|float|frozenset|int|list|map|memoryview|object|property|range|reversed|set|slice|staticmethod|str|super|tuple|type|zip)\\b"
  18.       # definitions
  19.     - identifier: "def [a-zA-Z_0-9]+"
  20.       # keywords
  21.     - statement: "\\b(and|as|assert|break|class|continue|def|del|elif|else|except|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|raise|return|try|while|with|yield)\\b"
  22.       # decorators
  23.     - brightgreen: "@.*[(]"
  24.       # operators
  25.     - symbol.operator: "([.:;,+*|=!\\%@]|<|>|/|-|&)"
  26.       # parentheses
  27.     - symbol.brackets: "([(){}]|\\[|\\])"
  28.       # numbers
  29.     - constant.number: "\\b[0-9]+\\b"
  30.     - constant.number: "\\b0x[0-9a-fA-F]+\\b"
  31.     - constant.number: "\\b0b[01]+\\b"
  32.     - constant.number: "\\b0o[0-8]+\\b"
  33.  
  34.     - constant.string:
  35.         start: "b\""
  36.        end: "\""
  37.         rules:
  38.             - constant.specialChar: "\\\\(x[0-9a-fA-F]{2}|.)"
  39.             - constant.specialChar: "\\%([dsfxX]|(.[0-9]+f))"
  40.  
  41.     - constant.string:
  42.         start: "b'"
  43.         end: "'"
  44.         rules:
  45.             - constant.specialChar: "\\\\(x[0-9a-fA-F]{2}|.)"
  46.             - constant.specialChar: "\\%([dsfxX]|(.[0-9]+f))"
  47.  
  48.     - constant.string:
  49.         start: "f\""
  50.        end: "\""
  51.         rules:
  52.             - constant.specialChar: "\\\\(x[0-9a-fA-F]{2}|.)"
  53.             - constant.specialChar: "\\%([dsfxX]|(.[0-9]+f))"
  54.             - constant.specialChar: "{.+}"
  55.  
  56.     - constant.string:
  57.         start: "f'"
  58.         end: "'"
  59.         rules:
  60.             - constant.specialChar: "\\\\(x[0-9a-fA-F]{2}|.)"
  61.             - constant.specialChar: "\\%([dsfxX]|(.[0-9]+f))"
  62.             - constant.specialChar: "{.+}"
  63.  
  64.     - constant.string:
  65.         start: "\"\"\""
  66.        end: "\"\"\""
  67.         rules: []
  68.  
  69.     - comment:
  70.         start: "'''"
  71.         end: "'''"
  72.         rules: []
  73.  
  74.     - constant.string:
  75.         start: "\""
  76.        end: "\""
  77.         skip: "\\\\."
  78.         rules:
  79.             - constant.specialChar: "\\\\(x[0-9a-fA-F]{2}|.)"
  80.             - constant.specialChar: "\\%([dsfxX]|(.[0-9]+f))"
  81.             - constant.specialChar: "{.*}"
  82.  
  83.     - constant.string:
  84.         start: "'"
  85.         end: "'"
  86.         skip: "\\\\."
  87.         rules:
  88.             - constant.specialChar: "\\\\(x[0-9a-fA-F]{2}|.)"
  89.             - constant.specialChar: "\\%([dsfxX]|(.[0-9]+f))"
  90.             - constant.specialChar: "{.*}"
  91.  
  92.     - comment:
  93.         start: "#"
  94.         end: "$"
  95.         rules: []
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement