logging

package
v0.5.14-0...-9584646 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 29, 2020 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const SupportsColorEscapes = true

Variables

This section is empty.

Functions

func ComputeLineAndColumn

func ComputeLineAndColumn(text string) (lineCount int, columnCount, lastLineStart int)

func PrintErrorToStderr

func PrintErrorToStderr(osArgs []string, text string)

Types

type Log

type Log struct {
	// contains filtered or unexported fields
}

func NewDeferLog

func NewDeferLog() Log

func NewStderrLog

func NewStderrLog(options StderrOptions) Log

func (Log) AddError

func (log Log) AddError(source *Source, loc ast.Loc, text string)

func (Log) AddRangeError

func (log Log) AddRangeError(source *Source, r ast.Range, text string)

func (Log) AddRangeWarning

func (log Log) AddRangeWarning(source *Source, r ast.Range, text string)

func (Log) AddWarning

func (log Log) AddWarning(source *Source, loc ast.Loc, text string)

func (Log) Done

func (log Log) Done() []Msg

func (Log) HasErrors

func (log Log) HasErrors() bool

type LogLevel

type LogLevel int8
const (
	LevelNone LogLevel = iota
	LevelInfo
	LevelWarning
	LevelError
)

type Msg

type Msg struct {
	Source *Source
	Start  int32
	Length int32
	Text   string
	Kind   MsgKind
}

func (Msg) String

func (msg Msg) String(options StderrOptions, terminalInfo TerminalInfo) string

type MsgDetail

type MsgDetail struct {
	Path    string
	Line    int
	Column  int
	Kind    string
	Message string

	// Source == SourceBefore + SourceMarked + SourceAfter
	Source       string
	SourceBefore string
	SourceMarked string
	SourceAfter  string

	Indent string
	Marker string
}

type MsgKind

type MsgKind uint8
const (
	Error MsgKind = iota
	Warning
)

type Source

type Source struct {
	Index uint32

	// This is a platform-dependent path that includes environment-specific things
	// such as Windows backslash path separators and potentially the user's home
	// directory. Only use this for passing to syscalls for reading and writing to
	// the file system. Do not include this in any output data.
	AbsolutePath string

	// This is a mostly platform-independent path. It's relative to the current
	// working directory and always uses standard path separators. Use this for
	// referencing a file in all output data. These paths still use the original
	// case of the path so they may still work differently on file systems that
	// are case-insensitive vs. case-sensitive.
	PrettyPath string

	Contents string
}

func (*Source) RangeOfString

func (s *Source) RangeOfString(loc ast.Loc) ast.Range

func (*Source) TextForRange

func (s *Source) TextForRange(r ast.Range) string

type StderrColor

type StderrColor uint8
const (
	ColorIfTerminal StderrColor = iota
	ColorNever
	ColorAlways
)

type StderrOptions

type StderrOptions struct {
	IncludeSource bool
	ErrorLimit    int
	Color         StderrColor
	LogLevel      LogLevel
}

type TerminalInfo

type TerminalInfo struct {
	IsTTY           bool
	UseColorEscapes bool
	Width           int
}

func GetTerminalInfo

func GetTerminalInfo(file *os.File) (info TerminalInfo)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL