Documentation ¶
Index ¶
- Constants
- func PlatformIndependentPathDirBaseExt(path string) (dir string, base string, ext string)
- func PrintErrorToStderr(osArgs []string, text string)
- func PrintMessageToStderr(osArgs []string, msg Msg)
- func PrintText(file *os.File, level LogLevel, osArgs []string, callback func(Colors) string)
- type Colors
- type Loc
- type Log
- func (log Log) AddError(source *Source, loc Loc, text string)
- func (log Log) AddErrorWithNotes(source *Source, loc Loc, text string, notes []MsgData)
- func (log Log) AddRangeError(source *Source, r Range, text string)
- func (log Log) AddRangeErrorWithNotes(source *Source, r Range, text string, notes []MsgData)
- func (log Log) AddRangeWarning(source *Source, r Range, text string)
- func (log Log) AddRangeWarningWithNotes(source *Source, r Range, text string, notes []MsgData)
- func (log Log) AddWarning(source *Source, loc Loc, text string)
- type LogLevel
- type Msg
- type MsgData
- type MsgDetail
- type MsgKind
- type MsgLocation
- type Path
- type Range
- type SortableMsgs
- type Source
- type StderrColor
- type StderrOptions
- type TerminalInfo
Constants ¶
View Source
const SupportsColorEscapes = true
Variables ¶
This section is empty.
Functions ¶
func PlatformIndependentPathDirBaseExt ¶ added in v0.8.22
This has a custom implementation instead of using "filepath.Dir/Base/Ext" because it should work the same on Unix and Windows. These names end up in the generated output and the generated output should not depend on the OS.
func PrintErrorToStderr ¶
func PrintMessageToStderr ¶ added in v0.7.0
Types ¶
type Loc ¶
type Loc struct { // This is the 0-based index of this location from the start of the file, in bytes Start int32 }
type Log ¶
func NewDeferLog ¶
func NewDeferLog() Log
func NewStderrLog ¶
func NewStderrLog(options StderrOptions) Log
func (Log) AddErrorWithNotes ¶ added in v0.8.8
func (Log) AddRangeErrorWithNotes ¶ added in v0.8.8
func (Log) AddRangeWarningWithNotes ¶ added in v0.8.8
type Msg ¶
func (Msg) String ¶
func (msg Msg) String(options StderrOptions, terminalInfo TerminalInfo) string
type MsgData ¶ added in v0.8.8
type MsgData struct { Text string Location *MsgLocation }
type MsgLocation ¶
type MsgLocation struct { File string Namespace string Line int // 1-based Column int // 0-based, in bytes Length int // in bytes LineText string }
func LocationOrNil ¶ added in v0.8.1
func LocationOrNil(source *Source, r Range) *MsgLocation
type Path ¶
This is used to represent both file system paths (Namespace == "file") and abstract module paths (Namespace != "file"). Abstract module paths represent "virtual modules" when used for an input file and "package paths" when used to represent an external module.
func (Path) ComesBeforeInSortedOrder ¶
type SortableMsgs ¶ added in v0.8.8
type SortableMsgs []Msg
This type is just so we can use Go's native sort function
func (SortableMsgs) Len ¶ added in v0.8.8
func (a SortableMsgs) Len() int
func (SortableMsgs) Swap ¶ added in v0.8.8
func (a SortableMsgs) Swap(i int, j int)
type Source ¶
type Source struct { Index uint32 // This is used as a unique key to identify this source file. It should never // be shown to the user (e.g. never print this to the terminal). // // If it's marked as an absolute path, it's 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. // // If it's marked as not an absolute path, it's an opaque string that is used // to refer to an automatically-generated module. KeyPath Path // This is used for error messages and the metadata JSON file. // // 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 // An identifier that is mixed in to automatically-generated symbol names to // improve readability. For example, if the identifier is "util" then the // symbol for an "export default" statement will be called "util_default". IdentifierName string Contents string }
func (*Source) RangeOfNumber ¶
func (*Source) RangeOfOperatorAfter ¶ added in v0.7.2
func (*Source) RangeOfOperatorBefore ¶ added in v0.7.2
func (*Source) RangeOfString ¶
func (*Source) TextForRange ¶
type StderrColor ¶
type StderrColor uint8
const ( ColorIfTerminal StderrColor = iota ColorNever ColorAlways )
type StderrOptions ¶
type StderrOptions struct { IncludeSource bool ErrorLimit int Color StderrColor LogLevel LogLevel }
func StderrOptionsForArgs ¶ added in v0.8.12
func StderrOptionsForArgs(osArgs []string) StderrOptions
type TerminalInfo ¶
func GetTerminalInfo ¶
func GetTerminalInfo(file *os.File) (info TerminalInfo)
Click to show internal directories.
Click to hide internal directories.