changeset 35526:d785e0c59ca0

runtime(termdebug): Add Deprecation warnings Commit: https://github.com/vim/vim/commit/e54fd3f7d80502f31259c185798a21d9d1b55315 Author: Ubaldo Tiberi <ubaldo.tiberi@google.com> Date: Thu Jul 4 17:14:03 2024 +0200 runtime(termdebug): Add Deprecation warnings closes: https://github.com/vim/vim/issues/15091 Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 04 Jul 2024 17:15:04 +0200
parents d9d0431e1d64
children b39982468366
files runtime/doc/terminal.txt runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
diffstat 2 files changed, 47 insertions(+), 2 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.1.  Last change: 2024 Jun 20
+*terminal.txt*	For Vim version 9.1.  Last change: 2024 Jul 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1531,7 +1531,10 @@ Prompt mode can be used even when the |+
 	let g:termdebug_config['use_prompt'] = 1
 If there is no g:termdebug_config you can use: >
 	let g:termdebug_use_prompt = 1
+
 <
+However, the latter form will be deprecated in future releases.
+
 Mappings ~
 The termdebug plugin enables a few default mappings.  All those mappings
 are reset to their original values once the termdebug session concludes.
@@ -1543,6 +1546,8 @@ mapping to K already exists.  If you do 
 If there is no g:termdebug_config you can use: >
 	let g:termdebug_map_K = 0
 <
+However, the latter form will be deprecated in future releases.
+
 						*termdebug_map_minus*
 The - key is normally mapped to |:Down| unless a buffer local mapping to the -
 key already exists.  If you do not want this use: >
@@ -1560,6 +1565,9 @@ 1.  The "disasm_window_height" entry can
 	let g:termdebug_config['disasm_window_height'] = 15
 If there is no g:termdebug_config you can use: >
 	let g:termdebug_disasm_window = 15
+
+However, the latter form will be deprecated in future releases.
+
 Any value greater than 1 will set the Asm window height to that value.
 If the current window has enough horizontal space, it will be vertically split
 and the Asm window will be shown side by side with the source code window (and
@@ -1573,6 +1581,9 @@ height: >
 	let g:termdebug_config['variables_window_height'] = 15
 If there is no g:termdebug_config you can use: >
 	let g:termdebug_variables_window = 15
+
+However, the latter form will be deprecated in future releases.
+
 Any value greater than 1 will set the Var window height to that value.
 If the current window has enough horizontal space, it will be vertically split
 and the Var window will be shown side by side with the source code window (and
@@ -1601,6 +1612,8 @@ g:termdebug_config or the "g:termdebugge
 If there is no g:termdebug_config you can use: >
 	let g:termdebugger = "mygdb"
 
+However, the latter form will be deprecated in future releases.
+
 If the command needs an argument use a List: >
 	let g:termdebug_config['command'] = ['rr', 'replay', '--']
 If there is no g:termdebug_config you can use: >
@@ -1658,6 +1671,7 @@ If you don't want this then disable it w
 If there is no g:termdebug_config you can use: >
 	let g:termdebug_popup = 0
 
+However, the latter form will be deprecated in future releases.
 
 Change default signs ~
 							*termdebug_signs*
@@ -1688,6 +1702,8 @@ split: >
 If there is no g:termdebug_config you can use: >
 	let g:termdebug_wide = 163
 
+However, the latter form will be deprecated in future releases.
+
 This will set 'columns' to 163 when `:Termdebug` is used.  The value is
 restored when quitting the debugger.
 
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -4,7 +4,7 @@ vim9script
 
 # Author: Bram Moolenaar
 # Copyright: Vim license applies, see ":help license"
-# Last Change: 2024 Jun 22
+# Last Change: 2024 Jul 04
 # Converted to Vim9: Ubaldo Tiberi <ubaldo.tiberi@gmail.com>
 
 # WORK IN PROGRESS - The basics works stable, more to come
@@ -42,6 +42,9 @@ def Echoerr(msg: string)
   echohl ErrorMsg | echom $'[termdebug] {msg}' | echohl None
 enddef
 
+def Echowarn(msg: string)
+  echohl WarningMsg | echom $'[termdebug] {msg}' | echohl None
+enddef
 
 # Variables to keep their status among multiple instances of Termdebug
 # Avoid to source the script twice.
@@ -244,6 +247,31 @@ def SanityCheck(): bool
   return is_check_ok
 enddef
 
+def DeprecationWarnings()
+  # TODO Remove the deprecated features after 1 Jan 2025.
+  var config_param = ''
+  if exists('g:termdebug_wide')
+    config_param = 'g:termdebug_wide'
+  elseif exists('g:termdebug_popup')
+    config_param = 'g:termdebug_popup'
+  elseif exists('g:termdebugger')
+    config_param = 'g:termdebugger'
+  elseif exists('g:termdebug_variables_window')
+    config_param = 'g:termdebug_variables_window'
+  elseif exists('g:termdebug_disasm_window')
+    config_param = 'g:termdebug_disasm_window'
+  elseif exists('g:termdebug_map_K')
+    config_param = 'g:termdebug_map_K'
+  elseif exists('g:termdebug_use_prompt')
+    config_param = 'g:termdebug_use_prompt'
+  endif
+
+  if !empty(config_param)
+    Echowarn($"Deprecation Warning: '{config_param}' parameter
+          \ is deprecated and will be removed in the future. See ':h g:termdebug_config' for alternatives.")
+  endif
+
+enddef
 
 # Take a breakpoint number as used by GDB and turn it into an integer.
 # The breakpoint may contain a dot: 123.4 -> 123004
@@ -313,6 +341,7 @@ def StartDebug_internal(dict: dict<any>)
   if !SanityCheck()
     return
   endif
+  DeprecationWarnings()
 
   if exists('#User#TermdebugStartPre')
     doauto <nomodeline> User TermdebugStartPre