docs: def fuseoptref(cls):
          """
          Find out which options are recognized by the library.
          Result is a `FuseArgs` instance with the list of supported
          options, suitable for passing on to the `filter` method of
          another `FuseArgs` instance.
          """
  
          import os, re
  
          pr, pw = os.pipe()
          pid = os.fork()
          if pid == 0:
               os.dup2(pw, 2)
               os.close(pr)
  
               fh = cls()
               fh.fuse_args = FuseArgs()
               fh.fuse_args.setmod('showhelp')
               fh.main()
               sys.exit()
  
          os.close(pw)
  
          fa = FuseArgs()
          ore = re.compile("-o\s+([\w\[\]]+(?:=\w+)?)")
          fpr = os.fdopen(pr)
          for l in fpr:
               m = ore.search(l)
               if m:
                   o = m.groups()[0]
                   oa = [o]
                   # try to catch two-in-one options (like "[no]foo")
                   opa = o.split("[")
                   if len(opa) == 2:
                      o1, ox = opa
                      oxpa = ox.split("]")
                      if len(oxpa) == 2:
                         oo, o2 = oxpa
                         oa = [o1 + o2, o1 + oo + o2]
                   for o in oa:
                       fa.add(o)
  
          fpr.close()
          return fa