runtime(termdebug): add Tbreak command
closes: #13656
Signed-off-by: iam28th <artyom28th@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/doc/tags b/runtime/doc/tags
index fdda06b..964789c 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2159,6 +2159,7 @@
:Stop terminal.txt /*:Stop*
:TOhtml syntax.txt /*:TOhtml*
:TarDiff pi_tar.txt /*:TarDiff*
+:Tbreak terminal.txt /*:Tbreak*
:Termdebug terminal.txt /*:Termdebug*
:TermdebugCommand terminal.txt /*:TermdebugCommand*
:Texplore pi_netrw.txt /*:Texplore*
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index 3869bcd..5647ff4 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -1331,6 +1331,9 @@
*:Break* set a breakpoint at the cursor position
:Break {position}
set a breakpoint at the specified position
+ *:Tbreak* set a temporary breakpoint at the cursor position
+ :Tbreak {position}
+ set a temporary breakpoint at the specified position
*:Clear* delete the breakpoint at the cursor position
*:Step* execute the gdb "step" command
diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
index e764c23..1dce91b 100644
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -953,6 +953,7 @@
set cpo&vim
command -nargs=? Break call s:SetBreakpoint(<q-args>)
+ command -nargs=? Tbreak call s:SetBreakpoint(<q-args>, v:true)
command Clear call s:ClearBreakpoint()
command Step call s:SendResumingCommand('-exec-step')
command Over call s:SendResumingCommand('-exec-next')
@@ -1067,6 +1068,7 @@
" Delete installed debugger commands in the current window.
func s:DeleteCommands()
delcommand Break
+ delcommand Tbreak
delcommand Clear
delcommand Step
delcommand Over
@@ -1167,7 +1169,7 @@
endfunc
" :Break - Set a breakpoint at the cursor position.
-func s:SetBreakpoint(at)
+func s:SetBreakpoint(at, tbreak=v:false)
" Setting a breakpoint may not work while the program is running.
" Interrupt to make it work.
let do_continue = 0
@@ -1180,7 +1182,12 @@
" Use the fname:lnum format, older gdb can't handle --source.
let at = empty(a:at) ?
\ fnameescape(expand('%:p')) . ':' . line('.') : a:at
- call s:SendCommand('-break-insert ' . at)
+ if a:tbreak
+ let cmd = '-break-insert -t ' . at
+ else
+ let cmd = '-break-insert ' . at
+ endif
+ call s:SendCommand(cmd)
if do_continue
Continue
endif