summaryrefslogtreecommitdiffstats
path: root/dotfiles/vim.lua
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/vim.lua')
-rw-r--r--dotfiles/vim.lua109
1 files changed, 54 insertions, 55 deletions
diff --git a/dotfiles/vim.lua b/dotfiles/vim.lua
index 0b11fb6..d380ec0 100644
--- a/dotfiles/vim.lua
+++ b/dotfiles/vim.lua
@@ -85,31 +85,31 @@ map("n", "=of", [[:set <C-R>=(&formatoptions =~ "a") ? 'formatoptions-=a' : 'for
85 85
86-- Gitsigns 86-- Gitsigns
87 87
88require('gitsigns').setup { 88require("gitsigns").setup {
89 keymaps = { 89 keymaps = {
90 noremap = true, 90 noremap = true,
91 buffer = true, 91 buffer = true,
92 silent = true, 92 silent = true,
93 93
94 ['n ]c'] = { expr = true, "&diff ? ']c' : '<cmd>lua require\"gitsigns\".next_hunk()<CR>'"}, 94 ["n ]c"] = { expr = true, "&diff ? ']c' : '<cmd>lua require\"gitsigns\".next_hunk()<CR>'" },
95 ['n [c'] = { expr = true, "&diff ? '[c' : '<cmd>lua require\"gitsigns\".prev_hunk()<CR>'"}, 95 ["n [c"] = { expr = true, "&diff ? '[c' : '<cmd>lua require\"gitsigns\".prev_hunk()<CR>'" },
96 96
97 ['n <leader>hs'] = '<cmd>lua require"gitsigns".stage_hunk()<CR>', 97 ["n <leader>hs"] = '<cmd>lua require"gitsigns".stage_hunk()<CR>',
98 ['n <leader>hu'] = '<cmd>lua require"gitsigns".undo_stage_hunk()<CR>', 98 ["n <leader>hu"] = '<cmd>lua require"gitsigns".undo_stage_hunk()<CR>',
99 ['n <leader>hr'] = '<cmd>lua require"gitsigns".reset_hunk()<CR>', 99 ["n <leader>hr"] = '<cmd>lua require"gitsigns".reset_hunk()<CR>',
100 ['n <leader>hR'] = '<cmd>lua require"gitsigns".reset_buffer()<CR>', 100 ["n <leader>hR"] = '<cmd>lua require"gitsigns".reset_buffer()<CR>',
101 ['n <leader>hp'] = '<cmd>lua require"gitsigns".preview_hunk()<CR>', 101 ["n <leader>hp"] = '<cmd>lua require"gitsigns".preview_hunk()<CR>',
102 ['n <leader>hb'] = '<cmd>lua require"gitsigns".blame_line()<CR>', 102 ["n <leader>hb"] = '<cmd>lua require"gitsigns".blame_line()<CR>',
103 103
104 -- Text objects 104 -- Text objects
105 ['o ih'] = ':<C-U>lua require"gitsigns".select_hunk()<CR>', 105 ["o ih"] = ':<C-U>lua require"gitsigns".select_hunk()<CR>',
106 ['x ih'] = ':<C-U>lua require"gitsigns".select_hunk()<CR>', 106 ["x ih"] = ':<C-U>lua require"gitsigns".select_hunk()<CR>',
107 } 107 },
108} 108}
109 109
110-- Treesitter 110-- Treesitter
111 111
112require('nvim-treesitter.configs').setup { 112require("nvim-treesitter.configs").setup {
113 highlight = { 113 highlight = {
114 enable = true, 114 enable = true,
115 }, 115 },
@@ -136,7 +136,7 @@ require('nvim-treesitter.configs').setup {
136 textobjects = { 136 textobjects = {
137 lsp_interop = { 137 lsp_interop = {
138 enable = true, 138 enable = true,
139 border = 'none', 139 border = "none",
140 peek_definition_code = { 140 peek_definition_code = {
141 ["<leader>df"] = "@function.outer", 141 ["<leader>df"] = "@function.outer",
142 ["<leader>dF"] = "@class.outer", 142 ["<leader>dF"] = "@class.outer",
@@ -199,9 +199,8 @@ require('nvim-treesitter.configs').setup {
199 }, 199 },
200} 200}
201 201
202vim.o.foldmethod = 'expr' 202vim.o.foldmethod = "expr"
203vim.o.foldexpr = 'nvim_treesitter#foldexpr()' 203vim.o.foldexpr = "nvim_treesitter#foldexpr()"
204
205 204
206vim.api.nvim_set_hl(0, "TSCurrentScope", { 205vim.api.nvim_set_hl(0, "TSCurrentScope", {
207 bg = vim.g.current_gruvbox_colors.dark0_soft[1], 206 bg = vim.g.current_gruvbox_colors.dark0_soft[1],
@@ -217,7 +216,7 @@ vim.api.nvim_set_hl(0, "TSDefinitionUsage", {
217 216
218-- nvim-cmp 217-- nvim-cmp
219 218
220local cmp = require("cmp") 219local cmp = require "cmp"
221 220
222cmp.setup { 221cmp.setup {
223 snippet = { 222 snippet = {
@@ -225,37 +224,37 @@ cmp.setup {
225 vim.fn["vsnip#anonymous"](args.body) 224 vim.fn["vsnip#anonymous"](args.body)
226 end, 225 end,
227 }, 226 },
228 mapping = cmp.mapping.preset.insert({ 227 mapping = cmp.mapping.preset.insert {
229 ['<CR>'] = cmp.mapping.confirm({ select = false }), 228 ["<CR>"] = cmp.mapping.confirm { select = false },
230 }), 229 },
231 sources = cmp.config.sources({ 230 sources = cmp.config.sources({
232 { name = "nvim_lsp" }, 231 { name = "nvim_lsp" },
233 { name = "vsnip" }, 232 { name = "vsnip" },
234 { name = "latex_symbols" }, 233 { name = "latex_symbols" },
235 { name = "calc" }, 234 { name = "calc" },
236 }, { 235 }, {
237 { name = "path" }, 236 { name = "path" },
238 { name = "treesitter" }, 237 { name = "treesitter" },
239 }, { 238 }, {
240 { name = "tmux" }, 239 { name = "tmux" },
241 { name = "spell" }, 240 { name = "spell" },
242 -- Use \k for iskeyword because of UTF-8 241 -- Use \k for iskeyword because of UTF-8
243 { name = "buffer", option = { keyword_pattern = [[\k\+]], } }, 242 { name = "buffer", option = { keyword_pattern = [[\k\+]] } },
244 }), 243 }),
245} 244}
246 245
247cmp.setup.cmdline("/", { 246cmp.setup.cmdline("/", {
248 sources = { 247 sources = {
249 { name = "buffer", option = { keyword_pattern = [[\k\+]], } }, 248 { name = "buffer", option = { keyword_pattern = [[\k\+]] } },
250 }, 249 },
251 mapping = cmp.mapping.preset.cmdline({}), 250 mapping = cmp.mapping.preset.cmdline {},
252}) 251})
253 252
254cmp.setup.cmdline(":", { 253cmp.setup.cmdline(":", {
255 sources = cmp.config.sources({ 254 sources = cmp.config.sources {
256 { name = "cmdline" }, 255 { name = "cmdline" },
257 }), 256 },
258 mapping = cmp.mapping.preset.cmdline({}), 257 mapping = cmp.mapping.preset.cmdline {},
259}) 258})
260 259
261-- Telescope 260-- Telescope
@@ -267,9 +266,9 @@ require("telescope").setup {
267 dir_icon = "D", 266 dir_icon = "D",
268 }, 267 },
269 ["ui-select"] = { 268 ["ui-select"] = {
270 require("telescope.themes").get_dropdown {} 269 require("telescope.themes").get_dropdown(),
271 } 270 },
272 } 271 },
273} 272}
274 273
275require("telescope").load_extension "file_browser" 274require("telescope").load_extension "file_browser"
@@ -294,10 +293,10 @@ require("lualine").setup {
294 }, 293 },
295 sections = { 294 sections = {
296 lualine_c = { 295 lualine_c = {
297 'filename', 296 "filename",
298 { 297 {
299 'lsp_progress', 298 "lsp_progress",
300 display_components = { 'lsp_client_name', { 'title', 'percentage', 'message' } }, 299 display_components = { "lsp_client_name", { "title", "percentage", "message" } },
301 }, 300 },
302 }, 301 },
303 }, 302 },
@@ -358,29 +357,29 @@ vim.cmd [[highlight link NotifyDEBUGBorder GruvboxPurple]]
358vim.cmd [[highlight link NotifyDEBUGIcon GruvboxPurple]] 357vim.cmd [[highlight link NotifyDEBUGIcon GruvboxPurple]]
359vim.cmd [[highlight link NotifyDEBUGTitle GruvboxPurple]] 358vim.cmd [[highlight link NotifyDEBUGTitle GruvboxPurple]]
360 359
361vim.notify = require("notify") 360vim.notify = require "notify"
362 361
363-- Comment 362-- Comment
364 363
365require('Comment').setup {} 364require("Comment").setup {}
366 365
367-- Local config 366-- Local config
368 367
369function isModuleAvailable(name) 368function isModuleAvailable(name)
370 if package.loaded[name] then 369 if package.loaded[name] then
371 return true 370 return true
372 else 371 else
373 for _, searcher in ipairs(package.searchers or package.loaders) do 372 for _, searcher in ipairs(package.searchers or package.loaders) do
374 local loader = searcher(name) 373 local loader = searcher(name)
375 if type(loader) == 'function' then 374 if type(loader) == "function" then
376 package.preload[name] = loader 375 package.preload[name] = loader
377 return true 376 return true
378 end 377 end
379 end 378 end
380 return false 379 return false
381 end 380 end
382end 381end
383 382
384if isModuleAvailable("local_config") then 383if isModuleAvailable "local_config" then
385 require("local_config") 384 require "local_config"
386end 385end