An Emacs major mode for editing Terraform configuration files with syntax highlighting, indentation, and formatting.
terraform-mode.el is an Emacs major mode for editing Terraform configuration files. It provides syntax highlighting, indentation, block folding, and integration with Terraform's formatting tool to streamline Infrastructure as Code development within Emacs.
Emacs users who work with Terraform for infrastructure provisioning and management, particularly DevOps engineers and system administrators who prefer Emacs as their primary editor.
It offers a specialized, feature-rich editing environment for Terraform within Emacs, reducing the need to switch to external tools and enhancing productivity with built-in formatting, documentation access, and navigation features.
Major mode of Terraform configuration file
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides rich syntax highlighting for Terraform keywords, strings, and blocks, inheriting from hcl-mode for accurate parsing and improved readability.
Integrates with `terraform fmt` to automatically format code, with an option to enable formatting on save via `terraform-format-on-save` for consistent styling.
Offers keyboard shortcuts to open Terraform resource documentation in a browser or copy URLs, speeding up development with direct access to official docs.
Supports folding resource blocks using outline-mode, allowing for focused editing and better code organization, though it requires manual setup in hooks.
Enables easy navigation through Terraform files using imenu, making it simple to jump between resources and data blocks for large projects.
Features like documentation access require a working `terraform providers` command, which can fail without proper tokens or network access, adding external dependencies.
Exclusively for Emacs users, offering no cross-editor compatibility and limiting collaboration in mixed-tool environments where others use different IDEs.
Requires manual configuration, such as enabling outline-minor-mode in hooks for block folding, which can be cumbersome and non-intuitive for new Emacs users.
Lacks modern IDE features like LSP support, autocompletion, or real-time error checking, making it less feature-rich compared to dedicated Terraform extensions in other editors.