1local key = require("gabrielgio.key")
2
3local ai = require("mini.ai")
4local cmp = require("mini.completion")
5local cursorword = require("mini.cursorword")
6local diff = require("mini.diff")
7local files = require("mini.files")
8local hipatterns = require("mini.hipatterns")
9local icons = require("mini.icons")
10local indentscope = require("mini.indentscope")
11local notify = require("mini.notify")
12local pairs = require("mini.pairs")
13local pick = require("mini.pick")
14local snippets = require("mini.snippets")
15local status = require("mini.statusline")
16local tabline = require("mini.tabline")
17local trailspace = require("mini.trailspace")
18
19ai.setup()
20cursorword.setup()
21diff.setup({ view = { style = "sign" } })
22files.setup()
23icons.setup()
24indentscope.setup({ draw = { animation = indentscope.gen_animation.none() } })
25notify.setup()
26pairs.setup()
27pick.setup()
28snippets.setup()
29status.setup()
30tabline.setup()
31trailspace.setup()
32
33hipatterns.setup({
34 highlighters = {
35 fixme = { pattern = "%f[%w]()FIXME()%f[%W]", group = "MiniHipatternsFixme" },
36 hack = { pattern = "%f[%w]()HACK()%f[%W]", group = "MiniHipatternsHack" },
37 todo = { pattern = "%f[%w]()TODO()%f[%W]", group = "MiniHipatternsTodo" },
38 note = { pattern = "%f[%w]()NOTE()%f[%W]", group = "MiniHipatternsNote" },
39 hex_color = hipatterns.gen_highlighter.hex_color(),
40 },
41})
42
43cmp.setup({ lsp_completition = {
44 snippet_isert = vim.snippet.expand,
45} })
46
47key.nnoremap("<leader>ff", ":Pick files<CR>")
48key.nnoremap("<leader>fs", ":Pick grep_live<CR>")
49key.nnoremap("<leader>n", ":Telescope file_browser<CR>")
50
51local minifiles_toggle = function()
52 if not MiniFiles.close() then
53 MiniFiles.open(nil, false)
54 end
55end
56
57local minifiles_toggle_dir = function()
58 if not MiniFiles.close() then
59 MiniFiles.open(vim.api.nvim_buf_get_name(0), false)
60 end
61end
62
63key.nnoremap("<leader>n", minifiles_toggle)
64key.nnoremap("<leader>m", minifiles_toggle_dir)