Compare commits

...

2 Commits

4 changed files with 14 additions and 4 deletions

View File

@ -10,8 +10,6 @@ import (
"git.portale-stac.it/go-pkg/golang"
)
const varIntro = '$'
type ExpanderFunc func(ctx ExpanderContext, varValue string, args []string) (result string, err error)
type ExpanderFuncBlock struct {

View File

@ -17,11 +17,18 @@ const (
// Flags symbols in the abova iota order
const flagSymbols = "!=*"
const defaultVarIntro = '$'
type VariableHandler interface {
Handle(varSpec string, flags ScannerFlag) (value string, err error)
}
func Scan(handler VariableHandler, source string) (result string, err error) {
return ScanExt(defaultVarIntro, handler, source)
}
func ScanExt(varIntro byte, handler VariableHandler, source string) (result string, err error) {
var spec, value string
var flags ScannerFlag
var backSlash bool

7
tty.go
View File

@ -26,12 +26,18 @@ func translateColor(name string) (c int) {
c = 30
case strings.HasPrefix("blue", norm):
c = 34
case strings.HasPrefix("cyan", norm):
c = 36
case strings.HasPrefix("green", norm):
c = 32
case strings.HasPrefix("magenta", norm):
c = 35
case strings.HasPrefix("red", norm):
c = 31
case strings.HasPrefix("white", norm):
c = 37
case strings.HasPrefix("yellow", norm):
c = 33
default:
c = -1
}
@ -273,7 +279,6 @@ func Printf(templ string, args ...any) (int, error) {
func Fprintf(w io.Writer, templ string, args ...any) (int, error) {
templ, _, _ = ToTtyStream(w, templ)
return fmt.Fprintf(w, templ, args...)
}
// func DebugSprintf() {

View File

@ -6,5 +6,5 @@ import (
)
func Var(name string) string {
return fmt.Sprintf("%c{%s}", varIntro, name)
return fmt.Sprintf("%c{%s}", defaultVarIntro, name)
}