commit 69802e74e338d860d669ebd9561f96fcb8dfa9fd
parent 69cec7206fa217940b7c6e8a55d9a139eae59efe
Author: Tomas Nemec <nemi@skaut.cz>
Date: Wed, 23 Nov 2022 15:08:53 +0100
update
Diffstat:
5 files changed, 98 insertions(+), 40 deletions(-)
diff --git a/after/plugin/dap.lua b/after/plugin/dap.lua
@@ -2,57 +2,75 @@ if not pcall(require, 'dap') then
return
end
-vim.keymap.set('n', '<leader>dc', function()
- require'dap'.continue()
-end, { silent = true, desc = 'DAP Continue' })
-vim.keymap.set('n', '<leader>do', function()
- require'dap'.step_over()
-end, { silent = true, desc = 'DAP Step Over' })
-vim.keymap.set('n', '<leader>di', function()
- require'dap'.step_into()
-end, { silent = true, desc = 'DAP Step Into' })
-vim.keymap.set('n', '<leader>dt', function()
- require'dap'.step_out()
-end, { silent = true, desc = 'DAP Step Out' })
-vim.keymap.set('n', '<leader>db', function()
- require'dap'.toggle_breakpoint()
-end, { silent = true, desc = 'DAP Toggle Breakpoint' })
-vim.keymap.set('n', '<leader>dC', function()
- require'dap'.clear_breakpoints()
-end, { silent = true, desc = 'DAP Clear Breakpoint' })
+local dap = require('dap')
+local repl = require('dap.repl')
+-- dap.set_log_level('TRACE')
+repl.commands = vim.tbl_extend('force', repl.commands, { custom_commands = { ['.r'] = dap.restart } })
+
+vim.keymap.set('n', '<leader>dc', require 'dap'.continue, { silent = true, desc = 'DAP Continue' })
+vim.keymap.set('n', '<leader>dx', require 'dap'.terminate, { silent = true, desc = 'DAP Terminate' })
+vim.keymap.set('n', '<leader>do', require 'dap'.step_over, { silent = true, desc = 'DAP Step Over' })
+vim.keymap.set('n', '<leader>di', require 'dap'.step_into, { silent = true, desc = 'DAP Step Into' })
+vim.keymap.set('n', '<leader>dt', require 'dap'.step_out, { silent = true, desc = 'DAP Step Out' })
+vim.keymap.set('n', '<leader>dR', require 'dap'.restart, { silent = true, desc = 'DAP Restart' })
+vim.keymap.set('n', '<leader>db', require 'dap'.toggle_breakpoint, { silent = true, desc = 'DAP Toggle Breakpoint' })
+vim.keymap.set('n', '<leader>dC', require 'dap'.clear_breakpoints, { silent = true, desc = 'DAP Clear Breakpoint' })
+-- vim.keymap.set('n', '<leader>dr', require'dap'.repl.open, { silent = true, desc = 'DAP Open Repl' })
+vim.keymap.set('n', '<leader>dl', require 'dap'.run_last, { silent = true, desc = 'DAP Run Last' })
vim.keymap.set('n', '<Leader>dB', function()
- require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: '))
+ require 'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: '))
end, { silent = true, desc = 'DAP Set Breakpoint' })
vim.keymap.set('n', '<leader>dL', function()
- require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message: '))
+ require 'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message: '))
end, { silent = true, desc = 'DAP Set Log Point' })
-vim.keymap.set('n', '<leader>dr', function()
- require'dap'.repl.open()
-end, { silent = true, desc = 'DAP Open Repl' })
-vim.keymap.set('n', '<leader>dl', function()
- require'dap'.run_last()
-end, { silent = true, desc = 'DAP Run Last' })
-
-local dap = require('dap')
--- dap.set_log_level('TRACE')
-dap.repl.commands = vim.tbl_extend('force', dap.repl.commands, { custom_commands = { ['.restart'] = dap.restart } })
-- DAP UI
local has_dapui, dapui = pcall(require, 'dapui')
if has_dapui then
- dapui.setup()
+
+ dapui.setup({
+
+ layouts = {
+ {
+ elements = {
+ -- Elements can be strings or table with id and size keys.
+ { id = 'scopes', size = 0.25 },
+ 'breakpoints',
+ 'stacks',
+ 'watches',
+ },
+ size = 40, -- 40 columns
+ position = 'left',
+ },
+ {
+ elements = { 'repl' },
+ size = 0.25, -- 25% of total lines
+ position = 'bottom',
+ },
+ },
+ })
+
dap.listeners.after.event_initialized['dapui_config'] = function()
- dapui.open()
- end
- dap.listeners.before.event_terminated['dapui_config'] = function()
- dapui.close()
- end
- dap.listeners.before.event_exited['dapui_config'] = function()
- dapui.close()
+ dapui.open({ layout = 2 })
end
+ -- dap.listeners.before.event_terminated['dapui_config'] = function()
+ -- dapui.close()
+ -- end
+ -- dap.listeners.before.event_exited['dapui_config'] = function()
+ -- dapui.close()
+ -- end
+
vim.keymap.set('n', '<leader>du', function()
- dapui.toggle()
- end, { silent = true, desc = 'DAP UI Toggle' })
+ dapui.close()
+ end, { silent = true, desc = 'DAP UI Close' })
+
+ vim.keymap.set('n', '<leader>dr', function()
+ dapui.toggle({ layout = 2 })
+ end, { silent = true, desc = 'DAP UI Toggle Repl' })
+
+ vim.keymap.set('n', '<leader>ds', function()
+ dapui.toggle({ layout = 1 })
+ end, { silent = true, desc = 'DAP UI Toggle Sidebar' })
end
-- Virtual Text
diff --git a/after/plugin/nvim-terminal.lua b/after/plugin/nvim-terminal.lua
@@ -0,0 +1,6 @@
+if not pcall(require, 'terminal') then
+ return
+end
+
+local terminal = require('terminal')
+terminal.setup()
diff --git a/ftplugin/dap-repl.lua b/ftplugin/dap-repl.lua
@@ -0,0 +1,10 @@
+if not pcall(require, 'terminal') then
+ return
+end
+
+local terminal = require('terminal')
+local rgb_color_table = terminal.initialize_terminal_colors()
+vim.api.nvim_win_set_option(0, 'conceallevel', 2)
+vim.api.nvim_win_set_option(0, 'concealcursor', 'nc')
+vim.api.nvim_win_set_option(0, 'wrap', false)
+terminal.attach_to_buffer(vim.api.nvim_get_current_buf(), rgb_color_table)
diff --git a/lua/plugins.lua b/lua/plugins.lua
@@ -45,6 +45,7 @@ return packer.startup({
-- use { 'kevinhwang91/nvim-ufo', requires = { 'kevinhwang91/promise-async' } }
use 'milisims/foldhue.nvim'
use 'elihunter173/dirbuf.nvim'
+ use 'norcalli/nvim-terminal.lua'
-- lua
use 'nanotee/luv-vimdocs'
diff --git a/syntax/dap-repl.vim b/syntax/dap-repl.vim
@@ -0,0 +1,23 @@
+" Start: Standard vim script cruft {{{2
+let s:cpo_save = &cpo
+set cpo&vim
+
+scriptencoding utf8
+if version < 600
+ syn clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+" I've been debating whether or not to enumerate the possibilities or just hide
+" them all with ^[\[[0-9:;]*m, because it might overshadow cases I don't cover,
+" but I think that concealing anyway is a good idea.
+syn match TerminalCSIColorCode /\[[:;0-9]*m/ conceal
+
+" Set the syntax variable
+let b:current_syntax="terminal"
+
+" End: Standard vim script cruft {{{2
+let &cpo = s:cpo_save
+unlet s:cpo_save
+