Mercurial > vim
changeset 32681:5a989f229d9b v9.0.1671
patch 9.0.1671: Termdebug: error with more than 99 breakpoints
Commit: https://github.com/vim/vim/commit/e7d9ca2b3bf99b0b759be8952e02c77110a354c1
Author: skywind3000 <skywind3000@163.com>
Date: Wed Jun 28 23:27:28 2023 +0100
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 https://github.com/vim/vim/issues/12589,
closes #12588)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 29 Jun 2023 00:30:03 +0200 |
parents | ab53a95cdc38 |
children | e311afd8e9c2 |
files | runtime/doc/terminal.txt runtime/pack/dist/opt/termdebug/plugin/termdebug.vim src/version.c |
diffstat | 3 files changed, 29 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- 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 ca 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
--- 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, enabl 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