1diff --git a/init.lua b/init.lua
2index 5baff8b2bede7895aca8080c7eb294095d019d38..c3db08691a9807ab1b1773bad06a3a3c9a753f84 100644
3--- a/init.lua
4+++ b/init.lua
5@@ -31,6 +31,7 @@ "nvim-lua/plenary.nvim", -- base lib
6 "nvim-telescope/telescope.nvim", -- telescope
7 "nvim-telescope/telescope-file-browser.nvim", -- telescope file browser
8 "TimUntersberger/neogit", -- magit
9+ "vimwiki/vimwiki", -- wiki
10 "f-person/git-blame.nvim", -- more git info
11 "echasnovski/mini.nvim", -- provides many things
12 "mhartington/formatter.nvim", -- provider formatter
13diff --git a/lua/gabrielgio/formatter.lua b/lua/gabrielgio/formatter.lua
14index d06a400610dee1c678112f9b9820fedbacdf49f8..ca0ebc774d368ff618d64aae4d6c00f906fcb633 100644
15--- a/lua/gabrielgio/formatter.lua
16+++ b/lua/gabrielgio/formatter.lua
17@@ -1,5 +1,6 @@
18 local formatter = require("formatter")
19 local go = require("formatter.filetypes.go")
20+local util = require("formatter.util")
21
22 formatter.setup({
23 filetype = {
24@@ -8,6 +9,23 @@ lua = { require("formatter.filetypes.lua").stylua },
25 fish = { require("formatter.filetypes.fish").fishindent },
26 javascript = { require("formatter.filetypes.javascript").prettier },
27 go = { go.gofumpt, go.goimports },
28+ terraform = {
29+ function()
30+ return {
31+ exe = "terraform",
32+ args = {
33+ "fmt",
34+ "-",
35+ },
36+ stdin = true,
37+ }
38+ end,
39+ },
40+ yaml = {
41+ function()
42+ return { exe = "yamlfmt" }
43+ end,
44+ },
45 },
46 ["*"] = {
47 require("formatter.filetypes.any").remove_trailing_whitespace,
48diff --git a/lua/gabrielgio/linter.lua b/lua/gabrielgio/linter.lua
49index 427b236655d85e88a5f7cae86df3d25ca644a4bf..8828f735c57919a92e90beb3863b103ee158b60f 100644
50--- a/lua/gabrielgio/linter.lua
51+++ b/lua/gabrielgio/linter.lua
52@@ -4,6 +4,7 @@ lint.linters_by_ft = {
53 go = { "golangcilint" },
54 lua = { "luacheck" },
55 fish = { "fish" },
56+ markdown = { "vale" },
57 }
58
59 vim.api.nvim_create_autocmd({ "BufWritePost" }, {
60diff --git a/lua/gabrielgio/lsp.lua b/lua/gabrielgio/lsp.lua
61index d8488590766534bc272323f789779bc19068a93c..dc617d5ede62c01b35b1ccf2e0ead20de8136dc9 100644
62--- a/lua/gabrielgio/lsp.lua
63+++ b/lua/gabrielgio/lsp.lua
64@@ -39,6 +39,7 @@ lsp_config.emmet_ls.setup,
65 lsp_config.pylsp.setup,
66 lsp_config.zls.setup,
67 lsp_config.tsserver.setup,
68+ lsp_config.terraformls.setup,
69 })
70
71 lsp_config.gopls.setup({
72diff --git a/lua/gabrielgio/mini.lua b/lua/gabrielgio/mini.lua
73index 2c853cbb3edb3333e80c7e3d1c061fd9b031da50..c04c1966cae7130ec8694d2caf39c5c0ef4eb63d 100644
74--- a/lua/gabrielgio/mini.lua
75+++ b/lua/gabrielgio/mini.lua
76@@ -1,11 +1,13 @@
77+local cmp = require("mini.completion")
78 local diff = require("mini.diff")
79-local cmp = require("mini.completion")
80+local icons = require("mini.icons")
81+local notify = require("mini.notify")
82 local status = require("mini.statusline")
83-local icons = require("mini.icons")
84 local tabline = require("mini.tabline")
85
86+cmp.setup()
87 diff.setup({ view = { style = "sign" } })
88-cmp.setup()
89+icons.setup()
90+notify.setup()
91 status.setup()
92-icons.setup()
93 tabline.setup()
94diff --git a/lua/gabrielgio/settable.lua b/lua/gabrielgio/settable.lua
95index 1307c72cf0473f07e3a49b9f10916dbc57668fd3..9aaeb43fe0eb4457e514a277f93e74a1a1be35bb 100644
96--- a/lua/gabrielgio/settable.lua
97+++ b/lua/gabrielgio/settable.lua
98@@ -29,6 +29,7 @@ vim.opt.background = "light"
99 vim.opt.completeopt = { "menu", "menuone", "noselect" }
100 vim.opt.clipboard = (vim.opt.clipboard + "unnamedplus")
101 vim.opt.spelllang = { "en", "pt_br", "de" }
102+vim.opt.spelloptions = "camel"
103 vim.opt.list = true
104 vim.opt.listchars = {
105 eol = "\194\172",
106@@ -57,6 +58,11 @@ vim.g.maplocalleader = ";"
107
108 vim.g.cmake_build_dir = "build"
109 vim.g.cmake_build_type = "Debug"
110+
111+-- vimwiki
112+vim.opt.compatible = false
113+vim.opt.syntax = "on"
114+vim.cmd("filetype plugin indent on")
115
116 key.nnoremap("<leader>w", "<C-w>w")
117 key.nnoremap("<TAB>", ":bnext<CR>")