class_docstr: A `REBOL <http://www.rebol.com/>`_ lexer.
  
  .. versionadded:: 1.1
code: def word_callback(lexer, match):
      word = match.group()
  
      if re.match(".*:$", word):
          yield match.start(), Generic.Subheading, word
      elif re.match(
          r"(native|alias|all|any|as-string|as-binary|bind|bound\?|case|"
          r"catch|checksum|comment|debase|dehex|exclude|difference|disarm|"
          r"either|else|enbase|foreach|remove-each|form|free|get|get-env|if|"
          r"in|intersect|loop|minimum-of|maximum-of|mold|new-line|"
          r"new-line\?|not|now|prin|print|reduce|compose|construct|repeat|"
          r"reverse|save|script\?|set|shift|switch|throw|to-hex|trace|try|"
          r"type\?|union|unique|unless|unprotect|unset|until|use|value\?|"
          r"while|compress|decompress|secure|open|close|read|read-io|"
          r"write-io|write|update|query|wait|input\?|exp|log-10|log-2|"
          r"log-e|square-root|cosine|sine|tangent|arccosine|arcsine|"
          r"arctangent|protect|lowercase|uppercase|entab|detab|connected\?|"
          r"browse|launch|stats|get-modes|set-modes|to-local-file|"
          r"to-rebol-file|encloak|decloak|create-link|do-browser|bind\?|"
          r"hide|draw|show|size-text|textinfo|offset-to-caret|"
          r"caret-to-offset|local-request-file|rgb-to-hsv|hsv-to-rgb|"
          r"crypt-strength\?|dh-make-key|dh-generate-key|dh-compute-key|"
          r"dsa-make-key|dsa-generate-key|dsa-make-signature|"
          r"dsa-verify-signature|rsa-make-key|rsa-generate-key|"
          r"rsa-encrypt)$",
          word,
      ):
          yield match.start(), Name.Builtin, word
      elif re.match(
          r"(add|subtract|multiply|divide|remainder|power|and~|or~|xor~|"
          r"minimum|maximum|negate|complement|absolute|random|head|tail|"
          r"next|back|skip|at|pick|first|second|third|fourth|fifth|sixth|"
          r"seventh|eighth|ninth|tenth|last|path|find|select|make|to|copy\*|"
          r"insert|remove|change|poke|clear|trim|sort|min|max|abs|cp|"
          r"copy)$",
          word,
      ):
          yield match.start(), Name.Function, word
      elif re.match(
          r"(error|source|input|license|help|install|echo|Usage|with|func|"
          r"throw-on-error|function|does|has|context|probe|\?\?|as-pair|"
          r"mod|modulo|round|repend|about|set-net|append|join|rejoin|reform|"
          r"remold|charset|array|replace|move|extract|forskip|forall|alter|"
          r"first+|also|take|for|forever|dispatch|attempt|what-dir|"
          r"change-dir|clean-path|list-dir|dirize|rename|split-path|delete|"
          r"make-dir|delete-dir|in-dir|confirm|dump-obj|upgrade|what|"
          r"build-tag|process-source|build-markup|decode-cgi|read-cgi|"
          r"write-user|save-user|set-user-name|protect-system|parse-xml|"
          r"cvs-date|cvs-version|do-boot|get-net-info|desktop|layout|"
          r"scroll-para|get-face|alert|set-face|uninstall|unfocus|"
          r"request-dir|center-face|do-events|net-error|decode-url|"
          r"parse-header|parse-header-date|parse-email-addrs|import-email|"
          r"send|build-attach-body|resend|show-popup|hide-popup|open-events|"
          r"find-key-face|do-face|viewtop|confine|find-window|"
          r"insert-event-func|remove-event-func|inform|dump-pane|dump-face|"
          r"flag-face|deflag-face|clear-fields|read-net|vbug|path-thru|"
          r"read-thru|load-thru|do-thru|launch-thru|load-image|"
          r"request-download|do-face-alt|set-font|set-para|get-style|"
          r"set-style|make-face|stylize|choose|hilight-text|hilight-all|"
          r"unlight-text|focus|scroll-drag|clear-face|reset-face|scroll-face|"
          r"resize-face|load-stock|load-stock-block|notify|request|flash|"
          r"request-color|request-pass|request-text|request-list|"
          r"request-date|request-file|dbug|editor|link-relative-path|"
          r"emailer|parse-error)$",
          word,
      ):
          yield match.start(), Keyword.Namespace, word
      elif re.match(
          r"(halt|quit|do|load|q|recycle|call|run|ask|parse|view|unview|"
          r"return|exit|break)$",
          word,
      ):
          yield match.start(), Name.Exception, word
      elif re.match("REBOL$", word):
          yield match.start(), Generic.Heading, word
      elif re.match("to-.*", word):
          yield match.start(), Keyword, word
      elif re.match(
          "(\+|-|\*|/|//|\*\*|and|or|xor|=\?|=|==|<>|<|>|<=|>=)$", word
      ):
          yield match.start(), Operator, word
      elif re.match(".*\?$", word):
          yield match.start(), Keyword, word
      elif re.match(".*\!$", word):
          yield match.start(), Keyword.Type, word
      elif re.match("'.*", word):
          yield match.start(), Name.Variable.Instance, word  # lit-word
      elif re.match("#.*", word):
          yield match.start(), Name.Label, word  # issue
      elif re.match("%.*", word):
          yield match.start(), Name.Decorator, word  # file
      else:
          yield match.start(), Name.Variable, word
  
file_path: wandb/wandb/vendor/pygments/lexers/rebol.py
imports: import re
  from pygments.lexer import RegexLexer, bygroups
  from pygments.token import Text, Comment, Operator, Keyword, Name, String, Number, Generic, Whitespace
label_desc: Use image node_id 1 for calling the RebolLexer obj's underlying member method code with example usage: obj.word_callback(lexer, match) without return types