func Caller() string {
	_, file, line, ok := runtime.Caller(2)
	if !ok {
		return "?"
	}

	rel, err := filepath.Rel(RootPath(), file)
	if err != nil {
		return "?"
	}

	return fmt.Sprintf("%s:%d", rel, line)
}
func Caller() string {
	_, file, line, ok := runtime.Caller(2)
	if !ok {
		return "?"
	}

	rel, err := filepath.Rel(RootPath(), file)
	if err != nil {
		return "?"
	}

	return fmt.Sprintf("%s:%d", rel, line)
}
func Caller ( ) string { _ , file , line , ok := runtime . Caller ( 2 ) if ! ok { return " " } rel , err := filepath . Rel ( RootPath ( ) , file ) if err != nil { return " " } return fmt . Sprintf ( " " , rel , line ) }
// Caller returns a caller's call location. If F1 calls F2 which in its turn
// calls Caller, then this function will return a location within F1 where it
// calls F2.
Caller returns a caller s call location . If F1 calls F2 which in its turn calls Caller then this function will return a location within F1 where it calls F2 .