summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid T. Sadler <davidtsadler@googlemail.com>2026-02-28 12:23:06 +0000
committerDavid T. Sadler <davidtsadler@googlemail.com>2026-02-28 12:23:06 +0000
commit2ad7233f3814adcdeb030d58d0646cc3b48504a0 (patch)
tree2ebec7046c2bbf6ec49d88334c3021516b2dbed2
parente9e903775f300cbda97cbe4196017a4dde01079f (diff)
Trigger file formatting in Neovim via keyboard shortcut instead of on save
-rw-r--r--nvim/.config/nvim/lua/config/keymaps.lua21
-rw-r--r--nvim/.config/nvim/lua/plugins/conform.lua6
2 files changed, 15 insertions, 12 deletions
diff --git a/nvim/.config/nvim/lua/config/keymaps.lua b/nvim/.config/nvim/lua/config/keymaps.lua
index c00e105..8883425 100644
--- a/nvim/.config/nvim/lua/config/keymaps.lua
+++ b/nvim/.config/nvim/lua/config/keymaps.lua
@@ -96,7 +96,10 @@ set('n', '[w', diagnostic_goto(false, 'WARN'), { desc = 'Prev Warning' })
-- Highlights under cursor.
set('n', '<leader>ui', vim.show_pos, { desc = 'Inspect Pos' })
-set('n', '<leader>uI', function() vim.treesitter.inspect_tree() vim.api.nvim_input('I') end, { desc = 'Inspect Tree' })
+set('n', '<leader>uI', function()
+ vim.treesitter.inspect_tree()
+ vim.api.nvim_input('I')
+end, { desc = 'Inspect Tree' })
-- Floating terminal.
set('n', '<leader>fT', function() Snacks.terminal() end, { desc = 'Terminal (cwd)' })
@@ -128,8 +131,8 @@ set('n', 'gy', vim.lsp.buf.type_definition, { desc = 'Goto T[y]pe Definition' })
set('n', 'gD', vim.lsp.buf.declaration, { desc = 'Goto Declaration' })
set('n', 'H', function() return vim.lsp.buf.hover() end, { desc = 'Hover' })
set('n', 'gH', function() return vim.lsp.buf.signature_help() end, { desc = 'Signature Help' })
-set({'n', 'x'}, '<leader>ca', vim.lsp.buf.code_action, { desc = 'Code Action' })
-set({'n', 'x'}, '<leader>cc', vim.lsp.codelens.run, { desc = 'Run Codelens' })
+set({ 'n', 'x' }, '<leader>ca', vim.lsp.buf.code_action, { desc = 'Code Action' })
+set({ 'n', 'x' }, '<leader>cc', vim.lsp.codelens.run, { desc = 'Run Codelens' })
set('n', '<leader>cR', function() Snacks.rename.rename_file() end, { desc = 'Rename File' })
set('n', '<leader>cr', vim.lsp.buf.rename, { desc = 'Rename' })
@@ -155,15 +158,16 @@ set('n', '<leader>,', function() Snacks.picker.buffers() end, { desc = 'Buffers'
set('n', '<leader>fb', function() Snacks.picker.buffers() end, { desc = 'Buffers' })
---- Grep
set('n', '<leader>/', function() Snacks.picker.grep(getSmartOpts()) end, { desc = 'Grep (Root Dir)' })
-set('n', '<leader>sg', function() Snacks.picker.grep(getSmartOpts({ live = true} )) end, { desc = 'Grep (Root Dir)' })
-set('n', '<leader>sG', function() Snacks.picker.grep(getSmartOpts({ live = true, root = false })) end, { desc = 'Grep (CWD)' })
+set('n', '<leader>sg', function() Snacks.picker.grep(getSmartOpts({ live = true })) end, { desc = 'Grep (Root Dir)' })
+set('n', '<leader>sG', function() Snacks.picker.grep(getSmartOpts({ live = true, root = false })) end,
+ { desc = 'Grep (CWD)' })
set('n', '<leader>sb', function() Snacks.picker.lines() end, { desc = 'Buffer Lines' })
set('n', '<leader>sB', function() Snacks.picker.grep_buffers() end, { desc = 'Grep Open Buffers' })
set('n', '<leader>:', function() Snacks.picker.command_history() end, { desc = 'Command History' })
-set({'n', 'x'}, '<leader>sw', function()
+set({ 'n', 'x' }, '<leader>sw', function()
Snacks.picker.grep_word(getSmartOpts())
end, { desc = 'Visual selection or word (Root Dir)' })
-set({'n', 'x'}, '<leader>sW', function()
+set({ 'n', 'x' }, '<leader>sW', function()
local opts = getSmartOpts()
opts.root = false
Snacks.picker.grep_word(opts)
@@ -181,3 +185,6 @@ set('n', '<leader>sk', function() Snacks.picker.keymaps() end, { desc = 'Keymaps
set('n', '<leader>sm', function() Snacks.picker.marks() end, { desc = 'Marks' })
set('n', '<leader>sR', function() Snacks.picker.resume() end, { desc = 'Resume' })
set('n', '<leader>sq', function() Snacks.picker.qflist() end, { desc = 'Quickfix List' })
+
+-- Language Formatting and Linting.
+set('n', '<leader>lf', function() require("conform").format({ bufnr = 0 }) end, { desc = 'Format File' })
diff --git a/nvim/.config/nvim/lua/plugins/conform.lua b/nvim/.config/nvim/lua/plugins/conform.lua
index 3bb8b27..094ad8b 100644
--- a/nvim/.config/nvim/lua/plugins/conform.lua
+++ b/nvim/.config/nvim/lua/plugins/conform.lua
@@ -1,4 +1,4 @@
-vim.pack.add({'https://github.com/stevearc/conform.nvim'})
+vim.pack.add({ 'https://github.com/stevearc/conform.nvim' })
require("conform").setup({
formatters_by_ft = {
@@ -9,8 +9,4 @@ require("conform").setup({
command = "php-cs-fixer",
},
},
- format_on_save = {
- timeout_ms = 500,
- lsp_format = "fallback",
- },
})