feat(jobs): jobstart(…,{term=true}), deprecate termopen() #31343

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`.
This commit is contained in:
Justin M. Keyes
2024-12-19 07:07:04 -08:00
committed by GitHub
parent a5a4149e97
commit 8ef41f5902
41 changed files with 466 additions and 435 deletions

View File

@@ -175,7 +175,7 @@ local function test_terminal_with_fake_shell(backslash)
api.nvim_set_option_value('shellxquote', '', {}) -- win: avoid extra quotes
end)
it('with no argument, acts like termopen()', function()
it('with no argument, acts like jobstart(…,{term=true})', function()
command('autocmd! nvim_terminal TermClose')
feed_command('terminal')
screen:expect([[
@@ -196,7 +196,7 @@ local function test_terminal_with_fake_shell(backslash)
]])
end)
it("with no argument, but 'shell' has arguments, acts like termopen()", function()
it("with no argument, but 'shell' has arguments, acts like jobstart(…,{term=true})", function()
api.nvim_set_option_value('shell', shell_path .. ' INTERACT', {})
feed_command('terminal')
screen:expect([[