simpleexpand

package
v0.0.0-...-d07068c Latest Latest
Warning

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

Go to latest
Published: May 8, 2024 License: Apache-2.0 Imports: 4 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type SimpleExpandContext

type SimpleExpandContext struct {
	HomeDir string
}

type SimpleExpandInfo

type SimpleExpandInfo struct {
	HasTilde   bool // only ~ as the first character when SimpleExpandContext.HomeDir is set
	HasVar     bool // $x, $$, ${...}
	HasGlob    bool // *, ?, [, {
	HasExtGlob bool // ?(...) ... ?*+@!
	HasHistory bool // ! (anywhere)
	HasSpecial bool // subshell, arith
}

func SimpleExpandPartialWord

func SimpleExpandPartialWord(ectx SimpleExpandContext, partialWord string, multiPart bool) (string, SimpleExpandInfo)

func SimpleExpandWord

func SimpleExpandWord(ectx SimpleExpandContext, word *syntax.Word, sourceStr string) (string, SimpleExpandInfo)

simple word expansion expands: literals, single-quoted strings, double-quoted strings (recursively) does *not* expand: params (variables), command substitution, arithmetic expressions, process substituions, globs for the not expands, they will show up as the literal string this is different than expand.Literal which will replace variables as empty string if they aren't defined. so "a"'foo'${bar}$x => "afoo${bar}$x", but expand.Literal would produce => "afoo" note will do ~ expansion (will not do ~user expansion)

Jump to

Keyboard shortcuts

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