2018-10-11 17:32:54 +02:00
|
|
|
;;; tools/terraform/config.el -*- lexical-binding: t; -*-
|
|
|
|
|
2022-04-05 13:42:49 +08:00
|
|
|
(defvar +terraform-runner (if (executable-find "terragrunt") "terragrunt" "terraform")
|
|
|
|
"The default runner - terraform or terragrunt")
|
|
|
|
|
2020-02-17 22:18:05 -08:00
|
|
|
(when (featurep! +lsp)
|
2022-03-24 02:19:52 +01:00
|
|
|
(add-hook 'terraform-mode-local-vars-hook #'lsp! 'append))
|
2020-02-17 22:18:05 -08:00
|
|
|
|
2021-02-27 11:48:49 +09:00
|
|
|
(after! terraform-mode
|
|
|
|
(set-docsets! 'terraform-mode "Terraform")
|
|
|
|
|
2022-04-05 13:42:49 +08:00
|
|
|
(setq-hook! 'terraform-mode-hook compile-command +terraform-runner)
|
|
|
|
|
2021-02-27 11:48:49 +09:00
|
|
|
(map! :map terraform-mode-map
|
|
|
|
:localleader
|
2022-04-05 13:42:49 +08:00
|
|
|
:desc "apply" "a" (cmd! (compile (format "%s apply" +terraform-runner) t))
|
|
|
|
:desc "init" "i" (cmd! (compile (format "%s init" +terraform-runner)))
|
|
|
|
:desc "plan" "p" (cmd! (compile (format "%s plan" +terraform-runner)))))
|
2018-10-15 09:19:21 +02:00
|
|
|
|
2019-07-23 12:44:03 +02:00
|
|
|
(use-package! company-terraform
|
2018-10-15 09:19:21 +02:00
|
|
|
:when (featurep! :completion company)
|
|
|
|
:after terraform-mode
|
|
|
|
:config
|
|
|
|
(set-company-backend! 'terraform-mode 'company-terraform))
|