code: func NewStorage(addr, dir string, cc *ssh.ClientConfig) (*Storage, error) {
  	if dir == "" {
  		dir = "."
  	}
  	s := &Storage{
  		addr: addr,
  		root: dir,
  		cc:   cc,
  	}
  	fs := files.NewStorage(sftpFS{s}, dir)
  	s.Storage = fs
  	s.SubFetcher = fs
  
  	if err := s.adjustFDLimit(fs); err != nil {
  		return nil, err
  	}
  	return s, nil
  }
docs: // NewStorage returns a new SFTP storage implementation at the provided
  // TCP addr (host:port) in the named directory. An empty dir means ".".
  // The provided SSH client configured is required.