mirror of
https://github.com/neovim/neovim
synced 2025-07-27 08:52:10 +00:00
fix(editorconfig): check that buffer is valid (#23922)
Fixes: https://github.com/neovim/neovim/issues/23921
This commit is contained in:
@ -208,6 +208,10 @@ end
|
|||||||
---@private
|
---@private
|
||||||
function M.config(bufnr)
|
function M.config(bufnr)
|
||||||
bufnr = bufnr or vim.api.nvim_get_current_buf()
|
bufnr = bufnr or vim.api.nvim_get_current_buf()
|
||||||
|
if not vim.api.nvim_buf_is_valid(bufnr) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
local path = vim.fs.normalize(vim.api.nvim_buf_get_name(bufnr))
|
local path = vim.fs.normalize(vim.api.nvim_buf_get_name(bufnr))
|
||||||
if vim.bo[bufnr].buftype ~= '' or not vim.bo[bufnr].modifiable or path == '' then
|
if vim.bo[bufnr].buftype ~= '' or not vim.bo[bufnr].modifiable or path == '' then
|
||||||
return
|
return
|
||||||
|
@ -5,6 +5,7 @@ local eq = helpers.eq
|
|||||||
local pathsep = helpers.get_pathsep()
|
local pathsep = helpers.get_pathsep()
|
||||||
local funcs = helpers.funcs
|
local funcs = helpers.funcs
|
||||||
local meths = helpers.meths
|
local meths = helpers.meths
|
||||||
|
local exec_lua = helpers.exec_lua
|
||||||
|
|
||||||
local testdir = 'Xtest-editorconfig'
|
local testdir = 'Xtest-editorconfig'
|
||||||
|
|
||||||
@ -206,4 +207,15 @@ But not this one
|
|||||||
test_case('3_space.txt', { shiftwidth = 42 })
|
test_case('3_space.txt', { shiftwidth = 42 })
|
||||||
test_case('4_space.py', { shiftwidth = 4 })
|
test_case('4_space.py', { shiftwidth = 4 })
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
it('does not operate on invalid buffers', function()
|
||||||
|
local ok, err = unpack(exec_lua([[
|
||||||
|
vim.cmd.edit('test.txt')
|
||||||
|
local bufnr = vim.api.nvim_get_current_buf()
|
||||||
|
vim.cmd.bwipeout(bufnr)
|
||||||
|
return {pcall(require('editorconfig').config, bufnr)}
|
||||||
|
]]))
|
||||||
|
|
||||||
|
eq(true, ok, err)
|
||||||
|
end)
|
||||||
end)
|
end)
|
||||||
|
Reference in New Issue
Block a user