feat: refactoring
This commit is contained in:
@@ -114,4 +114,82 @@ keymap.set("n", "gco", "<cmd>lua require('Comment.api').insert_below()<cr>", { d
|
||||
keymap.set("n", "gcO", "<cmd>lua require('Comment.api').insert_above()<cr>", { desc = "Insert comment above" })
|
||||
keymap.set("n", "gcA", "<cmd>lua require('Comment.api').insert_eol()<cr>", { desc = "Insert comment at end of line" })
|
||||
keymap.set("n", "gb", "<cmd>lua require('Comment.api').toggle_current_blockwise()<cr>", { desc = "Toggle block comment" })
|
||||
keymap.set("n", "gbc", "<cmd>lua require('Comment.api').toggle_current_blockwise()<cr>", { desc = "Toggle current block comment" })
|
||||
keymap.set("n", "gbc", "<cmd>lua require('Comment.api').toggle_current_blockwise()<cr>", { desc = "Toggle current block comment" })
|
||||
|
||||
-- =============================================================================
|
||||
-- DATABASE KEYMAPS (Temporarily disabled to prevent conflicts)
|
||||
-- =============================================================================
|
||||
|
||||
-- -- Dadbod UI
|
||||
-- keymap.set("n", "<leader>du", "<cmd>DBUI<CR>", { desc = "Open Database UI" })
|
||||
-- keymap.set("n", "<leader>dul", "<cmd>DBUILastQueryInfo<CR>", { desc = "Show last query info" })
|
||||
-- keymap.set("n", "<leader>duf", "<cmd>DBUIFindBuffer<CR>", { desc = "Find database buffer" })
|
||||
|
||||
-- -- Database connections
|
||||
-- keymap.set("n", "<leader>dua", "<cmd>DBUIAddConnection<CR>", { desc = "Add database connection" })
|
||||
-- keymap.set("n", "<leader>dur", "<cmd>DBUIRenameBuffer<CR>", { desc = "Rename database buffer" })
|
||||
-- keymap.set("n", "<leader>dud", "<cmd>DBUIRefresh<CR>", { desc = "Refresh database" })
|
||||
|
||||
-- -- Database queries
|
||||
-- keymap.set("n", "<leader>due", "<cmd>DBExecute<CR>", { desc = "Execute SQL query" })
|
||||
-- keymap.set("n", "<leader>dus", "<cmd>DBSelect<CR>", { desc = "Select SQL query" })
|
||||
-- keymap.set("n", "<leader>dui", "<cmd>DBInsert<CR>", { desc = "Insert SQL query" })
|
||||
-- keymap.set("n", "<leader>duu", "<cmd>DBUpdate<CR>", { desc = "Update SQL query" })
|
||||
-- keymap.set("n", "<leader>dudel", "<cmd>DBDelete<CR>", { desc = "Delete SQL query" })
|
||||
|
||||
-- -- Database table operations
|
||||
-- keymap.set("n", "<leader>dut", "<cmd>DBUITableCreate<CR>", { desc = "Create table" })
|
||||
-- keymap.set("n", "<leader>duti", "<cmd>DBUITableIndex<CR>", { desc = "Show table indexes" })
|
||||
-- keymap.set("n", "<leader>dutc", "<cmd>DBUITableCount<CR>", { desc = "Count table rows" })
|
||||
-- keymap.set("n", "<leader>dutx", "<cmd>DBUITableExplain<CR>", { desc = "Explain table query" })
|
||||
-- keymap.set("n", "<leader>dutz", "<cmd>DBUITableSize<CR>", { desc = "Show table size" })
|
||||
|
||||
-- -- SQL formatting
|
||||
-- keymap.set("n", "<leader>duf", "<cmd>SQLFormat<CR>", { desc = "Format SQL query" })
|
||||
|
||||
-- -- Database utilities
|
||||
-- keymap.set("n", "<leader>duh", "<cmd>DBUIHideNotifications<CR>", { desc = "Hide database notifications" })
|
||||
-- keymap.set("n", "<leader>dus", "<cmd>DBUISaveBuffer<CR>", { desc = "Save database buffer" })
|
||||
-- keymap.set("n", "<leader>dul", "<cmd>DBUILoadBuffer<CR>", { desc = "Load database buffer" })
|
||||
|
||||
-- Redis specific
|
||||
keymap.set("n", "<leader>rds", "<cmd>Redis<CR>", { desc = "Open Redis" })
|
||||
keymap.set("n", "<leader>rdk", "<cmd>RedisKeys<CR>", { desc = "Show Redis keys" })
|
||||
keymap.set("n", "<leader>rdi", "<cmd>RedisInfo<CR>", { desc = "Show Redis info" })
|
||||
|
||||
-- MongoDB specific
|
||||
keymap.set("n", "<leader>mdb", "<cmd>MongoDB<CR>", { desc = "Open MongoDB" })
|
||||
keymap.set("n", "<leader>mdc", "<cmd>MongoDBConnect<CR>", { desc = "Connect to MongoDB" })
|
||||
keymap.set("n", "<leader>mdd", "<cmd>MongoDBDisconnect<CR>", { desc = "Disconnect from MongoDB" })
|
||||
|
||||
-- =============================================================================
|
||||
-- NATIVE AUTO WRAPPER KEYMAPS
|
||||
-- =============================================================================
|
||||
|
||||
-- Text wrapping controls
|
||||
keymap.set("n", "<leader>tw", "<cmd>set wrap!<cr>", { desc = "Toggle line wrapping" })
|
||||
keymap.set("n", "<leader>tl", "<cmd>set linebreak!<cr>", { desc = "Toggle line break" })
|
||||
keymap.set("n", "<leader>tc", "<cmd>set colorcolumn=80<cr>", { desc = "Show 80 char column" })
|
||||
keymap.set("n", "<leader>tC", "<cmd>set colorcolumn=<cr>", { desc = "Hide column guide" })
|
||||
|
||||
-- Format text using native Neovim commands
|
||||
keymap.set("n", "<leader>tf", "gqap", { desc = "Format paragraph" })
|
||||
keymap.set("v", "<leader>tf", "gq", { desc = "Format selection" })
|
||||
keymap.set("n", "<leader>tF", "gggqG", { desc = "Format entire file" })
|
||||
|
||||
-- Text width adjustments
|
||||
keymap.set("n", "<leader>t80", "<cmd>set textwidth=80<cr>", { desc = "Set text width to 80" })
|
||||
keymap.set("n", "<leader>t100", "<cmd>set textwidth=100<cr>", { desc = "Set text width to 100" })
|
||||
keymap.set("n", "<leader>t120", "<cmd>set textwidth=120<cr>", { desc = "Set text width to 120" })
|
||||
keymap.set("n", "<leader>t0", "<cmd>set textwidth=0<cr>", { desc = "Disable text width" })
|
||||
|
||||
-- Auto-wrap controls
|
||||
keymap.set("n", "<leader>ta", "<cmd>set formatoptions+=t<cr>", { desc = "Enable auto-wrap text" })
|
||||
keymap.set("n", "<leader>tA", "<cmd>set formatoptions-=t<cr>", { desc = "Disable auto-wrap text" })
|
||||
keymap.set("n", "<leader>tc", "<cmd>set formatoptions+=c<cr>", { desc = "Enable auto-wrap comments" })
|
||||
keymap.set("n", "<leader>tC", "<cmd>set formatoptions-=c<cr>", { desc = "Disable auto-wrap comments" })
|
||||
|
||||
-- Indent and wrap
|
||||
keymap.set("n", "<leader>ti", "<cmd>set breakindent!<cr>", { desc = "Toggle break indent" })
|
||||
keymap.set("n", "<leader>ts", "<cmd>set showbreak=↪ <cr>", { desc = "Show break indicator" })
|
||||
keymap.set("n", "<leader>tS", "<cmd>set showbreak=<cr>", { desc = "Hide break indicator" })
|
||||
@@ -22,7 +22,7 @@ keymap.set("n", "<leader>fC", "<cmd>Telescope commands<cr>", { desc = "Find comm
|
||||
keymap.set("n", "<leader>fg", "<cmd>Telescope git_commits<cr>", { desc = "Git commits" })
|
||||
keymap.set("n", "<leader>fG", "<cmd>Telescope git_bcommits<cr>", { desc = "Git buffer commits" })
|
||||
keymap.set("n", "<leader>fb", "<cmd>Telescope git_branches<cr>", { desc = "Git branches" })
|
||||
keymap.set("n", "<leader>fs", "<cmd>Telescope git_status<cr>", { desc = "Git status" })
|
||||
keymap.set("n", "<leader>gs", "<cmd>Telescope git_status<cr>", { desc = "Git status" })
|
||||
|
||||
-- Todos
|
||||
keymap.set("n", "<leader>ft", "<cmd>TodoTelescope<cr>", { desc = "Find todos" })
|
||||
keymap.set("n", "<leader>ft", "<cmd>TodoTelescope<cr>", { desc = "Find todos" })
|
||||
|
||||
@@ -42,8 +42,34 @@ opt.relativenumber = true -- Show relative line numbers
|
||||
opt.cursorline = true -- Highlight current line
|
||||
opt.cursorcolumn = false -- Don't highlight current column
|
||||
opt.signcolumn = "yes" -- Always show sign column
|
||||
opt.wrap = false -- Don't wrap lines
|
||||
|
||||
-- =============================================================================
|
||||
-- NATIVE AUTO WRAPPER CONFIGURATION
|
||||
-- =============================================================================
|
||||
|
||||
-- Text wrapping settings
|
||||
opt.wrap = true -- Enable line wrapping
|
||||
opt.linebreak = true -- Break lines at word boundaries
|
||||
opt.breakindent = true -- Preserve indentation in wrapped lines
|
||||
opt.showbreak = "↪ " -- Show break indicator
|
||||
opt.breakindentopt = "shift:2" -- Indent wrapped lines by 2 spaces
|
||||
|
||||
-- Text width and formatting
|
||||
opt.textwidth = 80 -- Set text width for auto-wrapping
|
||||
opt.colorcolumn = "80" -- Show column at 80 characters
|
||||
opt.formatoptions = "jcroqlnt" -- Format options for auto-wrapping
|
||||
|
||||
-- Auto-wrap specific settings
|
||||
opt.formatoptions:append("t") -- Auto-wrap text using textwidth
|
||||
opt.formatoptions:append("c") -- Auto-wrap comments using textwidth
|
||||
opt.formatoptions:append("r") -- Auto-wrap comments when pressing Enter
|
||||
opt.formatoptions:append("o") -- Auto-wrap comments when pressing 'o' or 'O'
|
||||
opt.formatoptions:append("q") -- Allow formatting of comments with 'gq'
|
||||
opt.formatoptions:append("l") -- Long lines are not broken in insert mode
|
||||
opt.formatoptions:append("n") -- Recognize numbered lists
|
||||
opt.formatoptions:append("j") -- Remove comment leader when joining lines
|
||||
|
||||
-- Scroll settings for wrapped text
|
||||
opt.scrolloff = 8 -- Keep 8 lines above/below cursor
|
||||
opt.sidescrolloff = 8 -- Keep 8 columns left/right of cursor
|
||||
opt.showmatch = true -- Show matching brackets
|
||||
@@ -141,3 +167,50 @@ local disabled_built_ins = {
|
||||
for _, plugin in pairs(disabled_built_ins) do
|
||||
g["loaded_" .. plugin] = 1
|
||||
end
|
||||
|
||||
-- =============================================================================
|
||||
-- AUTO WRAPPER AUTOCMDS
|
||||
-- =============================================================================
|
||||
|
||||
-- Set up auto-wrapping for different file types
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = { "text", "markdown", "gitcommit", "mail" },
|
||||
callback = function()
|
||||
vim.opt_local.textwidth = 80
|
||||
vim.opt_local.wrap = true
|
||||
vim.opt_local.linebreak = true
|
||||
vim.opt_local.formatoptions:append("t") -- Auto-wrap text
|
||||
end,
|
||||
})
|
||||
|
||||
-- Set up auto-wrapping for code files
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = { "lua", "javascript", "typescript", "python", "java", "cpp", "c", "rust", "go" },
|
||||
callback = function()
|
||||
vim.opt_local.textwidth = 100 -- Longer lines for code
|
||||
vim.opt_local.formatoptions:append("c") -- Auto-wrap comments
|
||||
vim.opt_local.formatoptions:append("r") -- Auto-wrap comments with leader
|
||||
vim.opt_local.formatoptions:append("o") -- Auto-wrap comments with 'o'
|
||||
vim.opt_local.formatoptions:append("q") -- Allow formatting of comments with 'gq'
|
||||
end,
|
||||
})
|
||||
|
||||
-- Set up auto-wrapping for documentation files
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = { "help", "man" },
|
||||
callback = function()
|
||||
vim.opt_local.textwidth = 78
|
||||
vim.opt_local.wrap = true
|
||||
vim.opt_local.linebreak = true
|
||||
vim.opt_local.formatoptions:append("t") -- Auto-wrap text
|
||||
end,
|
||||
})
|
||||
|
||||
-- Set up auto-wrapping for configuration files
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = { "conf", "config", "ini", "toml", "yaml", "json" },
|
||||
callback = function()
|
||||
vim.opt_local.textwidth = 80
|
||||
vim.opt_local.formatoptions:append("c") -- Auto-wrap comments
|
||||
end,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user