diff --git a/pkg/shsh/.parsers.go.swp b/pkg/shsh/.parsers.go.swp deleted file mode 100644 index 71ddc8d..0000000 Binary files a/pkg/shsh/.parsers.go.swp and /dev/null differ diff --git a/pkg/shsh/parsers.go b/pkg/shsh/parsers.go index b2b7129..a4a4d4a 100644 --- a/pkg/shsh/parsers.go +++ b/pkg/shsh/parsers.go @@ -4,6 +4,7 @@ package shsh import ( "strings" + "unicode" ) /* @@ -42,14 +43,33 @@ func Parse(arg *Token) { } func string_delimiters_valid(arg string) bool { - // TODO: Enhance this function - go + delim := arg[0] + iter := 0 + + if delim != arg[len(arg) - 1] { + return false + } + + for _, r := range arg { + if delim == r { + iter += 1 + } + } + + return iter == 2 } func list_is_operation(arg *Token) bool { - + return ((*Token) arg._inner).tag == OPERATOR_T } +// theres probly a way better way to do it. func string_is_operator(arg string) bool { + for _, r := range arg { + if !unicode.IsLetter(r) && r != '_' { + return false + } + } + return true }