Compare commits
21 Commits
6401649361
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| ba5fd1c33b | |||
| ff14f16bbd | |||
| 00b5d44396 | |||
| 9a6765df45 | |||
| 280c00b272 | |||
| 31a03cac7b | |||
| f59a288d59 | |||
| 5def28d407 | |||
| 2dec8af915 | |||
| 27c50224f7 | |||
| 39967dc120 | |||
| bea244a4aa | |||
| f08562558b | |||
| bc5ddb6dc7 | |||
| f213c20d23 | |||
| 481c127583 | |||
| e0286197f8 | |||
| 6fefe27f0e | |||
| 82143dea23 | |||
| 144d2b11cf | |||
| 44199d81b4 |
1
after/ftplugin/dap-view-term.lua
Normal file
1
after/ftplugin/dap-view-term.lua
Normal file
@@ -0,0 +1 @@
|
||||
vim.o.signcolumn = 'no'
|
||||
4
init.lua
4
init.lua
@@ -1,3 +1,5 @@
|
||||
vim.loader.enable()
|
||||
|
||||
vim.g.mapleader = ' '
|
||||
vim.g.maplocalleader = ' '
|
||||
|
||||
@@ -11,7 +13,7 @@ end
|
||||
pcall(function() require('local') end)
|
||||
|
||||
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
if not vim.uv.fs_stat(lazypath) then
|
||||
vim.fn.system({ 'git', 'clone', '--filter=blob:none',
|
||||
'https://github.com/folke/lazy.nvim.git', '--branch=stable', lazypath })
|
||||
end
|
||||
|
||||
@@ -36,6 +36,7 @@ local kanagawa = {
|
||||
-- Don't lighlight TODO specially in comments
|
||||
for _, todo_group in pairs({
|
||||
'confTodo',
|
||||
'mojoTodo',
|
||||
'ps1CommentTodo',
|
||||
'pythonTodo',
|
||||
'zshTodo',
|
||||
|
||||
64
lua/plugins/debugger.lua
Normal file
64
lua/plugins/debugger.lua
Normal file
@@ -0,0 +1,64 @@
|
||||
return {
|
||||
'mfussenegger/nvim-dap',
|
||||
dependencies = {
|
||||
'igorlfs/nvim-dap-view',
|
||||
'kbenzie/mason.nvim',
|
||||
'jay-babu/mason-nvim-dap.nvim',
|
||||
'theHamsta/nvim-dap-virtual-text',
|
||||
'Jorenar/nvim-dap-disasm',
|
||||
},
|
||||
config = function()
|
||||
local dap = require('dap')
|
||||
|
||||
-- Installation
|
||||
local debug_adapters = {
|
||||
'codelldb', -- C/C++/Rust/Zig
|
||||
}
|
||||
|
||||
if vim.fn.executable('pip') == 1 then
|
||||
table.insert(debug_adapters, 'python') -- Python
|
||||
end
|
||||
|
||||
if vim.fn.executable('go') == 1 then
|
||||
table.insert(debug_adapters, 'delve') -- Go
|
||||
end
|
||||
|
||||
require("mason-nvim-dap").setup({
|
||||
ensure_installed = debug_adapters,
|
||||
handlers = {},
|
||||
})
|
||||
|
||||
-- UI plugins
|
||||
require('dap-view').setup({
|
||||
auto_toggle = true,
|
||||
})
|
||||
require('nvim-dap-virtual-text').setup({})
|
||||
require('dap-disasm').setup({
|
||||
dapview_register = true,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd({ "FileType" }, {
|
||||
pattern = {
|
||||
'dap-float',
|
||||
},
|
||||
callback = function(args)
|
||||
vim.keymap.set("n", "q", "<C-w>q", { buffer = args.buf })
|
||||
end,
|
||||
})
|
||||
|
||||
local widgets = require('dap.ui.widgets')
|
||||
|
||||
-- Mappings
|
||||
vim.keymap.set('n', '<leader>D', vim.cmd.DapViewToggle)
|
||||
vim.keymap.set('n', '<F5>', dap.continue)
|
||||
vim.keymap.set('n', '<F17>', dap.terminate) -- Shift-F5
|
||||
vim.keymap.set('n', '<F9>', dap.toggle_breakpoint)
|
||||
vim.keymap.set('n', '<F21>', vim.cmd.DapViewWatch) -- Shift-F9
|
||||
vim.keymap.set('n', '<F41>', dap.restart) -- Ctrl-Shift-F5
|
||||
vim.keymap.set('n', '<F34>', dap.run_to_cursor) -- Ctrl-F10
|
||||
vim.keymap.set('n', '<F11>', dap.step_into)
|
||||
vim.keymap.set('n', '<F23>', dap.step_out) -- Shift-F11
|
||||
vim.keymap.set('n', '<F10>', dap.step_over)
|
||||
vim.keymap.set('n', '<leader>K', widgets.hover)
|
||||
end,
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
return {
|
||||
'davidmh/mdx.nvim',
|
||||
config = true,
|
||||
dependencies = {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
},
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
return {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
branch = 'master',
|
||||
dependencies = {
|
||||
'nvim-treesitter/nvim-treesitter-textobjects',
|
||||
{ 'nvim-treesitter/nvim-treesitter-context', opts = {} },
|
||||
@@ -97,5 +98,10 @@ return {
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- Keymaps
|
||||
vim.keymap.set('n', '<leader>fm', function()
|
||||
vim.o.foldmethod = 'expr'
|
||||
end, {})
|
||||
end
|
||||
}
|
||||
|
||||
@@ -33,8 +33,18 @@ local noice = {
|
||||
|
||||
return {
|
||||
-- noice,
|
||||
{ 'echasnovski/mini.comment', opts = { options = { ignore_blank_line = true } } },
|
||||
{ 'tpope/vim-unimpaired', lazy = false },
|
||||
{
|
||||
'echasnovski/mini.comment',
|
||||
opts = {
|
||||
options = {
|
||||
ignore_blank_line = true,
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
'tpope/vim-unimpaired',
|
||||
lazy = false,
|
||||
},
|
||||
{ 'stevearc/dressing.nvim' },
|
||||
{ 'kevinhwang91/nvim-bqf' },
|
||||
}
|
||||
|
||||
@@ -25,10 +25,17 @@ vim.api.nvim_create_autocmd('BufRead', {
|
||||
|
||||
-- Start terminals in insert mode
|
||||
vim.api.nvim_create_autocmd('TermOpen', {
|
||||
group = group, pattern = 'term://*',
|
||||
callback = function()
|
||||
vim.cmd.startinsert()
|
||||
group = group,
|
||||
pattern = 'term://*',
|
||||
callback = function(args)
|
||||
-- nvim-dap/nvim-dap-view uses terminal buffers in the background which are
|
||||
-- not visible, don't start insert mode if the dap-type variable exists.
|
||||
local success, dap_type = pcall(vim.api.nvim_buf_get_var, args.buf, 'dap-type')
|
||||
if success and dap_type then
|
||||
return
|
||||
end
|
||||
vim.cmd.startinsert()
|
||||
end,
|
||||
})
|
||||
|
||||
-- Automatically press enter when the terminal process exit successfully
|
||||
|
||||
@@ -52,7 +52,7 @@ vim.api.nvim_create_user_command('Remove', function(opts)
|
||||
end
|
||||
end
|
||||
-- Actually remove the file using the selected callback.
|
||||
vim.loop.fs_unlink(path, callback)
|
||||
vim.uv.fs_unlink(path, callback)
|
||||
end, { bang = true })
|
||||
|
||||
-- :Move the file associated with the current buffer
|
||||
@@ -62,7 +62,7 @@ vim.api.nvim_create_user_command('Move', function(opts)
|
||||
if vim.fn.isdirectory(dest) ~= 0 then
|
||||
dest = vim.fn.resolve(dest .. '/' .. vim.fn.expand('%:t'))
|
||||
end
|
||||
vim.loop.fs_rename(source, dest, function(err, success)
|
||||
vim.uv.fs_rename(source, dest, function(err, success)
|
||||
if success then
|
||||
vim.schedule(function()
|
||||
vim.cmd.edit(dest)
|
||||
@@ -87,7 +87,7 @@ vim.api.nvim_create_user_command('Rename', function(opts)
|
||||
dest = vim.fn.resolve(dir .. '/' .. opts.args)
|
||||
end
|
||||
local buffer = vim.api.nvim_get_current_buf()
|
||||
vim.loop.fs_rename(source, dest, function(err, success)
|
||||
vim.uv.fs_rename(source, dest, function(err, success)
|
||||
if not success then
|
||||
error(err)
|
||||
else
|
||||
|
||||
@@ -29,7 +29,7 @@ vim.keymap.set('', '<leader>p', '"+p', opts)
|
||||
vim.keymap.set('', '<leader>P', '"+P', opts)
|
||||
|
||||
-- Undo neovim's default mapping of Y to y$
|
||||
vim.cmd.unmap('Y')
|
||||
vim.keymap.del('n', 'Y')
|
||||
|
||||
-- Make nvim :terminal more like vim :terminal
|
||||
vim.keymap.set('t', '<C-w>N', '<C-\\><C-n>', opts)
|
||||
@@ -50,3 +50,10 @@ vim.keymap.set('v', '<leader>rg', ":'<,'>Rg<CR>", opts)
|
||||
|
||||
-- Mapping to toggle checkboxes
|
||||
vim.keymap.set('n', '<leader><CR>', ':CheckboxToggle<CR>', opts)
|
||||
|
||||
-- Format whole file using internal algorithm
|
||||
vim.keymap.set('n', '<leader>gw', function()
|
||||
local view = vim.fn.winsaveview()
|
||||
vim.cmd('normal! gggwG')
|
||||
vim.fn.winrestview(view)
|
||||
end, { desc = 'Format whole file with gw' })
|
||||
|
||||
@@ -78,7 +78,7 @@ vim.opt.splitbelow = true
|
||||
vim.opt.splitright = true
|
||||
|
||||
-- Use existing windows and tabs when jumping to errors
|
||||
vim.opt.switchbuf = 'usetab'
|
||||
vim.opt.switchbuf = 'usetab,uselast'
|
||||
|
||||
-- Automatically write changes to files
|
||||
vim.opt.autowrite = true
|
||||
@@ -91,7 +91,7 @@ vim.opt.foldlevel = 20
|
||||
vim.opt.foldmethod = 'expr'
|
||||
vim.opt.foldexpr = 'nvim_treesitter#foldexpr()'
|
||||
vim.opt.foldtext = ''
|
||||
vim.opt.fillchars = 'fold: '
|
||||
vim.opt.fillchars = { fold = ' ' }
|
||||
|
||||
-- Enable all mouse features
|
||||
vim.opt.mouse = 'a'
|
||||
|
||||
Reference in New Issue
Block a user