mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 19:38:20 +00:00
Merge pull request #25202 from zeertzjq/backport
Backport to release-0.9
This commit is contained in:
@@ -968,6 +968,6 @@ function vim._init_defaults()
|
|||||||
vim._init_default_autocmds()
|
vim._init_default_autocmds()
|
||||||
end
|
end
|
||||||
|
|
||||||
require('vim._meta')
|
require('vim._options')
|
||||||
|
|
||||||
return vim
|
return vim
|
||||||
|
@@ -526,7 +526,10 @@ local function create_option_accessor(scope)
|
|||||||
|
|
||||||
return setmetatable({}, {
|
return setmetatable({}, {
|
||||||
__index = function(_, k)
|
__index = function(_, k)
|
||||||
return make_option(k, api.nvim_get_option_value(k, {}))
|
-- vim.opt_global must get global value only
|
||||||
|
-- vim.opt_local may fall back to global value like vim.opt
|
||||||
|
local opts = { scope = scope == 'global' and 'global' or nil }
|
||||||
|
return make_option(k, api.nvim_get_option_value(k, opts))
|
||||||
end,
|
end,
|
||||||
|
|
||||||
__newindex = function(_, k, v)
|
__newindex = function(_, k, v)
|
@@ -271,7 +271,7 @@ set(LUA_LOADER_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/loader.lua)
|
|||||||
set(LUA_INSPECT_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/inspect.lua)
|
set(LUA_INSPECT_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/inspect.lua)
|
||||||
set(LUA_FS_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/fs.lua)
|
set(LUA_FS_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/fs.lua)
|
||||||
set(LUA_F_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/F.lua)
|
set(LUA_F_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/F.lua)
|
||||||
set(LUA_META_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/_meta.lua)
|
set(LUA_OPTIONS_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/_options.lua)
|
||||||
set(LUA_FILETYPE_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/filetype.lua)
|
set(LUA_FILETYPE_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/filetype.lua)
|
||||||
set(LUA_INIT_PACKAGES_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/_init_packages.lua)
|
set(LUA_INIT_PACKAGES_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/_init_packages.lua)
|
||||||
set(LUA_KEYMAP_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/keymap.lua)
|
set(LUA_KEYMAP_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/runtime/lua/vim/keymap.lua)
|
||||||
@@ -511,7 +511,7 @@ add_custom_command(
|
|||||||
${LUA_SHARED_MODULE_SOURCE} "vim.shared"
|
${LUA_SHARED_MODULE_SOURCE} "vim.shared"
|
||||||
${LUA_LOADER_MODULE_SOURCE} "vim.loader"
|
${LUA_LOADER_MODULE_SOURCE} "vim.loader"
|
||||||
${LUA_F_MODULE_SOURCE} "vim.F"
|
${LUA_F_MODULE_SOURCE} "vim.F"
|
||||||
${LUA_META_MODULE_SOURCE} "vim._meta"
|
${LUA_OPTIONS_MODULE_SOURCE} "vim._options"
|
||||||
${LUA_FILETYPE_MODULE_SOURCE} "vim.filetype"
|
${LUA_FILETYPE_MODULE_SOURCE} "vim.filetype"
|
||||||
${LUA_KEYMAP_MODULE_SOURCE} "vim.keymap"
|
${LUA_KEYMAP_MODULE_SOURCE} "vim.keymap"
|
||||||
DEPENDS
|
DEPENDS
|
||||||
@@ -522,7 +522,7 @@ add_custom_command(
|
|||||||
${LUA_LOADER_MODULE_SOURCE}
|
${LUA_LOADER_MODULE_SOURCE}
|
||||||
${LUA_INSPECT_MODULE_SOURCE}
|
${LUA_INSPECT_MODULE_SOURCE}
|
||||||
${LUA_F_MODULE_SOURCE}
|
${LUA_F_MODULE_SOURCE}
|
||||||
${LUA_META_MODULE_SOURCE}
|
${LUA_OPTIONS_MODULE_SOURCE}
|
||||||
${LUA_FILETYPE_MODULE_SOURCE}
|
${LUA_FILETYPE_MODULE_SOURCE}
|
||||||
${LUA_LOAD_PACKAGE_MODULE_SOURCE}
|
${LUA_LOAD_PACKAGE_MODULE_SOURCE}
|
||||||
${LUA_KEYMAP_MODULE_SOURCE}
|
${LUA_KEYMAP_MODULE_SOURCE}
|
||||||
|
@@ -2026,9 +2026,9 @@ void nlua_set_sctx(sctx_T *current)
|
|||||||
lua_Debug *info = (lua_Debug *)xmalloc(sizeof(lua_Debug));
|
lua_Debug *info = (lua_Debug *)xmalloc(sizeof(lua_Debug));
|
||||||
|
|
||||||
// Files where internal wrappers are defined so we can ignore them
|
// Files where internal wrappers are defined so we can ignore them
|
||||||
// like vim.o/opt etc are defined in _meta.lua
|
// like vim.o/opt etc are defined in _options.lua
|
||||||
char *ignorelist[] = {
|
char *ignorelist[] = {
|
||||||
"vim/_meta.lua",
|
"vim/_options.lua",
|
||||||
"vim/keymap.lua",
|
"vim/keymap.lua",
|
||||||
};
|
};
|
||||||
int ignorelist_size = sizeof(ignorelist) / sizeof(ignorelist[0]);
|
int ignorelist_size = sizeof(ignorelist) / sizeof(ignorelist[0]);
|
||||||
|
@@ -2222,8 +2222,8 @@ describe('lua stdlib', function()
|
|||||||
end)
|
end)
|
||||||
end) -- vim.opt
|
end) -- vim.opt
|
||||||
|
|
||||||
describe('opt_local', function()
|
describe('vim.opt_local', function()
|
||||||
it('should be able to append to an array list type option', function()
|
it('appends into global value when changing local option value', function()
|
||||||
eq({ "foo,bar,baz,qux" }, exec_lua [[
|
eq({ "foo,bar,baz,qux" }, exec_lua [[
|
||||||
local result = {}
|
local result = {}
|
||||||
|
|
||||||
@@ -2238,6 +2238,19 @@ describe('lua stdlib', function()
|
|||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
describe('vim.opt_global', function()
|
||||||
|
it('gets current global option value', function()
|
||||||
|
eq({ "yes" }, exec_lua [[
|
||||||
|
local result = {}
|
||||||
|
|
||||||
|
vim.cmd "setglobal signcolumn=yes"
|
||||||
|
table.insert(result, vim.opt_global.signcolumn:get())
|
||||||
|
|
||||||
|
return result
|
||||||
|
]])
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
|
||||||
it('vim.cmd', function()
|
it('vim.cmd', function()
|
||||||
exec_lua [[
|
exec_lua [[
|
||||||
vim.cmd "autocmd BufNew * ++once lua BUF = vim.fn.expand('<abuf>')"
|
vim.cmd "autocmd BufNew * ++once lua BUF = vim.fn.expand('<abuf>')"
|
||||||
|
Reference in New Issue
Block a user