]> granicus.if.org Git - vim/commitdiff
patch 8.1.0081: the terminal debugger doesn't adjust to changed 'background' v8.1.0081
authorBram Moolenaar <Bram@vim.org>
Tue, 19 Jun 2018 15:27:53 +0000 (17:27 +0200)
committerBram Moolenaar <Bram@vim.org>
Tue, 19 Jun 2018 15:27:53 +0000 (17:27 +0200)
Problem:    The terminal debugger doesn't adjust to changed 'background'.
Solution:   Add an OptionSet autocommand. (Christian Brabandt)

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

index f4a4dc224ceca22ffb429adf8dd87ea7b0d3283d..9b931d14373d8d608634aabcc81b2b374a609e5e 100644 (file)
@@ -70,11 +70,16 @@ let s:pc_id = 12
 let s:break_id = 13  " breakpoint number is added to this
 let s:stopped = 1
 
-if &background == 'light'
-  hi default debugPC term=reverse ctermbg=lightblue guibg=lightblue
-else
-  hi default debugPC term=reverse ctermbg=darkblue guibg=darkblue
-endif
+func s:Highlight(init, old, new)
+  let default = a:init ? 'default ' : ''
+  if a:new ==# 'light' && a:old !=# 'light'
+    exe "hi " . default . "debugPC term=reverse ctermbg=lightblue guibg=lightblue"
+  elseif a:new ==# 'dark' && a:old !=# 'dark'
+    exe "hi " . default . "debugPC term=reverse ctermbg=darkblue guibg=darkblue"
+  endif
+endfunc
+
+call s:Highlight(1, '', &background)
 hi default debugBreakpoint term=reverse ctermbg=red guibg=red
 
 func s:StartDebug(bang, ...)
@@ -347,6 +352,7 @@ func s:StartDebugCommon(dict)
   augroup TermDebug
     au BufRead * call s:BufRead()
     au BufUnload * call s:BufUnloaded()
+    au OptionSet background call s:Highlight(0, v:option_old, v:option_new)
   augroup END
 
   " Run the command if the bang attribute was given and got to the debug
@@ -887,4 +893,3 @@ func s:BufUnloaded()
     endif
   endfor
 endfunc
-
index ebcc4efc7c3f2250d1d32129b547754fed72038d..39b317f2c66984dccf270fdea053ab0b36711478 100644 (file)
@@ -761,6 +761,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    81,
 /**/
     80,
 /**/