class_docstr: Marks "stop" words (words too common to index) in the stream (and by
  default removes them).
  
  Make sure you precede this filter with a :class:`LowercaseFilter`.
  
  >>> stopper = RegexTokenizer() | StopFilter()
  >>> [token.text for token in stopper(u"this is a test")]
  ["test"]
  >>> es_stopper = RegexTokenizer() | StopFilter(lang="es")
  >>> [token.text for token in es_stopper(u"el lapiz es en la mesa")]
  ["lapiz", "mesa"]
  
  The list of available languages is in `whoosh.lang.languages`.
  You can use :func:`whoosh.lang.has_stopwords` to check if a given language
  has a stop word list available.
class_docstr_tok: ["Marks","``","stop","''","words","(","words","too","common","to","index",")","in","the","stream","(","and","by","default","removes","them",")",".","Make","sure","you","precede","this","filter","with","a",":","class",":","`","LowercaseFilter","`",".",">",">",">","stopper","=","RegexTokenizer","(",")","|","StopFilter","(",")",">",">",">","[","token.text","for","token","in","stopper","(","u","''","this","is","a","test","''",")","]","[","``","test","''","]",">",">",">","es_stopper","=","RegexTokenizer","(",")","|","StopFilter","(","lang=","''","es","''",")",">",">",">","[","token.text","for","token","in","es_stopper","(","u","''","el","lapiz","es","en","la","mesa","''",")","]","[","``","lapiz","''",",","``","mesa","''","]","The","list","of","available","languages","is","in","`","whoosh.lang.languages","`",".","You","can","use",":","func",":","`","whoosh.lang.has_stopwords","`","to","check","if","a","given","language","has","a","stop","word","list","available","."]
code: def __call__(self, tokens):
      stoplist = self.stops
      minsize = self.min
      maxsize = self.max
      renumber = self.renumber
  
      pos = None
      for t in tokens:
          text = t.text
          if (
              len(text) >= minsize
              and (maxsize is None or len(text) <= maxsize)
              and text not in stoplist
          ):
              # This is not a stop word
              if renumber and t.positions:
                  if pos is None:
                      pos = t.pos
                  else:
                      pos += 1
                      t.pos = pos
              t.stopped = False
              yield t
          else:
              # This is a stop word
              if not t.removestops:
                  # This IS a stop word, but we're not removing them
                  t.stopped = True
                  yield t
  
imports: from itertools import chain
  from whoosh.compat import next
  from whoosh.analysis.acore import Composable
  from whoosh.util.text import rcompile
label_desc: Use image node_id 3 for calling the StopFilter obj's underlying member method code with example usage: obj.__call__(tokens) without return types