nvim/lua/plugins.lua 2.8 K raw
1
-- Colorscheme
2
vim.pack.add({
3
	"https://github.com/stevedylandev/darkmatter-nvim",
4
  'https://github.com/echasnovski/mini.nvim',
5
})
6
vim.cmd.colorscheme('darkmatter')
7
8
-- Mini.nvim — startup modules
9
local win_config = function()
10
  local height = math.floor(0.618 * vim.o.lines)
11
  local width = math.floor(0.618 * vim.o.columns)
12
  return {
13
    anchor = 'NW',
14
    height = height,
15
    width = width,
16
    row = math.floor(0.5 * (vim.o.lines - height)),
17
    col = math.floor(0.5 * (vim.o.columns - width)),
18
  }
19
end
20
21
require("mini.pick").setup({
22
  mappings = {
23
    choose_marked = '<C-y>',
24
    move_down     = '<C-j>',
25
    move_up       = '<C-k>',
26
  },
27
  window = { config = win_config }
28
})
29
30
vim.api.nvim_set_hl(0, "MiniPickMatchCurrent",
31
  { bg = vim.g.terminal_color_8
32
  })
33
34
require('mini.icons').setup()
35
vim.api.nvim_set_hl(0, 'MiniIconsAzure', { fg = vim.g.terminal_color_12 })
36
vim.api.nvim_set_hl(0, 'MiniIconsBlue', { fg = vim.g.terminal_color_4 })
37
vim.api.nvim_set_hl(0, 'MiniIconsCyan', { fg = vim.g.terminal_color_6 })
38
vim.api.nvim_set_hl(0, 'MiniIconsGreen', { fg = vim.g.terminal_color_2 })
39
vim.api.nvim_set_hl(0, 'MiniIconsGrey', { fg = vim.g.terminal_color_8 })
40
vim.api.nvim_set_hl(0, 'MiniIconsOrange', { fg = vim.g.terminal_color_3 })
41
vim.api.nvim_set_hl(0, 'MiniIconsPurple', { fg = vim.g.terminal_color_5 })
42
vim.api.nvim_set_hl(0, 'MiniIconsRed', { fg = vim.g.terminal_color_1 })
43
vim.api.nvim_set_hl(0, 'MiniIconsYellow', { fg = vim.g.terminal_color_11 })
44
45
require('mini.diff').setup({
46
  view = {
47
    style = vim.go.number and 'sign' or 'number',
48
    signs = {
49
      add = "+",
50
      change = "~",
51
      delete = "-",
52
      topdelete = "",
53
      changedelete = "▎",
54
      untracked = "+"
55
    },
56
    priority = 199,
57
  },
58
})
59
require('mini.statusline').setup()
60
require('mini.extra').setup()
61
62
-- Deferred — loads right after startup via vim.schedule()
63
vim.schedule(function()
64
  vim.pack.add({
65
    "https://github.com/christoomey/vim-tmux-navigator",
66
    "https://github.com/rafamadriz/friendly-snippets",
67
  })
68
69
  require("mini.comment").setup({
70
    mappings = {
71
      comment = 'gb',
72
      comment_visual = 'gb',
73
      textobject = 'gb'
74
    }
75
  })
76
77
  require('mini.surround').setup({
78
    mappings = {
79
      replace = 'cs', -- Replace surrounding
80
    },
81
  })
82
83
  require('mini.files').setup({
84
    mappings = {
85
      close      = '<ESC>',
86
      go_in_plus = '<CR>'
87
    }
88
  })
89
end)
90
91
-- Lazy — loads on InsertEnter
92
vim.api.nvim_create_autocmd('InsertEnter', { once = true, callback = function()
93
  require("mini.completion").setup({
94
    mappings = {
95
      scroll_down = '',
96
      scroll_up = '',
97
    },
98
  })
99
100
  local gen_loader = require('mini.snippets').gen_loader
101
  require('mini.snippets').setup({
102
    snippets = {
103
      gen_loader.from_runtime("snippets"),
104
      gen_loader.from_lang(),
105
    },
106
    mappings = {
107
      expand = '',
108
    },
109
  })
110
  MiniSnippets.start_lsp_server()
111
end })