1
0
forked from aniani/vim

runtime(termdebug): add Tbreak command

closes: #13656

Signed-off-by: iam28th <artyom28th@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
iam28th
2023-12-14 20:30:26 +01:00
committed by Christian Brabandt
parent 74da0ee0a2
commit 323dda1484
4 changed files with 95 additions and 8 deletions

View File

@@ -953,6 +953,7 @@ func s:InstallCommands()
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 @@ endfunc
" 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 @@ func s:Until(at)
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 @@ func s:SetBreakpoint(at)
" 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