parameters: (self, text, prog=None, ok=0)
return_statement: return res
docstring: Search a text widget for the pattern.
  
          If prog is given, it should be the precompiled pattern.
          Return a tuple (lineno, matchobj); None if not found.
  
          This obeys the wrap and direction (back) settings.
  
          The search starts at the selection (if there is one) or
          at the insert mark (otherwise).  If the search is forward,
          it starts at the right of the selection; for a backward
          search, it starts at the left end.  An empty match exactly
          at either end of the selection (or at the insert mark if
          there is no selection) is ignored  unless the ok flag is true
          -- this is done to guarantee progress.
  
          If the search is allowed to wrap around, it will return the
          original selection if (and only if) it is the only match.
docstring_summary: Search a text widget for the pattern.
docstring_tokens: Search a text widget for the pattern .
function: def search_text(self, text, prog=None, ok=0):
          """Search a text widget for the pattern.
  
          If prog is given, it should be the precompiled pattern.
          Return a tuple (lineno, matchobj); None if not found.
  
          This obeys the wrap and direction (back) settings.
  
          The search starts at the selection (if there is one) or
          at the insert mark (otherwise).  If the search is forward,
          it starts at the right of the selection; for a backward
          search, it starts at the left end.  An empty match exactly
          at either end of the selection (or at the insert mark if
          there is no selection) is ignored  unless the ok flag is true
          -- this is done to guarantee progress.
  
          If the search is allowed to wrap around, it will return the
          original selection if (and only if) it is the only match.
  
          """
          if not prog:
              prog = self.getprog()
              if not prog:
                  return None # Compilation failed -- stop
          wrap = self.wrapvar.get()
          first, last = get_selection(text)
          if self.isback():
              if ok:
                  start = last
              else:
                  start = first
              line, col = get_line_col(start)
              res = self.search_backward(text, prog, line, col, wrap, ok)
          else:
              if ok:
                  start = first
              else:
                  start = last
              line, col = get_line_col(start)
              res = self.search_forward(text, prog, line, col, wrap, ok)
          return res
function_tokens: def search_text ( self , text , prog = None , ok = 0 ) : if not prog : prog = self . getprog ( ) if not prog : return None # Compilation failed -- stop wrap = self . wrapvar . get ( ) first , last = get_selection ( text ) if self . isback ( ) : if ok : start = last else : start = first line , col = get_line_col ( start ) res = self . search_backward ( text , prog , line , col , wrap , ok ) else : if ok : start = first else : start = last line , col = get_line_col ( start ) res = self . search_forward ( text , prog , line , col , wrap , ok ) return res