original_docstring: 
          Succeed if s[i:] is a keyword.
          Returning -len(word) for failure greatly reduces the number of times this
          method is called.
          
docstring: Succeed if s[i:] is a keyword.
  Returning -len(word) for failure greatly reduces the number of times this
  method is called.
docstring_tokens: Succeed if s [ i : ] is a keyword . Returning - len ( word ) for failure greatly reduces the number of times this method is called .
code: def match_keywords(self, s, i):
          """
          Succeed if s[i:] is a keyword.
          Returning -len(word) for failure greatly reduces the number of times this
          method is called.
          """
          self.totalKeywordsCalls += 1
          # We must be at the start of a word.
          if i > 0 and s[i - 1] in self.word_chars:
              return 0
          # Get the word as quickly as possible.
          j = i
          n = len(s)
          chars = self.word_chars
          # Special cases...
          if self.language in ('haskell', 'clojure'):
              chars["'"] = "'"
          if self.language == 'c':
              chars['_'] = '_'
          while j < n and s[j] in chars:
              j += 1
          word = s[i:j]
          # Fix part of #585: A kludge for css.
          if self.language == 'css' and word.endswith(':'):
              j -= 1
              word = word[:-1]
          if not word:
              g.trace(
                  'can not happen',
                  repr(s[i : max(j, i + 1)]),
                  repr(s[i : i + 10]),
                  g.callers(),
              )
              return 0
          if self.ignore_case:
              word = word.lower()
          kind = self.keywordsDict.get(word)
          if kind:
              self.colorRangeWithTag(s, i, j, kind)
              self.prev = (i, j, kind)
              result = j - i
              self.trace_match(kind, s, i, j)
              return result
          return -len(word)  # An important new optimization.
code_tokens: def match_keywords ( self , s , i ) : self . totalKeywordsCalls += 1 if i > 0 and s [ i - 1 ] in self . word_chars : return 0 j = i n = len ( s ) chars = self . word_chars if self . language in ( 'haskell' , 'clojure' ) : chars [ "'" ] = "'" if self . language == 'c' : chars [ '_' ] = '_' while j < n and s [ j ] in chars : j += 1 word = s [ i : j ] if self . language == 'css' and word . endswith ( ':' ) : j -= 1 word = word [ : - 1 ] if not word : g . trace ( 'can not happen' , repr ( s [ i : max ( j , i + 1 ) ] ) , repr ( s [ i : i + 10 ] ) , g . callers ( ) , ) return 0 if self . ignore_case : word = word . lower ( ) kind = self . keywordsDict . get ( word ) if kind : self . colorRangeWithTag ( s , i , j , kind ) self . prev = ( i , j , kind ) result = j - i self . trace_match ( kind , s , i , j ) return result return - len ( word )
short_docstring: Succeed if s[i:] is a keyword.
short_docstring_tokens: Succeed if s [ i : ] is a keyword .
comment: """
          Succeed if s[i:] is a keyword.
          Returning -len(word) for failure greatly reduces the number of times this
          method is called.
          """$SEP$# We must be at the start of a word.$SEP$# Get the word as quickly as possible.$SEP$# Special cases...$SEP$# Fix part of #585: A kludge for css.$SEP$# An important new optimization.