   className: ///
     \r?\n                     # Start of line (no indentation)
     class                     # "class" keyword
-    \s+                       # whitespace
+    \s+                       # Whitespace
     (?:window.)?              # optional "window."
     (                         # Group captures class name
       [a-zA-Z0-9\$][\w]+      # JavaScript identifier

    </script>                 # Closing script tag
  ///
  comments: ///
    \s*/\*\s*\n               # First line of a JavaScript block comment
    (                         # First group captures the comment
      (?:\s*\*.*\n)*          # An interior line in a block comment
    )
    \s*\*/\s*\n               # Last line of a block comment
    \s*                       # whitespace
    (                         # Second group captures the identifier
      [a-zA-Z0-9\$][\w]+      # JavaScript member identifier
    )
    :                         # Colon terminates identifier
  ///g
  commentText: /(.*)/


extractors =

  ///
  comments: ///
    (                         # First group captures the comment
      (?:                     # Non-capturing group for each comment line
        \r?\n\x20\x20# .*     # A comment line indented two spaces
      )
      +                       # Any non-zero number of comment lines
    )
    \r?\n\x20\x20             # Identifier line indented two spaces
    (                         # Second group captures the identifier
