Skip to content

Commit c721d67

Browse files
author
Wil Simpson
committed
feat: flutter debugging and git diff
1 parent 4b7c1bb commit c721d67

File tree

2 files changed

+58
-2
lines changed

2 files changed

+58
-2
lines changed

init.lua

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,6 @@ vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' }
7676
-- See `:help hlsearch`
7777
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
7878

79-
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
80-
8179
vim.api.nvim_create_autocmd('TextYankPost', {
8280
desc = 'Highlight when yanking (copying) text',
8381
group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }),
@@ -565,6 +563,9 @@ require('lazy').setup({
565563
},
566564
},
567565
gopls = {},
566+
dart = {
567+
force = true,
568+
},
568569
-- solargraph = {},
569570
-- ruby_lsp = {},
570571
sqlls = {},
@@ -959,3 +960,49 @@ vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float)
959960

960961
-- The line beneath this is called `modeline`. See `:help modeline`
961962
-- vim: ts=2 sts=2 sw=2 et
963+
--
964+
965+
-- Enable exrc, which will load a local .nvim.lua if it exists in the pwd
966+
vim.opt.exrc = true
967+
968+
-- Quickfix
969+
vim.keymap.set('n', '<leader>qn', ':cnext<CR>', { desc = 'Next quickfix item' })
970+
vim.keymap.set('n', '<leader>qp', ':cprev<CR>', { desc = 'Previous quickfix item' })
971+
972+
-- Git diff base tracking
973+
vim.keymap.set('n', '<leader>qgc', function()
974+
vim.g.last_git_diff_mode = ''
975+
vim.cmd 'Git difftool'
976+
end, { desc = '[Q]uickfix [G]itdiff [C]reate' })
977+
978+
vim.keymap.set('n', '<leader>qgh', function()
979+
vim.g.last_git_diff_mode = 'HEAD~1'
980+
vim.cmd 'Git difftool HEAD~1'
981+
end, { desc = '[Q]uickfix [G]itdiff [H]EAD~1' })
982+
983+
-- Smart quickfix Gitdiff next/prev
984+
vim.keymap.set('n', '<leader>qgv', function()
985+
local buffers = vim.api.nvim_list_bufs()
986+
local deleted_count = 0
987+
988+
for _, buf in ipairs(buffers) do
989+
if vim.api.nvim_buf_is_loaded(buf) then
990+
local name = vim.api.nvim_buf_get_name(buf)
991+
if name:match '^fugitive://' then
992+
vim.api.nvim_buf_delete(buf, { force = true })
993+
deleted_count = deleted_count + 1
994+
end
995+
end
996+
end
997+
998+
if deleted_count > 0 then
999+
vim.notify('Closed ' .. deleted_count .. ' Gdiffsplit buffer(s)', vim.log.levels.INFO)
1000+
else
1001+
vim.notify('Opening new GDiffsplit', vim.log.levels.INFO)
1002+
end
1003+
1004+
vim.cmd('Gdiffsplit ' .. vim.g.last_git_diff_mode)
1005+
end, { desc = '[Q]uickfix [G]itdiff [V]iew (context-aware)' })
1006+
1007+
-- Quickfix with diagnostics
1008+
vim.keymap.set('n', '<leader>qd', vim.diagnostic.setloclist, { desc = 'Open [Q]uickfix [D]iagnostic list' })

lua/custom/plugins/flutter.lua

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
return {
2+
'nvim-flutter/flutter-tools.nvim',
3+
lazy = false,
4+
dependencies = {
5+
'nvim-lua/plenary.nvim',
6+
'stevearc/dressing.nvim', -- optional for vim.ui.select
7+
},
8+
config = true,
9+
}

0 commit comments

Comments
 (0)