]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.0.1659: Termdebug: default highlight cleared if changing colorscheme v9.0.1659
authorChristian Brabandt <cb@256bit.org>
Sat, 24 Jun 2023 13:20:36 +0000 (14:20 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 24 Jun 2023 13:20:36 +0000 (14:20 +0100)
Problem:    Termdebug: default highlight cleared when changing colorscheme.
Solution:   Use a ColorScheme autocommand. (Christian Brabandt, closes #12566,
            closes #12555)

runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
src/version.c

index b43b8ab507ab0831636ad7b48cf7af548470c787..d3d541cc958e299bcb965aaa624b241f37977a30 100644 (file)
@@ -2,7 +2,7 @@
 "
 " Author: Bram Moolenaar
 " Copyright: Vim license applies, see ":help license"
-" Last Change: 2022 Nov 10
+" Last Change: 2023 Jun 24
 "
 " WORK IN PROGRESS - The basics works stable, more to come
 " Note: In general you need at least GDB 7.12 because this provides the
@@ -81,6 +81,8 @@ func s:Breakpoint2SignNumber(id, subid)
   return s:break_id + a:id * 1000 + a:subid
 endfunction
 
+" Define or adjust the default highlighting, using background "new".
+" When the 'background' option is set then "old" has the old value.
 func s:Highlight(init, old, new)
   let default = a:init ? 'default ' : ''
   if a:new ==# 'light' && a:old !=# 'light'
@@ -90,9 +92,21 @@ func s:Highlight(init, old, new)
   endif
 endfunc
 
-call s:Highlight(1, '', &background)
-hi default debugBreakpoint term=reverse ctermbg=red guibg=red
-hi default debugBreakpointDisabled term=reverse ctermbg=gray guibg=gray
+" Define the default highlighting, using the current 'background' value.
+func s:InitHighlight()
+  call s:Highlight(1, '', &background)
+  hi default debugBreakpoint term=reverse ctermbg=red guibg=red
+  hi default debugBreakpointDisabled term=reverse ctermbg=gray guibg=gray
+endfunc
+
+" Setup an autocommand to redefine the default highlight when the colorscheme
+" is changed.
+func s:InitAutocmd()
+  augroup TermDebug
+    autocmd!
+    autocmd ColorScheme * call s:InitHighlight()
+  augroup END
+endfunc
 
 " Get the command to execute the debugger as a list, defaults to ["gdb"].
 func s:GetCommand()
@@ -1522,5 +1536,8 @@ func s:BufUnloaded()
   endfor
 endfunc
 
+call s:InitHighlight()
+call s:InitAutocmd()
+
 let &cpo = s:keepcpo
 unlet s:keepcpo
index a9c61adea21a3308d8adb118d814355c50a0f1ce..e174f585086dd26c3ed4128485df5dc67386f6e7 100644 (file)
@@ -695,6 +695,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1659,
 /**/
     1658,
 /**/