From e7d9ca2b3bf99b0b759be8952e02c77110a354c1 Mon Sep 17 00:00:00 2001 From: skywind3000 Date: Wed, 28 Jun 2023 23:27:28 +0100 Subject: [PATCH] patch 9.0.1671: Termdebug: error with more than 99 breakpoints Problem: Termdebug: error with more than 99 breakpoints. Solution: Use a different sign for breakpoint 100 and over. (closes #12589, closes #12588) --- runtime/doc/terminal.txt | 16 +++++++++++++++- .../pack/dist/opt/termdebug/plugin/termdebug.vim | 14 ++++++++++++-- src/version.c | 2 ++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt index 7a82fcf185..f03570497d 100644 --- a/runtime/doc/terminal.txt +++ b/runtime/doc/terminal.txt @@ -1,4 +1,4 @@ -*terminal.txt* For Vim version 9.0. Last change: 2023 Jun 09 +*terminal.txt* For Vim version 9.0. Last change: 2023 Jun 28 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1541,6 +1541,20 @@ If there is no g:termdebug_config you can use: > let g:termdebug_popup = 0 +Change default signs ~ + *termdebug_signs* +Termdebug uses the last two characters of the breakpoint ID in the +signcolumn to represent breakpoints. For example, breakpoint ID 133 +will be displayed as `33`. + +If you want to customize the breakpoint signs: > + let g:termdebug_config['sign'] = '>>' +If there is no g:terminal_config yet you can use: > + let g:termdebug_config = {'sign': '>>'} + +After this, breakpoints will be displayed as `>>` in the signcolumn. + + Window toolbar ~ *termdebug_winbar* By default the Termdebug plugin creates a window toolbar if the mouse is diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim index b4dccc5503..d053851024 100644 --- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim +++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim @@ -1401,9 +1401,19 @@ func s:CreateBreakpoint(id, subid, enabled) else let hiName = "debugBreakpoint" endif + let label = '' + if exists('g:termdebug_config') + let label = get(g:termdebug_config, 'sign', '') + endif + if label == '' + let label = substitute(nr, '\..*', '', '') + if strlen(label) > 2 + let label = strpart(label, strlen(label) - 2) + endif + endif call sign_define('debugBreakpoint' .. nr, - \ #{text: substitute(nr, '\..*', '', ''), - \ texthl: hiName}) + \ #{text: strpart(label, 0, 2), + \ texthl: hiName}) endif endfunc diff --git a/src/version.c b/src/version.c index bc2b0b502f..b21e5a6a86 100644 --- a/src/version.c +++ b/src/version.c @@ -695,6 +695,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1671, /**/ 1670, /**/ -- 2.47.2