summaryrefslogtreecommitdiffstatshomepage
path: root/runtime/pack/dist/opt/termdebug/plugin
AgeCommit message (Collapse)AuthorFiles
2026-03-16vim-patch:049c76f: runtime(termdebug): drop outdated comment from ↵zeertzjq1
termdebug.vim (#38325) that was an internal note which somehow slipped in months ago and even survived the change to Vimscript9 closes: vim/vim#18305 https://github.com/vim/vim/commit/049c76f0e8a1cc26d724fca1a83bfd2da7012403 Co-authored-by: Simon Sobisch <simonsobisch@web.de>
2026-03-16vim-patch:9.2.0143: termdebug: no support for thread and condition in :BreakYinzuo Jiang1
Problem: termdebug :Break does not support `thread` and `if` arguments Solution: extend :Break and :Tbreak to accept optional location, thread {nr}, and if {expr} arguments (Yinzuo Jiang). closes: vim/vim#19613 https://github.com/vim/vim/commit/5890ea5397743c60c3cdeb93f50239d012120823 AI-assisted: Codex
2026-03-16vim-patch:partial:9.1.0613: tests: termdebug test may fail and leave file aroundYinzuo Jiang1
Problem: tests: termdebug test may fail and leave temp file around (Dominique Pellé) Solution: only run balloon_show() if the function exists, validate termdebug is running using the g: termdebug_is_running var, use defer to delete temporary files Only include: - guard balloon_show() in the termdebug plugin - wait for g:termdebug_is_running in Test_termdebug_basic() The remaining upstream test cleanups do not apply here. fixes: vim/vim#15334 https://github.com/vim/vim/commit/2979cfc2627d76a9c09cad46a1647dcd4aa73f5f Co-authored-by: Christian Brabandt <cb@256bit.org> AI-assisted: Codex
2026-03-16vim-patch:partial:225d4d921: runtime(termdebug): Refactored StartDebug_term ↵Yinzuo Jiang1
and EndDebug functions - Functions are way too long. Readability and maintainability should be slightly improved. - Some variables are re-assigned to their initial value at teardown. This should not be needed since all internal variables are re-initialized at startup of every Termdebug session. Only include: - prompt-mode buffer tracking changes around `promptbufnr` - prompt buffer cleanup in `CloseBuffers()` and `EndDebugCommon()` - related `BufUnload` and gdb startup failure cleanup adjustments The remaining upstream `StartDebug_term()` refactor and helper extraction do not apply here. closes: vim/vim#15086 https://github.com/vim/vim/commit/225d4d9212edb27cc4bd473db565517594aaeede Co-authored-by: Ubaldo Tiberi <ubaldo.tiberi@gmail.com> AI-assisted: Codex
2026-03-16vim-patch:fce324f557: runtime(termdebug): close all buffers in the same wayYinzuo Jiang1
For ASM and Variables buffer, check were done to make sure they existed before attempting to close them, but not for debugged program or gdb communication. The debugged program window is a user-facing one and user might close it manually, so it's better to check if it exists. https://github.com/vim/vim/commit/fce324f55718192ae7de389bb88d423eed7977a2 Co-authored-by: Damien Riegel <damien@riegel.io> AI-assisted: Codex
2026-01-27fix(termdebug): use mark `:` to get prompt line in prompt buffer #37336Phạm Bình An1
Problem: - Nvim supports multi-line input in prompt buffer, so line(`$`) is not always the prompt line. Solution: - Use `line("':")` to get the prompt line.
2025-07-08vim-patch:9.1.1532: termdebug: not enough ways to configure breakpoints (#34851)zeertzjq1
Problem: termdebug: not enough ways to configure breakpoints Solution: add the termdebug_config['signs'] config setting, rework the termdebug test cases (Dimitry Ishenko) Allow to configure custom breakpoint signs so one can do something like this: ```vim let g:termdebug_config['signs'] = ['>1', '>2', '>3', '>4', '>5', '>6', '>7', '>8', '>9'] let g:termdebug_config['sign'] = '>>' ``` where the first 9 breakpoints will have their own signs and the rest will be the same (>>). While at it, rework the test for the termdebug plugin: - Added test for g:termdebug_config['signs']. - Added test for g:termdebug_config['sign']. - Moved test for g:termdebug_config['sign_decimal'] into Test_termdebug_basic() closes: vim/vim#17694 https://github.com/vim/vim/commit/c4bca1de0bc0f9db1b2d1dab50a6ddcd748dcfeb Co-authored-by: Dimitry Ishenko <dimitry.ishenko@gmail.com>
2024-12-19feat(jobs): jobstart(…,{term=true}), deprecate termopen() #31343Justin M. Keyes1
Problem: `termopen` has long been a superficial wrapper around `jobstart`, and has no real purpose. Also, `vim.system` and `nvim_open_term` presumably will replace all features of `jobstart` and `termopen`, so centralizing the logic will help with that. Solution: - Introduce `eval/deprecated.c`, where all deprecated eval funcs will live. - Introduce "term" flag of `jobstart`. - Deprecate `termopen`.
2024-11-10vim-patch:5e7f43b: runtime(termdebug): allow to use decimal signs (#31149)zeertzjq1
closes: vim/vim#16011 https://github.com/vim/vim/commit/5e7f43b6ac2ac23d4fbfded75827a13f981d9a96 Co-authored-by: Ella Moss <ella.moss@utah.edu> Co-authored-by: Christian Brabandt <cb@256bit.org>
2024-07-19vim-patch:9.1.0599: Termdebug: still get E1023 when specifying arguments ↵zeertzjq1
(#29794) Problem: Termdebug: still get E1023 when specifying arguments and using a prompt buffer. Solution: Use empty() instead of len(). Add a test. Fix wrong order of arguments to assert_equal() in Test_termdebug_basic(). (zeertzjq) closes: vim/vim#15288 https://github.com/vim/vim/commit/aef6179bcf04918002103528651996c754c03840
2024-07-18vim-patch:27f5334: runtime(termdebug): quote filename arguments using double ↵zeertzjq1
quotes closes: vim/vim#15270 https://github.com/vim/vim/commit/27f53346a303c5cf1bdfb8abca20e4fea8ec05e4 Co-authored-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
2024-07-18vim-patch:c3837a4: runtime(termdebug): fix a few issueszeertzjq1
Fix a few minor issues: 1. filename with whitespaces issue should be fixed now, fixes: vim/vim#12357 2. ":Termdebug args" should work now, fixes: vim/vim#15254 closes: vim/vim#15261 https://github.com/vim/vim/commit/c3837a46ff5f31e9b18f8f86b6e464bed1fe20d1 Omit the DeleteCommands() change as it isn't really an improvement. Co-authored-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
2024-07-18vim-patch:83d0028: runtime(termdebug): Use string interpolation instead of ↵zeertzjq1
string concat closes: vim/vim#14972 https://github.com/vim/vim/commit/83d0028026441d4e521d8849a5a0ef766e816cf2 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2024-06-19vim-patch:partial:9.1.0497: termdebug can be further improvedYinzuo Jiang1
Problem: termdebug can be further improved Solution: refactor save/restore, update docs, add a new save/restore test (Ubaldo Tiberi) closes: vim/vim#15032 https://github.com/vim/vim/commit/a48637c105ce5ccf6f3296958c889d15dc3faaa4 Co-authored-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
2024-06-14vim-patch:partial:9.1.0482: termdebug plugin needs more love (#29329)Yinzuo Jiang1
Problem: termdebug plugin needs more love Solution: start with some more Vim9 refactoring to improve maintenance and readability (Ubaldo Tiberi) List of Changes and the Reasoning Behind Them: 1) Introduction of InitScriptVariables() Function: Reasoning: This function has been introduced to ensure that when you open and close Termdebug, and then open it again, there are no leftover script variable values from the previous session. Leftover values could potentially cause issues. The goal is for each Termdebug session to be independent of previous sessions. At startup, all script variables are initialized. The only exception is g:termdebug_loaded located at the very beginning of the script to prevent sourcing the script twice. The variables are declared at script level and defined in InitScriptVariables(). 2) More Descriptive Variable Names: Reasoning: The names of variables have been made more comprehensive. Almost every Termdebug buffer now has a variable to indicate its name and another variable to indicate its number, improving code readability and maintainability. Due to the latest discussion around the &mousemodel option save/restore mechanism, perhaps some other variables shall be prepended with saved_. 3) Consistent Naming for GDB Terminal Buffers: Reasoning: The name of the GDB terminal buffer now matches the name of the GDB program being used, e.g., 'gdb', 'mygdb', 'arm-eabi-none-gdb', etc. This ensures clarity and consistency in identifying buffers. 4) Other minor improvements: Moved EchoErr() on top, added another test, some refactoring, mainly changed several 0 and 1 to true and false closes: vim/vim#14980 https://github.com/vim/vim/commit/ef8eab86e29091eaff0d3fb0bc3f7c90f468f6aa Co-authored-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
2024-05-22vim-patch:62ccaa6: runtime(termdebug): check for gdb file/dir before using ↵zeertzjq1
as buffer name (#28908) Add test so that this doesn't regress. fixes: vim/vim#12718 closes: vim/vim#14792 https://github.com/vim/vim/commit/62ccaa60d5f7f9a13c758bd5e55b7ca6855a6de9 Co-authored-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
2024-03-24vim-patch:d3c0ff5d5a90Christian Clason1
runtime(termdebug): allow multibyte characters as breakpoint signs (vim/vim#14274) Allow multibyte characters as termdebug signs using slice() function https://github.com/vim/vim/commit/d3c0ff5d5a9076999a8504ee4d23a2c5abaf494e Co-authored-by: Mihai Ciuraru <mihai.ciuraru@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-12-18feat(termdebug): improve `:Evaluate` floating window (#26621)Jaehwang Jung1
Problem: - The :Evaluate result window is not cleaned up when the cursor moves. - This window is not focusable. Solution: Replace the old implementation from autozimu/LanguageClient-neovim with vim.lsp.util.open_floating_preview and implement custom focusing logic. Also remove g:termdebug_useFloatingHover option now that it's working correctly.
2023-12-15vim-patch:323dda1484d9 (#26583)zeertzjq1
runtime(termdebug): add Tbreak command closes: vim/vim#13656 https://github.com/vim/vim/commit/323dda1484d95ee5c8a1b2205f8c495446df75ee Co-authored-by: iam28th <artyom28th@gmail.com>
2023-11-13vim-patch:2dd613f57bf1 (#26009)zeertzjq1
runtime(termdebug): improve the breakpoint sign label (vim/vim#13525) // related vim/vim#12589 // that should be the last chat (I) with Bram, r.i.p https://github.com/vim/vim/commit/2dd613f57bf17eb8ff050bcb5510eb0279f5c9ab Co-authored-by: Shane-XB-Qian <shane.qian@foxmail.com>
2023-11-09vim-patch:8.2.4861: it is not easy to restore saved mappingszeertzjq1
Problem: It is not easy to restore saved mappings. Solution: Make mapset() accept a dict argument. (Ernie Rael, closes vim/vim#10295) https://github.com/vim/vim/commit/51d04d16f21e19d6eded98f9530d84089102f925 Co-authored-by: Ernie Rael <errael@raelity.com>
2023-11-09vim-patch:7fbbd7fdc6df (#25944)zeertzjq1
runtime(termdebug): handle buffer-local mappings properly closes: vim/vim#13475 https://github.com/vim/vim/commit/7fbbd7fdc6df9dc198b3735cfbe8dbe8afd646f9 Co-authored-by: shane.xb.qian <shane.qian@foxmail.com>
2023-11-09vim-patch:ca48202b6f46zeertzjq1
runtime(termdebug): improve window handling, shorten var types closes vim/vim#13474 https://github.com/vim/vim/commit/ca48202b6f46cfb40a0d1d80033a2f3e8cb7b813 Co-authored-by: shane.xb.qian <shane.qian@foxmail.com>
2023-10-16vim-patch:dbf749bd5aae (#25665)zeertzjq1
runtime: Fix more typos (vim/vim#13354) * Fix more typos * Fix typos in ignored runtime/ directory https://github.com/vim/vim/commit/dbf749bd5aaef6ea2d28bce081349785d174d96a Co-authored-by: Viktor Szépe <viktor@szepe.net>
2023-08-25refactor(termdebug): reindent some thingsSean Dewar1
Mostly to make it more consistent and to match Vim more where applicable.
2023-08-25vim-patch:3d3a9152fa6dSean Dewar1
runtime(termdebug): more termdebug fixes and improvements (vim/vim#12892) - Fix and attempt to simplify :Frame/:Up/:Down documentation. - Accept a count instead for :Up/:Down/+/-. - Update the "Last Change" dates. - Fix a missing :let (caused an error if gdb fails to start). - Wipe the prompt buffer when ending prompt mode (if it exists and wasn't wiped by the user first). Avoids issues with stale prompt buffers (such as E95 when starting a new prompt mode session). - Kill the gdb job if the prompt buffer is unloaded (similar to what's done for a terminal buffer). Fixes not being able to start a new termdebug session if the buffer was wiped by the user, for example. https://github.com/vim/vim/commit/3d3a9152fa6de7038fdfd6d6de25230ed825552a
2023-08-25vim-patch:2ae7ffe0bc3cSean Dewar1
runtime(termdebug): add frame related commands (vim/vim#12511) implementing `:Frame`, `:Up` and `:Down' https://github.com/vim/vim/commit/2ae7ffe0bc3c3ed9fcae35ef23a2b78908580201 Use maparg() for saving K as it's since been ported (and supports Lua callbacks and the other API fields). Use the 3 argument variant of mapset(), as the single argument one isn't ported yet (v8.2.4861). Co-authored-by: Simon Sobisch <simonsobisch@web.de>
2023-08-25fix(termdebug): send SIGINT when interrupting prompt modeSean Dewar1
Unlike Vim's job_stop(), Nvim's jobstop() does not take a signal argument, and always sends SIGTERM/KILL. :Stop and Ctrl-C in prompt mode is supposed to interrupt the program like in terminal mode, not kill GDB. Also, maybe libuv's kill() works on Windows? If so, the logic above could be removed, but I don't have a Windows machine available to test that. Also "set nomodified" when ending prompt mode, like Vim (avoids E37).
2023-08-25vim-patch:a76f3221cdcfSean Dewar1
runtime(termdebug): Fix various Termdebug issues (vim/vim#12875) * Fix some Termdebug issues after vim/vim#12403 * Fix :Asm in Termdebug prompt mode * Fix Termdebug s:DecodeMessage escaping logic https://github.com/vim/vim/commit/a76f3221cdcfff6880213839de4d04cf0c7c60f8 Adjust disassembly message forwarding for Nvim, as its callback can receive many lines at once. Currently, just forward each disassembly line individually to s:CommOutput(); it's possible to do this in batch instead, but this is simpler. I suggested moving to a GDB MI-based approach for the disassemble stuff upstream, which should simplify the logic a lot if implemented (and possibly allow for getting rid of the `&"disassemble ...` special-casing). Also, correct "(gdb)" to include a trailing space; the stray GDB prompts were being ignored by s:CommOutput() anyway, so this had caused no ill effects.
2023-08-25fix(termdebug): prompt mode breaks with &splitbelow setSean Dewar1
Unlike Vim, termopen() doesn't split, so you can't use the modifier like that. Remove the fragile :wincmd shenanigans.
2023-08-25fix(termdebug): trim suffixed "\r" in CommOutputSean Dewar1
Vim splits lines on "\r", then trims any prefixed "\n". But in Nvim, job output lines are split on "\n" (like readfile() in binary mode), so trim any suffixed "\r" instead. This gets rid of the trailing "^M" character in messages parsed from the jobs.
2023-08-25vim-patch:19968fc4ec2cSean Dewar1
runtime(termdebug): re-indent lines (vim/vim#12857) https://github.com/vim/vim/commit/19968fc4ec2c36c7d528c7326acf43e5d663ba39 Co-authored-by: Shane-XB-Qian <shane.qian@foxmail.com>
2023-08-25vim-patch:f6fb52b667eeSean Dewar1
runtime(termdebug): refactor error printing (vim/vim#12856) // vs not act like exception from vim or termdebug https://github.com/vim/vim/commit/f6fb52b667eecb58bdd9b26bd462d5da61697cf7 Co-authored-by: Shane-XB-Qian <shane.qian@foxmail.com>
2023-08-25vim-patch:9f2962141514Sean Dewar1
Runtime(termdebug): Add support to view local and argument variables closes: 12403 https://github.com/vim/vim/commit/9f29621415146abc046471440515e9e34f3e57a1 Rename the existing "s:running" (#16790) to "s:gdb_running" to not clash with the "s:running" introduced in this patch (which instead relates to whether the debugged program is currently running in gdb). Keep the file `:retab`bed as before. Co-authored-by: laburnumT <flo.striker@gmail.com>
2023-06-29vim-patch:9.0.1671: Termdebug: error with more than 99 breakpoints (#24194)zeertzjq1
Problem: Termdebug: error with more than 99 breakpoints. Solution: Use a different sign for breakpoint 100 and over. (closes vim/vim#12589, closes vim/vim#12588) https://github.com/vim/vim/commit/e7d9ca2b3bf99b0b759be8952e02c77110a354c1 Co-authored-by: skywind3000 <skywind3000@163.com>
2023-06-25vim-patch:9.0.1663: Termdebug on MS-Windows: some file names are not ↵zeertzjq1
recognized (#24145) Problem: Termdebug on MS-Windows: some file names are not recognized. Solution: Do not always change \t and \n. (Christian Brabandt, closes vim/vim#12565, closes vim/vim#12560, closes vim/vim#12550) https://github.com/vim/vim/commit/c9a4a8ab28da2b11856a3f08ccba2e91f46b85c3 Co-authored-by: Christian Brabandt <cb@256bit.org>
2023-06-24vim-patch:9.0.1659: Termdebug: default highlight cleared if changing ↵zeertzjq1
colorscheme (#24139) Problem: Termdebug: default highlight cleared when changing colorscheme. Solution: Use a ColorScheme autocommand. (Christian Brabandt, closes vim/vim#12566, closes vim/vim#12555) https://github.com/vim/vim/commit/279de0cd1f58ea520826a3dd1c5562a71157b23b Co-authored-by: Christian Brabandt <cb@256bit.org>
2023-05-21refactor(options): deprecate nvim[_buf|_win]_[gs]et_optionLewis Russell1
Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: famiu <famiuhaque@protonmail.com>
2023-04-23vim-patch:71badf9547e8 (#23285)Christian Clason1
Update runtime files https://github.com/vim/vim/commit/71badf9547e8f89571b9a095183671cbb333d528 Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-08fix(termdebug): handle partial lines passed to callback (#22950)zeertzjq1
Problem: Job callbacks in termdebug cannot handle partial lines. Solution: Add a wrapper function that handles partial lines and only passes full lines to the real callback. Fix #22929.
2022-11-19vim-patch:partial:d13166e788fc (#21109)Sean Dewar1
Update runtime files https://github.com/vim/vim/commit/d13166e788fcaef59ec65c20b46ca4be16625669 - Skip E1309-1311 (not ported). - Skip `:echowindow` changes (not ported). - Skip termdebug winbar doc changes (not fully ported). - Port missing `g:termdebug_config.{wide,use_prompt}` changes from v8.2.5010. Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-09-01feat(mapset): support restoring Lua callback (#20024)zeertzjq1
vim-patch:9.0.0341: mapset() does not restore <Nop> mapping properly Problem: mapset() does not restore <Nop> mapping properly. Solution: Use an empty string for <Nop>. (closes vim/vim#11022) https://github.com/vim/vim/commit/92a3d20682d46359bb50a452b4f831659e799155
2022-07-05vim-patch:8.0.1562: the terminal debugger can't set a breakpoint with the ↵zeertzjq1
mouse (#19234) Problem: The terminal debugger can't set a breakpoint with the mouse. Solution: Add popup menu entries. https://github.com/vim/vim/commit/71137fed4d77e985d49ca32c79f030512767b8ce This ports missing popup menu code to termdebug plugin. Despite the commit message, the code is copied from latest Vim. WinBar code is commented out and WinBar docs is not ported.
2022-06-25vim-patch:e1dc76fbf333 (#19092)Christian Clason1
Update runtime files https://github.com/vim/vim/commit/e1dc76fbf333243ecfdfc3c0a81ea9984913b4f5
2022-06-23vim-patch:8cc5b559f700 (#19066)Christian Clason1
Update runtime files https://github.com/vim/vim/commit/8cc5b559f70041361612b8a6a87922503b33baa6
2022-05-26vim-patch:8.2.5010: the terminal debugger uses various global variableszeertzjq1
Problem: The terminal debugger uses various global variables. Solution: Add a dictionary to hold the terminal debugger preferences. https://github.com/vim/vim/commit/c9a431c7638ecebb6f2cb3eabd0e1b2b5e269c1e Omit popup menu.
2022-05-10vim-patch:921bde888046 (#18511)Christian Clason1
Update runtime files, translations https://github.com/vim/vim/commit/921bde88804663a7cb825d7f7e8a5d8ae6b58650 skip: translations skip: builtin.txt (requires 8.2.4861)
2022-05-08vim-patch:partial:d899e5112079 (#18474)Sean Dewar1
Update runtime files https://github.com/vim/vim/commit/d899e51120798d3fb5420abb1f19dddf3f014d05 - Skip vimhelp.vim stuff (syntax/help.vim, syntax.txt; v8.2.4891). - Skip :let heredoc eval stuff (eval.txt; v8.2.4770). - Skip uk.cp1251.po. - Skip `*hl-CurSearch*` change (syntax.txt): - Vim's CurSearch works differently (Nvim's uses current cursor pos). Dunno know how applicable the redrawing comment is to Nvim... - Might be preferred to move it under `*hl-Search*` like Vim?
2022-04-19vim-patch:75ab590f8504 (#18170)Christian Clason1
Update runtime files https://github.com/vim/vim/commit/75ab590f8504a8912ca0b8c58f6b897bb7a34f07 omit builtin.txt change to `expand()` (depends on 8.2.4726)
2022-03-20fix(termdebug): handle exiting during startup properly (#16790)Sean Dewar1
s:EndTermDebug should only be called when exiting if the debugger started without error, otherwise the plugin breaks. Vim handles this by using job_setoptions to set the on_exit callback to s:EndTermDebug after startup succeeds. However, Nvim does not have such functionality; instead; use s:starting to mimic this behaviour. Also, introduce s:running to fix s:CheckGdbRunning; it did not work correctly due to the "[Process exited X]" message keeping the job's channel alive (though the stream is closed). This means nvim_get_chan_info cannot be used to check if the debugger has exited, as it may still return a non-empty dict.