Merge pull request #24904 from neovim/backport-24871-to-release-0.9

[Backport release-0.9] fix(editorconfig): do not set 'endofline'
This commit is contained in:
zeertzjq
2023-08-28 04:27:52 +08:00
committed by GitHub
2 changed files with 16 additions and 3 deletions

View File

@@ -111,7 +111,20 @@ end
function M.properties.insert_final_newline(bufnr, val)
assert(val == 'true' or val == 'false', 'insert_final_newline must be either "true" or "false"')
vim.bo[bufnr].fixendofline = val == 'true'
vim.bo[bufnr].endofline = val == 'true'
-- 'endofline' can be read to detect if the file contains a final newline,
-- so only change 'endofline' right before writing the file
local endofline = val == 'true'
if vim.bo[bufnr].endofline ~= endofline then
vim.api.nvim_create_autocmd('BufWritePre', {
group = 'editorconfig',
buffer = bufnr,
once = true,
callback = function()
vim.bo[bufnr].endofline = endofline
end,
})
end
end
--- Modified version of |glob2regpat()| that does not match path separators on *.

View File

@@ -161,8 +161,8 @@ describe('editorconfig', function()
end)
it('sets newline options', function()
test_case('with_newline.txt', { fixendofline = true, endofline = true })
test_case('without_newline.txt', { fixendofline = false, endofline = false })
test_case('with_newline.txt', { fixendofline = true })
test_case('without_newline.txt', { fixendofline = false })
end)
it('respects trim_trailing_whitespace', function()