diagnostics

package
v0.0.0-...-978a5fb Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2025 License: MPL-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HCLDiagsFromJSON

func HCLDiagsFromJSON(jsonDiags []tfjson.Diagnostic) map[string]hcl.Diagnostics

tfjson.Diagnostic is a conversion of an internal diag to terraform core, tfdiags, which is effectively based on hcl.Diagnostic. This process is really just converting it back to hcl.Diagnotic since it is the defacto diagnostic type for our codebase currently https://github.com/hashicorp/terraform/blob/ae025248cc0712bf53c675dc2fe77af4276dd5cc/command/validate.go#L138

Types

type ClientNotifier

type ClientNotifier interface {
	Notify(ctx context.Context, method string, params interface{}) error
}

type Diagnostics

type Diagnostics map[string]map[ast.DiagnosticSource]hcl.Diagnostics

func NewDiagnostics

func NewDiagnostics() Diagnostics

func (Diagnostics) Append

func (d Diagnostics) Append(src ast.DiagnosticSource, diagsMap map[string]hcl.Diagnostics) Diagnostics

func (Diagnostics) EmptyRootDiagnostic

func (d Diagnostics) EmptyRootDiagnostic() Diagnostics

EmptyRootDiagnostic allows emptying any diagnostics for the whole directory which were published previously.

func (Diagnostics) Extend

func (d Diagnostics) Extend(diags Diagnostics) Diagnostics

type Notifier

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

Notifier is a type responsible for queueing HCL diagnostics to be converted and sent to the client

func NewNotifier

func NewNotifier(clientNotifier ClientNotifier, logger *log.Logger) *Notifier

func (*Notifier) PublishHCLDiags

func (n *Notifier) PublishHCLDiags(ctx context.Context, dirPath string, diags Diagnostics)

PublishHCLDiags accepts a map of HCL diagnostics per file and queues them for publishing. A dir path is passed which is joined with the filename keys of the map, to form a file URI.

Jump to

Keyboard shortcuts

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