func run(path string) { cheads := libs.SassMakeImporterList(1) gofc := libs.SassMakeFileContext(path) goopts := libs.SassFileContextGetOptions(gofc) libs.SassOptionSetCHeaders(goopts, cheads) libs.SassOptionSetOutputStyle(goopts, 2) // Set options libs.SassFileContextSetOptions(gofc, goopts) goctx := libs.SassFileContextGetContext(gofc) gocomp := libs.SassMakeFileCompiler(gofc) defer libs.SassDeleteCompiler(gocomp) libs.SassCompilerParse(gocomp) libs.SassCompilerExecute(gocomp) gostr := libs.SassContextGetOutputString(goctx) fmt.Println(gostr) errStatus := libs.SassContextGetErrorStatus(goctx) if errStatus > 0 { fmt.Println("error:", libs.SassContextGetErrorJSON(goctx)) } }
// Init validates options in the struct and returns a Sass Options. func (ctx *Context) Init(goopts libs.SassOptions) libs.SassOptions { if ctx.Precision == 0 { ctx.Precision = 5 } ctx.Headers.Bind(goopts) ctx.Imports.Bind(goopts) ctx.Funcs.Bind(goopts) libs.SetIncludePaths(goopts, ctx.IncludePaths) libs.SassOptionSetPrecision(goopts, ctx.Precision) libs.SassOptionSetOutputStyle(goopts, ctx.OutputStyle) libs.SassOptionSetSourceComments(goopts, ctx.Comments) return goopts }