SYMBOL INDEX (113 symbols across 11 files) FILE: cmd/envsubst/main.go function main (line 12) | func main() { FILE: eval.go function Eval (line 6) | func Eval(s string, mapping func(string) string) (string, error) { function EvalEnv (line 17) | func EvalEnv(s string) (string, error) { FILE: eval_test.go function TestExpand (line 8) | func TestExpand(t *testing.T) { FILE: funcs.go type substituteFunc (line 13) | type substituteFunc function toLen (line 16) | func toLen(s string, args ...string) string { function toLower (line 22) | func toLower(s string, args ...string) string { function toUpper (line 28) | func toUpper(s string, args ...string) string { function toLowerFirst (line 34) | func toLowerFirst(s string, args ...string) string { function toUpperFirst (line 44) | func toUpperFirst(s string, args ...string) string { function toDefault (line 54) | func toDefault(s string, args ...string) string { function toSubstr (line 64) | func toSubstr(s string, args ...string) string { function replaceAll (line 120) | func replaceAll(s string, args ...string) string { function replaceFirst (line 133) | func replaceFirst(s string, args ...string) string { function replacePrefix (line 146) | func replacePrefix(s string, args ...string) string { function replaceSuffix (line 158) | func replaceSuffix(s string, args ...string) string { function trimShortestPrefix (line 171) | func trimShortestPrefix(s string, args ...string) string { function trimShortestSuffix (line 178) | func trimShortestSuffix(s string, args ...string) string { function trimLongestPrefix (line 187) | func trimLongestPrefix(s string, args ...string) string { function trimLongestSuffix (line 194) | func trimLongestSuffix(s string, args ...string) string { function trimShortest (line 203) | func trimShortest(s, arg string) string { function trimLongest (line 224) | func trimLongest(s, arg string) string { function reverse (line 240) | func reverse(s string) string { FILE: funcs_test.go function Test_len (line 5) | func Test_len(t *testing.T) { function Test_lower (line 12) | func Test_lower(t *testing.T) { function Test_lowerFirst (line 19) | func Test_lowerFirst(t *testing.T) { function Test_upper (line 32) | func Test_upper(t *testing.T) { function Test_upperFirst (line 39) | func Test_upperFirst(t *testing.T) { function Test_default (line 52) | func Test_default(t *testing.T) { function Test_substr (line 69) | func Test_substr(t *testing.T) { FILE: parse/node.go type Node (line 4) | type Node interface type TextNode (line 15) | type TextNode struct method node (line 84) | func (*TextNode) node() {} type FuncNode (line 20) | type FuncNode struct method node (line 86) | func (*FuncNode) node() {} type ListNode (line 27) | type ListNode struct method node (line 85) | func (*ListNode) node() {} function newTextNode (line 68) | func newTextNode(text string) *TextNode { function newListNode (line 73) | func newListNode(nodes ...Node) *ListNode { function newFuncNode (line 78) | func newFuncNode(name string) *FuncNode { FILE: parse/parse.go type Tree (line 28) | type Tree struct method Parse (line 44) | func (t *Tree) Parse(buf string) (tree *Tree, err error) { method parseAny (line 50) | func (t *Tree) parseAny() (Node, error) { method parseFunc (line 89) | func (t *Tree) parseFunc() (Node, error) { method parseParam (line 134) | func (t *Tree) parseParam(accept acceptFunc, mode byte) (Node, error) { method parseDefaultOrSubstr (line 154) | func (t *Tree) parseDefaultOrSubstr(name string) (Node, error) { method parseSubstrFunc (line 168) | func (t *Tree) parseSubstrFunc(name string) (Node, error) { method parseRemoveFunc (line 220) | func (t *Tree) parseRemoveFunc(name string, accept acceptFunc) (Node, ... method parseReplaceFunc (line 251) | func (t *Tree) parseReplaceFunc(name string) (Node, error) { method parseDefaultFunc (line 306) | func (t *Tree) parseDefaultFunc(name string) (Node, error) { method parseCasingFunc (line 342) | func (t *Tree) parseCasingFunc(name string) (Node, error) { method parseLenFunc (line 359) | func (t *Tree) parseLenFunc() (Node, error) { method consumeRbrack (line 385) | func (t *Tree) consumeRbrack() error { function Parse (line 36) | func Parse(buf string) (*Tree, error) { FILE: parse/parse_test.go function TestParse (line 517) | func TestParse(t *testing.T) { FILE: parse/scan.go type token (line 12) | type token constant tokenIllegal (line 17) | tokenIllegal token = iota constant tokenEOF (line 18) | tokenEOF constant tokenIdent (line 21) | tokenIdent constant tokenLbrack (line 24) | tokenLbrack constant tokenRbrack (line 25) | tokenRbrack constant tokenQuote (line 26) | tokenQuote constant scanIdent (line 31) | scanIdent byte = 1 << iota constant scanLbrack (line 32) | scanLbrack constant scanRbrack (line 33) | scanRbrack constant scanEscape (line 34) | scanEscape constant dollar (line 39) | dollar byte = 1 << iota constant backslash (line 40) | backslash constant escapeAll (line 41) | escapeAll = dollar | backslash type acceptFunc (line 45) | type acceptFunc type scanner (line 49) | type scanner struct method init (line 61) | func (s *scanner) init(buf string) { method read (line 71) | func (s *scanner) read() rune { method unread (line 82) | func (s *scanner) unread() { method skip (line 88) | func (s *scanner) skip() { method peek (line 97) | func (s *scanner) peek() rune { method string (line 105) | func (s *scanner) string() string { method shouldEscape (line 110) | func (s *scanner) shouldEscape(character byte) bool { method scan (line 116) | func (s *scanner) scan() token { method scanIdent (line 134) | func (s *scanner) scanIdent(r rune) bool { method scanLbrack (line 169) | func (s *scanner) scanLbrack(r rune) bool { method scanRbrack (line 184) | func (s *scanner) scanRbrack(r rune) bool { method scanEscaped (line 193) | func (s *scanner) scanEscaped(r rune) bool { function acceptRune (line 218) | func acceptRune(r rune, i int) bool { function acceptIdent (line 222) | func acceptIdent(r rune, i int) bool { function acceptColon (line 226) | func acceptColon(r rune, i int) bool { function acceptOneHash (line 230) | func acceptOneHash(r rune, i int) bool { function acceptNone (line 234) | func acceptNone(r rune, i int) bool { function acceptNotClosing (line 238) | func acceptNotClosing(r rune, i int) bool { function acceptHashFunc (line 242) | func acceptHashFunc(r rune, i int) bool { function acceptPercentFunc (line 246) | func acceptPercentFunc(r rune, i int) bool { function acceptDefaultFunc (line 250) | func acceptDefaultFunc(r rune, i int) bool { function acceptReplaceFunc (line 261) | func acceptReplaceFunc(r rune, i int) bool { function acceptOneEqual (line 272) | func acceptOneEqual(r rune, i int) bool { function acceptOneColon (line 276) | func acceptOneColon(r rune, i int) bool { function rejectColonClose (line 280) | func rejectColonClose(r rune, i int) bool { function acceptSlash (line 284) | func acceptSlash(r rune, i int) bool { function acceptNotSlash (line 288) | func acceptNotSlash(r rune, i int) bool { function acceptCasingFunc (line 292) | func acceptCasingFunc(r rune, i int) bool { FILE: path/match.go function Match (line 37) | func Match(pattern, name string) (matched bool, err error) { function scanChunk (line 86) | func scanChunk(pattern string) (star bool, chunk, rest string) { function matchChunk (line 117) | func matchChunk(chunk, s string) (rest string, ok bool, err error) { function getEsc (line 186) | func getEsc(chunk string) (r rune, nchunk string, err error) { FILE: template.go type state (line 13) | type state struct type Template (line 23) | type Template struct method Execute (line 49) | func (t *Template) Execute(mapping func(string) string) (str string, e... method eval (line 62) | func (t *Template) eval(s *state) (err error) { method evalText (line 74) | func (t *Template) evalText(s *state, node *parse.TextNode) error { method evalList (line 79) | func (t *Template) evalList(s *state, node *parse.ListNode) (err error) { method evalFunc (line 90) | func (t *Template) evalFunc(s *state, node *parse.FuncNode) error { function Parse (line 29) | func Parse(s string) (t *Template, err error) { function ParseFile (line 40) | func ParseFile(path string) (*Template, error) { function lookupFunc (line 119) | func lookupFunc(name string, args int) substituteFunc {