aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/hashicorp/hcl2/hcled
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/hashicorp/hcl2/hcled')
-rw-r--r--vendor/github.com/hashicorp/hcl2/hcled/doc.go4
-rw-r--r--vendor/github.com/hashicorp/hcl2/hcled/navigation.go34
2 files changed, 38 insertions, 0 deletions
diff --git a/vendor/github.com/hashicorp/hcl2/hcled/doc.go b/vendor/github.com/hashicorp/hcl2/hcled/doc.go
new file mode 100644
index 0000000..1a80144
--- /dev/null
+++ b/vendor/github.com/hashicorp/hcl2/hcled/doc.go
@@ -0,0 +1,4 @@
1// Package hcled provides functionality intended to help an application
2// that embeds HCL to deliver relevant information to a text editor or IDE
3// for navigating around and analyzing configuration files.
4package hcled
diff --git a/vendor/github.com/hashicorp/hcl2/hcled/navigation.go b/vendor/github.com/hashicorp/hcl2/hcled/navigation.go
new file mode 100644
index 0000000..5d10cd8
--- /dev/null
+++ b/vendor/github.com/hashicorp/hcl2/hcled/navigation.go
@@ -0,0 +1,34 @@
1package hcled
2
3import (
4 "github.com/hashicorp/hcl2/hcl"
5)
6
7type contextStringer interface {
8 ContextString(offset int) string
9}
10
11// ContextString returns a string describing the context of the given byte
12// offset, if available. An empty string is returned if no such information
13// is available, or otherwise the returned string is in a form that depends
14// on the language used to write the referenced file.
15func ContextString(file *hcl.File, offset int) string {
16 if cser, ok := file.Nav.(contextStringer); ok {
17 return cser.ContextString(offset)
18 }
19 return ""
20}
21
22type contextDefRanger interface {
23 ContextDefRange(offset int) hcl.Range
24}
25
26func ContextDefRange(file *hcl.File, offset int) hcl.Range {
27 if cser, ok := file.Nav.(contextDefRanger); ok {
28 defRange := cser.ContextDefRange(offset)
29 if !defRange.Empty() {
30 return defRange
31 }
32 }
33 return file.Body.MissingItemRange()
34}