-
Notifications
You must be signed in to change notification settings - Fork 10
/
vim.lua
105 lines (96 loc) · 2.29 KB
/
vim.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
require'gitsigns'.setup()
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
require("nvim-tree").setup({
sort_by = "case_sensitive",
hijack_cursor = true,
update_focused_file = {
update_root = true,
},
view = {
signcolumn = "auto",
float = {
enable = true,
quit_on_focus_loss = true,
open_win_config = function()
local w = vim.opt.columns:get()
local h = vim.opt.lines:get()
local fw = w * 0.5
local fh = h * 0.5
local x = (w - fw) / 2
local y = h / 3 - fh / 2
return {
border = "rounded",
relative = "editor",
col = x,
row = y,
width = math.floor(fw),
height = math.floor(fh),
}
end,
},
},
renderer = {
group_empty = true,
icons = {
show = {
file = false,
folder = false,
},
glyphs = {
bookmark = "🔖",
folder = {
arrow_closed = "⏵",
arrow_open = "⏷",
},
git = {
unstaged = "✗",
staged = "✓",
unmerged = "⌥",
renamed = "➜",
untracked = "☆",
deleted = "⊖",
ignored = "◌",
},
},
},
},
filters = {
dotfiles = true,
},
})
require('pretty-fold').setup()
require'nvim-treesitter.configs'.setup {
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
indent = {
enable = true,
},
}
vim.api.nvim_create_autocmd('LspAttach', {
callback = function(args)
local function buf_set_keymap(keys, callback)
local opts = { noremap=true, silent=true, callback=callback }
vim.api.nvim_buf_set_keymap(args.buf, 'n', keys, '', opts)
end
buf_set_keymap('gD', vim.lsp.buf.declaration)
buf_set_keymap('gd', vim.lsp.buf.definition)
buf_set_keymap('gri', vim.lsp.buf.implementation)
end,
})
vim.api.nvim_create_autocmd("CompleteDone", {
pattern = "*.go",
callback = function(args) require'lv'.importing() end,
})
vim.api.nvim_create_autocmd("BufWritePre", {
pattern = "*.go",
callback = function(args)
require'lv'.importing()
vim.lsp.buf.format { async = true }
end,
})
local lsp = require'lspconfig'
lsp.gopls.setup({})
lsp.rust_analyzer.setup({})