diff runtime/pack/dist/opt/termdebug/plugin/termdebug.vim @ 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 695b50472e85
children 0305a7f2b874
line wrap: on
line diff
--- 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