.gitignore added
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.1.1-0.20210319172145-bda8f5cee399 / godoc / vfs / vfs.go
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.1.1-0.20210319172145-bda8f5cee399/godoc/vfs/vfs.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.1.1-0.20210319172145-bda8f5cee399/godoc/vfs/vfs.go
new file mode 100644 (file)
index 0000000..d70526d
--- /dev/null
@@ -0,0 +1,58 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package vfs defines types for abstract file system access and provides an
+// implementation accessing the file system of the underlying OS.
+package vfs // import "golang.org/x/tools/godoc/vfs"
+
+import (
+       "io"
+       "io/ioutil"
+       "os"
+)
+
+// RootType indicates the type of files contained within a directory.
+//
+// It is used to indicate whether a directory is the root
+// of a GOROOT, a GOPATH, or neither.
+// An empty string represents the case when a directory is neither.
+type RootType string
+
+const (
+       RootTypeGoRoot RootType = "GOROOT"
+       RootTypeGoPath RootType = "GOPATH"
+)
+
+// The FileSystem interface specifies the methods godoc is using
+// to access the file system for which it serves documentation.
+type FileSystem interface {
+       Opener
+       Lstat(path string) (os.FileInfo, error)
+       Stat(path string) (os.FileInfo, error)
+       ReadDir(path string) ([]os.FileInfo, error)
+       RootType(path string) RootType
+       String() string
+}
+
+// Opener is a minimal virtual filesystem that can only open regular files.
+type Opener interface {
+       Open(name string) (ReadSeekCloser, error)
+}
+
+// A ReadSeekCloser can Read, Seek, and Close.
+type ReadSeekCloser interface {
+       io.Reader
+       io.Seeker
+       io.Closer
+}
+
+// ReadFile reads the file named by path from fs and returns the contents.
+func ReadFile(fs Opener, path string) ([]byte, error) {
+       rc, err := fs.Open(path)
+       if err != nil {
+               return nil, err
+       }
+       defer rc.Close()
+       return ioutil.ReadAll(rc)
+}