From 3a595b88642179732977d560e9351e40e931c014 Mon Sep 17 00:00:00 2001 From: Dan LaManna Date: Thu, 21 Nov 2019 14:43:09 -0500 Subject: [PATCH 1/2] tools/terraform: add readme file --- modules/tools/terraform/README.org | 69 ++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 modules/tools/terraform/README.org diff --git a/modules/tools/terraform/README.org b/modules/tools/terraform/README.org new file mode 100644 index 000000000..16eb3d7cd --- /dev/null +++ b/modules/tools/terraform/README.org @@ -0,0 +1,69 @@ +#+TITLE: tools/terraform +#+DATE: November 21, 2019 +#+SINCE: v2.1.0 +#+STARTUP: inlineimages + +* Table of Contents :TOC_3:noexport: +- [[#description][Description]] + - [[#module-flags][Module Flags]] + - [[#plugins][Plugins]] +- [[#prerequisites][Prerequisites]] +- [[#features][Features]] + - [[#syntax-highlighting][Syntax highlighting]] + - [[#code-formatting][Code formatting]] + - [[#code-navigation][Code navigation]] + - [[#code-completion][Code completion]] + - [[#documentation][Documentation]] + - [[#executing-terraform-commands][Executing Terraform commands]] +- [[#appendix][Appendix]] + - [[#keybindings][Keybindings]] + - [[#localleader][:localleader]] + +* Description +This module adds support for working with [[https://www.terraform.io][Terraform]] files in Doom Emacs. This +includes syntax highlighting, intelligent code completion, and the ability to run +Terraform commands directly from Emacs. + +** Module Flags +This module provides no flags. + +** Plugins ++ [[https://github.com/syohex/emacs-terraform-mode][terraform-mode]] ++ [[https://github.com/rafalcieslak/emacs-company-terraform][company-terraform*]] + +* Prerequisites +The =terraform= executable must be installed and accessible from your PATH. + +* Features +** Syntax highlighting +Syntax highlighting is provided from =terraform-mode= and =hcl-mode=. + +** Code formatting +=:tools terraform= does not provide code formatting directly, but =:editor +format= works with Terraform files. + +** Code navigation +Code navigation is supported through =imenu= from =terraform-mode=. + +** Code completion +Code completion of Terraform builtins is provided from =company-terraform= and +generally works well despite being generated through a [[https://github.com/rafalcieslak/emacs-company-terraform/blob/master/company-terraform-data.el][static (outdated) file]]. + +=company-terraform= also provides code completion of resources within your project. + +** Documentation +Documentation is accessible through the normal =company-mode= show documentation +functionality, thanks to =company-terraform=. + +** Executing Terraform commands +=:tools terraform= provides commands under the =localleader= to run the most +common Terraform operations (see Keybindings below). + +* Appendix +** Keybindings +*** :localleader +| key | description | +|-----+-----------------------| +| =i= | Run =terraform init= | +| =p= | Run =terraform plan= | +| =a= | Run =terraform apply= | From cb73a68ab9c1b84a82561a89cc3f11410805b66d Mon Sep 17 00:00:00 2001 From: Dan LaManna Date: Thu, 21 Nov 2019 15:52:19 -0500 Subject: [PATCH 2/2] docs: update module list --- docs/index.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.org b/docs/index.org index 2ca87d62c..76e8a62af 100644 --- a/docs/index.org +++ b/docs/index.org @@ -246,7 +246,7 @@ Small modules that give Emacs access to external tools & services. + pdf - TODO + prodigy - TODO + rgb - TODO -+ terraform - TODO ++ [[file:../modules/tools/terraform/README.org][terraform]] + tmux - TODO + upload - TODO + [[file:../modules/tools/wakatime/README.org][wakatime]] - TODO