logging

package
v0.3.6 Latest Latest
Warning

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

Go to latest
Published: May 21, 2020 License: MIT Imports: 5 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)

Types

type Log

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

func NewDeferLog

func NewDeferLog() (Log, func() []Msg)

func NewLog

func NewLog(msgs chan Msg) Log

func NewStderrLog

func NewStderrLog(options StderrOptions) (Log, func() MsgCounts)

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)

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 MsgCounts

type MsgCounts struct {
	Errors   int
	Warnings int
}

func (MsgCounts) String

func (counts MsgCounts) String() 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 int
const (
	Error MsgKind = iota
	Warning
)

type Source

type Source struct {
	Index        uint32
	IsStdin      bool
	AbsolutePath string
	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
	ExitWhenLimitIsHit bool
	Color              StderrColor
}

type TerminalInfo

type TerminalInfo struct {
	IsTTY           bool
	UseColorEscapes bool
	Width           int
}

func GetTerminalInfo added in v0.3.0

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