Compare commits
3 Commits
630160e1e9
...
37d71e1e43
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
37d71e1e43 | ||
|
|
7f0fd90dcc | ||
|
|
33be0bbd0a |
@ -10,8 +10,7 @@ nix_packages=(
|
|||||||
"ranger"
|
"ranger"
|
||||||
"jq"
|
"jq"
|
||||||
"yq"
|
"yq"
|
||||||
|
"zk"
|
||||||
"shellcheck"
|
|
||||||
|
|
||||||
# Neovim + Plugin dependencies
|
# Neovim + Plugin dependencies
|
||||||
"neovim"
|
"neovim"
|
||||||
@ -23,7 +22,11 @@ nix_packages=(
|
|||||||
"yaml-language-server" # Yaml
|
"yaml-language-server" # Yaml
|
||||||
"lua-language-server" # Lua
|
"lua-language-server" # Lua
|
||||||
"solargraph" # Ruby
|
"solargraph" # Ruby
|
||||||
|
# Terraform
|
||||||
|
"terraform-ls"
|
||||||
|
"tflint"
|
||||||
"python3Packages.python-lsp-server" # Python
|
"python3Packages.python-lsp-server" # Python
|
||||||
|
"shellcheck"
|
||||||
|
|
||||||
# ProgrammingLanguages
|
# ProgrammingLanguages
|
||||||
"lua52Packages.lua"
|
"lua52Packages.lua"
|
||||||
@ -44,6 +47,8 @@ nix_packages=(
|
|||||||
"rancher"
|
"rancher"
|
||||||
"gitlab-ci-local"
|
"gitlab-ci-local"
|
||||||
|
|
||||||
|
"distrobox"
|
||||||
|
|
||||||
# Remote programming tools
|
# Remote programming tools
|
||||||
"lemonade"
|
"lemonade"
|
||||||
)
|
)
|
||||||
|
|||||||
@ -18,6 +18,7 @@ end
|
|||||||
require('user.lspconfig')
|
require('user.lspconfig')
|
||||||
require('user.indentblanklines')
|
require('user.indentblanklines')
|
||||||
require('user.luasnip')
|
require('user.luasnip')
|
||||||
|
require('user.terraform')
|
||||||
require('user.zk')
|
require('user.zk')
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|||||||
24
vim/.config/nvim/lua/user/terraform.lua
Normal file
24
vim/.config/nvim/lua/user/terraform.lua
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
-- Enable terraform language server
|
||||||
|
local lsp = require('lspconfig')
|
||||||
|
lsp.tflint.setup{}
|
||||||
|
lsp.terraformls.setup{}
|
||||||
|
|
||||||
|
-- Enable filetype detection for terraform related files
|
||||||
|
vim.cmd([[silent! autocmd! filetypedetect BufRead,BufNewFile *.tf]])
|
||||||
|
vim.cmd([[autocmd BufRead,BufNewFile *.hcl set filetype=hcl]])
|
||||||
|
vim.cmd([[autocmd BufRead,BufNewFile .terraformrc,terraform.rc set filetype=hcl]])
|
||||||
|
vim.cmd([[autocmd BufRead,BufNewFile *.tf,*.tfvars set filetype=terraform]])
|
||||||
|
vim.cmd([[autocmd BufRead,BufNewFile *.tfstate,*.tfstate.backup set filetype=json]])
|
||||||
|
|
||||||
|
-- Automatically format on save
|
||||||
|
vim.cmd([[let g:terraform_fmt_on_save=1]])
|
||||||
|
vim.cmd([[let g:terraform_align=1]])
|
||||||
|
|
||||||
|
-- Shorten function name
|
||||||
|
local keymap = vim.api.nvim_set_keymap
|
||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
-- Open a terminal in a split to run commands rather than use !
|
||||||
|
keymap("n", "<leader>ti", ":split term://terraform init<CR>", opts)
|
||||||
|
keymap("n", "<leader>tv", ":split term://terraform validate<CR>", opts)
|
||||||
|
keymap("n", "<leader>tp", ":split term://terraform plan<CR>", opts)
|
||||||
|
keymap("n", "<leader>taa", ":split term://terraform apply -auto-approve<CR>", opts)
|
||||||
Loading…
x
Reference in New Issue
Block a user