func parseExpressionInString(str string) *parseResult {
	return parseSuccess(LiftString(str), "")
}
TODO
"this should concat {{ $gcp.test }} yall"
package script
import (
	"fmt"
	"strings"
	"unicode"
	"github.com/ankyra/escape-core/parsers"
)
type parseResult struct {
	Result Script
	Rest   string
	Error  error
}
func parseSuccess(script Script, rest string) *parseResult {
	return &parseResult{
		Result: script,
		Rest:   rest,
	}
}
func parseError(err error) *parseResult {
	return &parseResult{
		Error: err,
	}
}
func ParseScript(str string) (Script, error) {
	var result *parseResult
	if strings.HasPrefix(str, "$$") {
		return LiftString(str), nil
	} else if strings.HasPrefix(str, "$") {
		result = parseExpression(str)
	} else if strings.Contains(str, "{{") {
		result = parseExpressionInString(str)
	} else {
		return LiftString(str), nil
	}
	if result.Error != nil {
		return nil, fmt.Errorf("Couldn't parse expression '%s': %s", str, result.Error.Error())
	}
	if result.Rest != "" {
		return nil, fmt.Errorf("Invalid expression, unexpected '%s'", result.Rest)
	}
	return result.Result, nil
}
func ShouldParse(str string) Script {
	result, err := ParseScript(str)
	if err != nil {
		panic(err)
	}
	return result
}