// Copyright 2021 CUE Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package trim import ( "fmt" "strings" "cuelang.org/go/internal/core/adt" ) func (t *trimmer) trace(v *adt.Vertex) (*trimmer, *adt.Vertex) { if t.debug { t.indent++ fmt.Fprintf(t.w, "%s%s {\n", strings.Repeat("..", t.indent), v.Label.SelectorString(t.ctx)) } return t, v } func un(t *trimmer, v *adt.Vertex) { if !t.debug { return } fmt.Fprintf(t.w, "%s}\n", strings.Repeat("..", t.indent)) t.indent-- } func (t *trimmer) logf(format string, args ...interface{}) { if !t.debug { return } fmt.Fprint(t.w, strings.Repeat("..", t.indent+1)) fmt.Fprintf(t.w, format, args...) fmt.Fprintln(t.w) }