fileutil

package
v0.14.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2026 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TempFileSuffix  = ".tmp"
	MaxEditFileSize = 5 * 1024 * 1024 // 5MB
)

Variables

View Source
var StaticMimeTypeMap = map[string]string{}/* 1260 elements not displayed */

Functions

func ApplyEdits added in v0.12.2

func ApplyEdits(originalContent []byte, edits []EditSpec) ([]byte, error)

ApplyEdits applies a series of edits to the given content and returns the modified content. This is atomic - all edits succeed or all fail.

func AtomicWriteFile added in v0.14.1

func AtomicWriteFile(fileName string, data []byte, perm os.FileMode) error

func DetectMimeType

func DetectMimeType(path string, fileInfo fs.FileInfo, extended bool) string

on error just returns "" does not return "application/octet-stream" as this is considered a detection failure can pass an existing fileInfo to avoid re-statting the file falls back to text/plain for 0 byte files

func DetectMimeTypeWithDirEnt added in v0.11.1

func DetectMimeTypeWithDirEnt(path string, dirEnt fs.DirEntry) string

func FixPath

func FixPath(path string) (string, error)

func IsInitScriptPath

func IsInitScriptPath(input string) bool

IsInitScriptPath tries to determine if the input string is a path to a script rather than an inline script content.

func ReplaceInFile added in v0.12.2

func ReplaceInFile(filePath string, edits []EditSpec) error

func WinSymlinkDir

func WinSymlinkDir(path string, bits os.FileMode) bool

Types

type DirEntryOut added in v0.12.2

type DirEntryOut struct {
	Name         string `json:"name"`
	Dir          bool   `json:"dir,omitempty"`
	Symlink      bool   `json:"symlink,omitempty"`
	Size         int64  `json:"size,omitempty"`
	Mode         string `json:"mode"`
	Modified     string `json:"modified"`
	ModifiedTime string `json:"modified_time"`
}

type EditResult added in v0.12.3

type EditResult struct {
	Applied bool   `json:"applied"`
	Desc    string `json:"desc"`
	Error   string `json:"error,omitempty"`
}

func ApplyEditsPartial added in v0.12.3

func ApplyEditsPartial(originalContent []byte, edits []EditSpec) ([]byte, []EditResult)

ApplyEditsPartial applies edits incrementally, continuing until the first failure. Returns the modified content (potentially partially applied) and results for each edit.

func ReplaceInFilePartial added in v0.12.3

func ReplaceInFilePartial(filePath string, edits []EditSpec) ([]EditResult, error)

ReplaceInFilePartial applies edits incrementally up to the first failure. Returns the results for each edit and writes the partially modified content.

type EditSpec added in v0.12.2

type EditSpec struct {
	OldStr string `json:"old_str"`
	NewStr string `json:"new_str"`
	Desc   string `json:"desc,omitempty"`
}

type ReadDirResult added in v0.12.2

type ReadDirResult struct {
	Path         string        `json:"path"`
	AbsolutePath string        `json:"absolute_path"`
	ParentDir    string        `json:"parent_dir,omitempty"`
	Entries      []DirEntryOut `json:"entries"`
	EntryCount   int           `json:"entry_count"`
	TotalEntries int           `json:"total_entries"`
	Truncated    bool          `json:"truncated,omitempty"`
}

func ReadDir added in v0.12.2

func ReadDir(path string, maxEntries int) (*ReadDirResult, error)

func ReadDirRecursive added in v0.12.2

func ReadDirRecursive(path string, maxEntries int) (*ReadDirResult, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL