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