Skip to content


import ""

Package `utils` provides useful functions for simplifying various programming tasks



The following string fragment is used to mark unquoted variables within a JSON body in the lama2 file. For example, Lama2 parser will mark an unquoted variable `hello` as:


The above string is actually representative of the user intent:


Note the lack of quotes around the variable above. This hack is needed to work around Gabs, which is unaware of variables required in the Lama2 system

const UNQUOTED_VAR_MARKER = "626f4c60"

func ChangeWorkingDir

func ChangeWorkingDir(dir string)

ChangeWorkingDirectory tries to set the CWD; on failure it exits with a log error message

func ContainsRune

func ContainsRune(s []rune, e rune) bool

ContainsRune searches for rune `e` in a slice of runes `s`; returns a boolean

func ContainsString

func ContainsString(s []string, e string) bool

ContainsString searches for string `e` in a slice of strings `s`; returns a boolean

func ContainsStringPartial

func ContainsStringPartial(s []string, e string) bool

ContainsStringPartial substring-searches for string `e` in a slice of strings `s`; returns a boolean

func GetFilePathComponents

func GetFilePathComponents(name string) (string, string, string)

GetFilePathComponent returns absolute path, directory, and filename given a filepath

func MarshalAndPrintJSON

func MarshalAndPrintJSON(data interface{})

func PrettyPrint

func PrettyPrint(i interface{}) string

PrettyPrint takes in a generic interface{} objects and uses standard JSON capabilities to try to print with indentation

func RemoveUnquotedMarker

func RemoveUnquotedMarker(content string) string

func RemoveUnquotedValueMarker

func RemoveUnquotedValueMarker(content string) string

func SetJSON

func SetJSON(parentObj *gabs.Container, childObj *gabs.Container, key string) *gabs.Container

SetJSON is a helper function to work with the `gabs` library, which in turn is an API on top of the standard JSON library The function helps us create `parentObj.key = childObj` through using the `Merge` primitive available in `gabs`

func UnicodeCategory

func UnicodeCategory(r rune) string

UnicodeCategory returns the Unicode Character Category of the given rune.

func UpdateSelf

func UpdateSelf()

UpdateSelf downloads the installation script from the official repository, and executes it to update the l2 binary to the latest version

type ParseError

type ParseError struct {
    Pos     int
    LineNum int
    // contains filtered or unexported fields

func NewParseError

func NewParseError(pos int, line int, msg string, args []string) *ParseError

func (ParseError) Error

func (p ParseError) Error() string

Generated by gomarkdoc