lol huge updates
This commit is contained in:
1 parent
c9d290595f
commit
a2b0f73e33
55 files changed
+1259
-290
No files matched your search
@@ -0,0 +1,73 @@
|
||||
local fn = vim.fn
|
||||
local api = vim.api
|
||||
local ns_id = vim.api.nvim_create_namespace('md-codeblaock')
|
||||
local M = {}
|
||||
|
||||
vim.cmd([[
|
||||
hi DError guibg=#2F1D29 guifg=#EB4838
|
||||
hi DBError guibg=#2F1D29
|
||||
hi DWarn guibg=#322425 guifg=#FA9535
|
||||
hi DBWarn guibg=#322425
|
||||
]])
|
||||
|
||||
function get_hl_group_bg_color(hl_group)
|
||||
local hl_info = vim.api.nvim_get_hl_by_name(hl_group, true)
|
||||
if hl_info and hl_info.background then
|
||||
local bg_color = string.format('#%06x', hl_info.background)
|
||||
return bg_color
|
||||
else
|
||||
return nil
|
||||
end
|
||||
end
|
||||
|
||||
function hl_line(bufnr, line, hl, vtext)
|
||||
local text = string.rep(' ', fn.winwidth(fn.bufwinnr(bufnr)))
|
||||
local opts = {
|
||||
virt_text = { { ' ' .. vtext .. text, hl.vig } },
|
||||
hl_eol = true,
|
||||
virt_text_pos = 'overlay',
|
||||
}
|
||||
api.nvim_buf_add_highlight(bufnr, ns_id, hl.gui, line, 0, -1)
|
||||
pcall(api.nvim_buf_set_extmark, bufnr, ns_id, line, fn.len(fn.getline(line + 1)), opts)
|
||||
end
|
||||
|
||||
function show_diag(bufnr, level, message, lnum)
|
||||
local hl = {
|
||||
[1] = {
|
||||
gui = 'DBError',
|
||||
vig = 'DError',
|
||||
},
|
||||
[2] = {
|
||||
gui = 'DBWarn',
|
||||
vig = 'DWarn',
|
||||
},
|
||||
[3] = {
|
||||
gui = 'DBWarn',
|
||||
vig = 'DWarn',
|
||||
},
|
||||
[4] = {
|
||||
gui = 'DBWarn',
|
||||
vig = 'DWarn',
|
||||
},
|
||||
[5] = {
|
||||
gui = 'DBWarn',
|
||||
vig = 'DWarn',
|
||||
},
|
||||
}
|
||||
hl_line(bufnr, lnum, hl[level], message)
|
||||
end
|
||||
|
||||
vim.lsp.handlers['textDocument/publishDiagnostics'] = function(_, result, ctx, _)
|
||||
if not result.diagnostics then
|
||||
return
|
||||
end
|
||||
local bufnr = vim.uri_to_bufnr(result.uri)
|
||||
vim.api.nvim_buf_clear_namespace(bufnr, ns_id, 0, -1)
|
||||
for _, diagnostic in ipairs(result.diagnostics) do
|
||||
local line = diagnostic.range.start.line
|
||||
local severity = diagnostic.severity
|
||||
local message = diagnostic.message
|
||||
show_diag(bufnr, severity, message, line)
|
||||
end
|
||||
end
|
||||
return M
|
||||
+21
-11
@@ -1,5 +1,3 @@
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
-- Increment / Decrement
|
||||
vim.keymap.set('n', '+', '<C-a>')
|
||||
vim.keymap.set('n', '-', '<C-x>')
|
||||
@@ -11,8 +9,14 @@ vim.keymap.set('n', '<C-a>', 'gg<S-v>G')
|
||||
vim.keymap.set('x', '<leader>p', '"_dP')
|
||||
|
||||
-- Delete without yanking
|
||||
vim.keymap.set('n', '<leader>d', '"_d')
|
||||
vim.keymap.set('v', '<leader>d', '"_d')
|
||||
vim.keymap.set('n', '<leader>d', '"_d', { desc = 'Delete highlighted text' })
|
||||
vim.keymap.set('v', '<leader>d', '"_d', { desc = 'Delete highlighted text' })
|
||||
|
||||
-- save file
|
||||
vim.keymap.set('n', '<leader>w', ':w<CR>', { desc = 'Save file' })
|
||||
|
||||
-- save and quit
|
||||
vim.keymap.set('n', '<leader>Q', '<cmd>wq!<CR>', { desc = 'Force save and quit' })
|
||||
|
||||
-- Clear highlights on search when pressing <Esc> in normal mode
|
||||
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
|
||||
@@ -25,10 +29,14 @@ vim.keymap.set('n', '<A-Right>', '<cmd>vertical resize +2<cr>', { desc = 'Increa
|
||||
|
||||
-- Visual vim.keymap.sets
|
||||
vim.keymap.set('v', '<leader>r', '"hy:%s/<C-r>h//g<left><left>') -- Replace all instances of highlighted words
|
||||
vim.keymap.set('v', '<C-s>', ':sort<CR>') -- Sort highlighted text in visual mode with Control+S
|
||||
vim.keymap.set('v', '<A-s>', ':sort<CR>') -- Sort highlighted text in visual mode with Control+S
|
||||
vim.keymap.set('v', 'K', ":m '>-2<CR>gv=gv") -- Move current line up
|
||||
vim.keymap.set('v', 'J', ":m '>+1<CR>gv=gv") -- Move current line down
|
||||
|
||||
-- for buffers
|
||||
vim.api.nvim_set_keymap('n', '<Tab>', ':bnext<CR>', { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap('n', '<S-Tab>', ':bprev<CR>', { noremap = true, silent = true })
|
||||
|
||||
--utility vim.keymap.setpings
|
||||
vim.keymap.set('n', 'n', 'nzzzv') -- keep the cursor centered when doing 'n'
|
||||
vim.keymap.set('n', 'N', 'Nzzzv') -- keep the cursor centered when doing 'N'
|
||||
@@ -46,8 +54,8 @@ vim.keymap.set({ 'i' }, '<C-l>', '<Right>', { desc = 'Move cursor to right' })
|
||||
vim.keymap.set({ 'i' }, '<C-h>', '<Left>', { desc = 'Move cursor to right' })
|
||||
|
||||
-- Better window management
|
||||
vim.keymap.set('n', 'hs', ':split<Return>', opts)
|
||||
vim.keymap.set('n', 'vs', ':vsplit<Return>', opts)
|
||||
vim.keymap.set('n', 'vs', ':vsp<CR>', { noremap = true, silent = true })
|
||||
vim.keymap.set('n', 'hs', ':sp<CR>', { noremap = true, silent = true })
|
||||
vim.keymap.set('n', '<C-h>', '<C-w>h', { desc = 'Move to left split' })
|
||||
vim.keymap.set('n', '<C-j>', '<C-w>j', { desc = 'Move to below split' })
|
||||
vim.keymap.set('n', '<C-k>', '<C-w>k', { desc = 'Move to above split' })
|
||||
@@ -61,8 +69,13 @@ vim.keymap.set('n', '<A-Right>', '<cmd>vertical resize +2<CR>', { desc = 'Resize
|
||||
vim.keymap.set('v', '<', '<gv', { desc = '(V) Indent to left' })
|
||||
vim.keymap.set('v', '>', '>gv', { desc = '(V) Indent to right' })
|
||||
|
||||
vim.keymap.set('n', '<Leader>lo', '<cmd>lopen<CR>', { desc = 'Open location list' })
|
||||
vim.keymap.set('n', '<Leader>lc', '<cmd>lclose<CR>', { desc = 'Close location list' })
|
||||
vim.keymap.set('n', '<Leader>ln', '<cmd>lnext<CR>', { desc = 'Next location list item' })
|
||||
vim.keymap.set('n', '<Leader>lp', '<cmd>lprev<CR>', { desc = 'Previous location list item' })
|
||||
|
||||
-- insert semicolon in the end
|
||||
-- vim.keymap.set('i', '<A-;>', '<Esc>miA;<Esc>`ii', { desc = 'insert semicolon in the end' })
|
||||
vim.keymap.set('i', '<A-;>', '<Esc>miA;<Esc>`ii', { desc = 'insert semicolon in the end' })
|
||||
|
||||
-- Change text without putting it into the vim register,
|
||||
vim.keymap.set({ 'n', 'x' }, 'c', '"_c', { desc = 'Change without yanking' })
|
||||
@@ -79,6 +92,3 @@ vim.keymap.set('i', 'jj', '<ESC>')
|
||||
vim.keymap.set('t', 'jk', '<C-\\><C-n>')
|
||||
vim.keymap.set('t', 'kj', '<C-\\><C-n>')
|
||||
vim.keymap.set('t', '<ESC>', '<C-\\><C-n>')
|
||||
|
||||
-- save file
|
||||
vim.keymap.set({ 'i', 'v', 'n', 's' }, '<A-s>', '<cmd>wa<cr><esc>', { desc = 'Save all file' })
|
||||
@@ -19,7 +19,6 @@ vim.opt.rtp:prepend(lazypath)
|
||||
require('lazy').setup({
|
||||
spec = {
|
||||
{ import = 'plugins' },
|
||||
-- { import = 'plugins.themes' },
|
||||
},
|
||||
install = {
|
||||
missing = true,
|
||||
|
||||
Reference in new issue
Block a user