kickstart.nvim/after/plugin/defaults.lua

101 lines
2.7 KiB
Lua
Raw Normal View History

2023-03-21 08:39:13 -06:00
local set = vim.opt
set.colorcolumn = "80,120"
set.cursorline = true
set.expandtab = true
set.list = true
set.swapfile = false
set.writebackup = false
set.wrap = false
set.shiftwidth = 2
set.splitbelow = true
set.splitright = true
set.tabstop = 2
set.textwidth = 80
2023-03-18 22:47:34 -06:00
-- prev/next tab
2023-03-27 13:45:55 -06:00
vim.keymap.set('n', 'H', 'gT', { desc = 'Tab Left' })
vim.keymap.set('n', 'L', 'gt', { desc = 'Tab Right' })
2023-03-18 22:47:34 -06:00
-- line bubbling
2023-03-27 13:45:55 -06:00
vim.keymap.set('n', '<C-j>', ':m .+1<CR>==', { noremap = true, desc = 'Bubble Down' })
vim.keymap.set('n', '<C-k>', ':m .-2<CR>==', { noremap = true, desc = 'Bubble Up' }) -- conflicts with "signature help" from LSP
vim.keymap.set('i', '<C-j>', '<ESC>:m .+1<CR>==gi', { noremap = true, desc = 'Bubble Down' })
vim.keymap.set('i', '<C-k>', '<ESC>:m .-2<CR>==gi', { noremap = true, desc = 'Bubble Up' })
vim.keymap.set('v', '<C-k>', ":m '<-2<CR>gv=gv", { noremap = true, desc = 'Bubble Down' })
vim.keymap.set('v', '<C-j>', ":m '>+1<CR>gv=gv", { noremap = true, desc = 'Bubble Up' })
2023-03-18 22:47:34 -06:00
vim.o.inccommand = "nosplit"
vim.diagnostic.config({
2023-04-03 08:53:04 -06:00
severity_sort = true,
2023-03-18 22:47:34 -06:00
virtual_text = {
2023-04-03 08:53:04 -06:00
source = false,
prefix = '',
format = function()
return ""
end,
2023-03-18 22:47:34 -06:00
},
float = {
2023-04-03 08:53:04 -06:00
source = "always",
format = function(diagnostic)
if diagnostic.source == 'eslint' then
return string.format(
'%s [%s]',
diagnostic.message,
diagnostic.user_data.lsp.code
)
end
return string.format('%s [%s]', diagnostic.message, diagnostic.source)
end,
2023-03-18 22:47:34 -06:00
},
})
local signs = { Error = "", Warn = "", Hint = "", Info = "i" }
for type, icon in pairs(signs) do
local hl = "DiagnosticSign" .. type
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl })
end
2023-03-20 13:15:46 -04:00
-- null-ls
2023-04-03 08:53:04 -06:00
-- @see: https://github.com/jay-babu/mason-null-ls.nvim
-- might want to just use mason-null-ls. not yet sure what the advantage is.
2023-03-20 13:15:46 -04:00
local null_ls = require("null-ls")
null_ls.setup({
sources = {
null_ls.builtins.formatting.prettierd,
},
})
2023-03-27 13:45:55 -06:00
-- nvim-autopairs + nvim-cmp
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
local cmp = require('cmp')
cmp.event:on(
'confirm_done',
cmp_autopairs.on_confirm_done()
)
2023-04-05 20:50:46 -06:00
-- neogen
vim.keymap.set('n', '<leader>nf', ":Neogen func<CR>", { noremap = true, desc = '[D]ocument [F]unction' })
-- hop
local hop = require('hop')
local directions = require('hop.hint').HintDirection
vim.keymap.set(
'',
2023-04-05 21:17:35 -06:00
'<leader>h',
2023-04-05 20:50:46 -06:00
function() hop.hint_char1({ direction = directions.AFTER_CURSOR }) end,
2023-04-05 21:17:35 -06:00
{ remap = true, desc = '[H]opChar1 forwards' }
2023-04-05 20:50:46 -06:00
)
vim.keymap.set(
'',
2023-04-05 21:17:35 -06:00
'<leader>H',
2023-04-05 20:50:46 -06:00
function() hop.hint_char1({ direction = directions.BEFORE_CURSOR }) end,
2023-04-05 21:17:35 -06:00
{ remap = true, desc = '[H]opChar1 backwards' }
2023-04-05 20:50:46 -06:00
)
2023-03-18 22:47:34 -06:00
-- vim: ts=2 sts=2 sw=2 et