Terragrunt HCL Language ServerRich, context-aware editor support for the Terragrunt 1.x configuration model — completions, validation, hover docs, clickable navigation, and a visual lineage graph. This is a community-supported project. It is not affiliated with Gruntworks, Inc. or the Terragrunt project, but it tracks the official Terragrunt documentation closely and follows the current 1.x regime. Install Terragrunt Language Server from the VS Code Marketplace, or build the extension from this repository.
Features
The lineage graph opens with the first two levels visible, provides filter and expand/collapse controls, preserves the filter between views, uses full-row targets, and reports loading and empty states explicitly. Open is shown only for files inside the active workspace. What it understands
Getting started
Terragrunt 1.x firstRoot configurations should use named includes and explicit filenames:
Explicit stacks are recognized through
The implementation tracks the official Terragrunt blocks, attributes, functions, and stacks documentation. DevelopmentInstall dependencies and create the extension bundle:
For continuous development, rebuild on source changes:
Launch the repository as a VS Code Extension Development Host after bundling it. Test completion, diagnostics, hover, and document links with current Terragrunt HCL files, or open the lineage graph from the Command Palette while an HCL editor is active. Contributions are welcome — bug reports, feature ideas, and pull requests all help. The parsing and language-service engine is developed separately in tghclparser and published as a standalone npm package, so fixes there flow into the extension. ThanksThanks to everyone who has reported issues, tested, and contributed feedback: LicenseMIT. See LICENSE. This is a community-supported project and is not affiliated with Gruntworks, Inc. or the Terragrunt project. You can support the project by starring it on GitHub or contributing to it. Pull requests are welcome. |
