feat: cleanup config options

This commit is contained in:
Barrett Ruth 2026-02-02 15:18:25 -05:00
parent 6c4c1e8e49
commit 69943a09c4
6 changed files with 98 additions and 126 deletions

View file

@ -15,19 +15,9 @@ describe('parser', function()
end
end
local test_langs = {
['lua/test.lua'] = 'lua',
['lua/foo.lua'] = 'lua',
['src/bar.py'] = 'python',
['test.lua'] = 'lua',
['test.py'] = 'python',
['other.lua'] = 'lua',
['.envrc'] = 'bash',
}
it('returns empty table for empty buffer', function()
local bufnr = create_buffer({})
local hunks = parser.parse_buffer(bufnr, test_langs, {}, false)
local hunks = parser.parse_buffer(bufnr)
assert.are.same({}, hunks)
delete_buffer(bufnr)
end)
@ -40,7 +30,7 @@ describe('parser', function()
'Unstaged (1)',
'M lua/test.lua',
})
local hunks = parser.parse_buffer(bufnr, test_langs, {}, false)
local hunks = parser.parse_buffer(bufnr)
assert.are.same({}, hunks)
delete_buffer(bufnr)
end)
@ -54,7 +44,7 @@ describe('parser', function()
'+local new = true',
' return M',
})
local hunks = parser.parse_buffer(bufnr, test_langs, {}, false)
local hunks = parser.parse_buffer(bufnr)
assert.are.equal(1, #hunks)
assert.are.equal('lua/test.lua', hunks[1].filename)
@ -76,7 +66,7 @@ describe('parser', function()
'+ print("hello")',
' end',
})
local hunks = parser.parse_buffer(bufnr, test_langs, {}, false)
local hunks = parser.parse_buffer(bufnr)
assert.are.equal(2, #hunks)
assert.are.equal(2, hunks[1].start_line)
@ -95,7 +85,7 @@ describe('parser', function()
' def hello():',
'+ pass',
})
local hunks = parser.parse_buffer(bufnr, test_langs, {}, false)
local hunks = parser.parse_buffer(bufnr)
assert.are.equal(2, #hunks)
assert.are.equal('lua/foo.lua', hunks[1].filename)
@ -113,7 +103,7 @@ describe('parser', function()
'+print(msg)',
' end',
})
local hunks = parser.parse_buffer(bufnr, test_langs, {}, false)
local hunks = parser.parse_buffer(bufnr)
assert.are.equal(1, #hunks)
assert.are.equal('function M.hello()', hunks[1].header_context)
@ -128,46 +118,13 @@ describe('parser', function()
' local M = {}',
'+local x = 1',
})
local hunks = parser.parse_buffer(bufnr, test_langs, {}, false)
local hunks = parser.parse_buffer(bufnr)
assert.are.equal(1, #hunks)
assert.is_nil(hunks[1].header_context)
delete_buffer(bufnr)
end)
it('respects custom language mappings', function()
local bufnr = create_buffer({
'M .envrc',
'@@ -1,1 +1,2 @@',
' export FOO=bar',
'+export BAZ=qux',
})
local hunks = parser.parse_buffer(bufnr, test_langs, {}, false)
assert.are.equal(1, #hunks)
assert.are.equal('bash', hunks[1].lang)
delete_buffer(bufnr)
end)
it('respects disabled_languages', function()
local bufnr = create_buffer({
'M test.lua',
'@@ -1,1 +1,2 @@',
' local M = {}',
'+local x = 1',
'M test.py',
'@@ -1,1 +1,2 @@',
' def foo():',
'+ pass',
})
local hunks = parser.parse_buffer(bufnr, test_langs, { 'lua' }, false)
assert.are.equal(1, #hunks)
assert.are.equal('test.py', hunks[1].filename)
assert.are.equal('python', hunks[1].lang)
delete_buffer(bufnr)
end)
it('handles all git status prefixes', function()
local prefixes = { 'M', 'A', 'D', 'R', 'C', '?', '!' }
for _, prefix in ipairs(prefixes) do
@ -177,7 +134,7 @@ describe('parser', function()
' local x = 1',
'+local y = 2',
})
local hunks = parser.parse_buffer(bufnr, test_langs, {}, false)
local hunks = parser.parse_buffer(bufnr)
assert.are.equal(1, #hunks, 'Failed for prefix: ' .. prefix)
delete_buffer(bufnr)
end
@ -192,7 +149,7 @@ describe('parser', function()
'',
'Some other content',
})
local hunks = parser.parse_buffer(bufnr, test_langs, {}, false)
local hunks = parser.parse_buffer(bufnr)
assert.are.equal(1, #hunks)
assert.are.equal(2, #hunks[1].lines)
@ -209,7 +166,7 @@ describe('parser', function()
'@@ -1,1 +1,1 @@',
' local z = 3',
})
local hunks = parser.parse_buffer(bufnr, test_langs, {}, false)
local hunks = parser.parse_buffer(bufnr)
assert.are.equal(2, #hunks)
assert.are.equal(2, #hunks[1].lines)