class_docstr: Syntax highlighter for the Python language.
      
class_docstr_tok: ["Syntax","highlighter","for","the","Python","language","."]
docstr: Do highlighting of multi-line strings. 
  
  =========== ==========================================================
  delimiter   (QRegularExpression) for triple-single-quotes or 
              triple-double-quotes
  in_state    (int) to represent the corresponding state changes when 
              inside those strings. Returns True if we're still inside a
              multi-line string when this function is finished.
  style       (str) representation of the kind of style to use
  =========== ==========================================================
docstr_tok: ["Do","highlighting","of","multi-line","strings",".","===========","==========================================================","delimiter","(","QRegularExpression",")","for","triple-single-quotes","or","triple-double-quotes","in_state","(","int",")","to","represent","the","corresponding","state","changes","when","inside","those","strings",".","Returns","True","if","we","'re","still","inside","a","multi-line","string","when","this","function","is","finished",".","style","(","str",")","representation","of","the","kind","of","style","to","use","===========","=========================================================="]
code: def match_multiline(self, text, delimiter, in_state, style):
      """Do highlighting of multi-line strings.
  
      =========== ==========================================================
      delimiter   (QRegularExpression) for triple-single-quotes or
                  triple-double-quotes
      in_state    (int) to represent the corresponding state changes when
                  inside those strings. Returns True if we're still inside a
                  multi-line string when this function is finished.
      style       (str) representation of the kind of style to use
      =========== ==========================================================
      """
      # If inside triple-single quotes, start at 0
      if self.previousBlockState() == in_state:
          start = 0
          add = 0
      # Otherwise, look for the delimiter on this line
      else:
          match = delimiter.match(text)
          start = match.capturedStart()
          # Move past this match
          add = match.capturedLength()
  
      # As long as there's a delimiter match on this line...
      while start >= 0:
          # Look for the ending delimiter
          match = delimiter.match(text, start + add)
          end = match.capturedEnd()
          # Ending delimiter on this line?
          if end >= add:
              length = end - start + add + match.capturedLength()
              self.setCurrentBlockState(0)
          # No; multi-line string
          else:
              self.setCurrentBlockState(in_state)
              length = len(text) - start + add
          # Apply formatting
          self.setFormat(start, length, self.styles[style])
          # Highlighting sits on top of this formatting
          # Look for the next match
          match = delimiter.match(text, start + length)
          start = match.capturedStart()
  
      self.applySearchHighlight(text)
  
      # Return True if still inside a multi-line string, False otherwise
      if self.currentBlockState() == in_state:
          return True
      else:
          return False
  
imports: import keyword
  import os
  import pkgutil
  import re
  import subprocess
  import sys
  from argparse import Namespace
  from collections import OrderedDict
  from functools import lru_cache
  import pyqtgraph
  from pyqtgraph.Qt import QT_LIB, QtCore, QtGui, QtWidgets
  import exampleLoaderTemplate_generic
  import utils
label_desc: Use image node_id 4 for calling the PythonHighlighter obj's underlying member method code with example usage: obj.match_multiline(text, delimiter, in_state, style) and returns: True, False