code: def listscripts(self):
          
          code, data, listing = self.__send_command(
              "LISTSCRIPTS", withcontent=True)
          if code == "NO":
              return None
          ret = []
          active_script = None
          for l in listing.splitlines():
              if self.__size_expr.match(l):
                  continue
              m = re.match(br'"([^"]+)"\s*(.+)', l)
              if m is None:
                  ret += [l.strip(b'"').decode("utf-8")]
                  continue
              script = m.group(1).decode("utf-8")
              if self.__active_expr.match(m.group(2)):
                  active_script = script
                  continue
              ret += [script]
          self.__dprint(ret)
          return (active_script, ret)
docs: List available scripts.
  
          See MANAGESIEVE specifications, section 2.7
  
          :returns: a 2-uple (active script, [script1, ...])