class_docstr: For `Csound <http://csound.github.io>`_ orchestras.
  
  .. versionadded:: 2.1
class_docstr_tok: ["For","`","Csound","<","http",":","\/\/csound.github.io",">","`","_","orchestras",".","..","versionadded",":",":","2.1"]
code: def name_callback(lexer, match):
      name = match.group(0)
      if re.match("p\d+$", name) or name in OPCODES:
          yield match.start(), Name.Builtin, name
      elif name in lexer.user_defined_opcodes:
          yield match.start(), Name.Function, name
      else:
          nameMatch = re.search(r"^(g?[aikSw])(\w+)", name)
          if nameMatch:
              yield nameMatch.start(1), Keyword.Type, nameMatch.group(1)
              yield nameMatch.start(2), Name, nameMatch.group(2)
          else:
              yield match.start(), Name, name
  
file_path: wandb/wandb/vendor/pygments/lexers/csound.py
imports: import re
  from pygments.lexer import RegexLexer, bygroups, default, include, using, words
  from pygments.token import Comment, Keyword, Name, Number, Operator, Punctuation, String, Text
  from pygments.lexers._csound_builtins import OPCODES
  from pygments.lexers.html import HtmlLexer
  from pygments.lexers.python import PythonLexer
  from pygments.lexers.scripting import LuaLexer
label_desc: Use image node_id 2 for calling the CsoundOrchestraLexer obj's underlying member method code with example usage: obj.name_callback(lexer, match) without return types