mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-02 11:36:54 -04:00
* fix: is_in_node_range now includes end line and col
This fixes no indents at the end of python files
Refs #1136
* update scala highlights (#1760)
* add type highlights
* add call expression highlights
* add function definition highlights
* add expression highlights
* add literals highlights
* add operator highlights
* add punctuation highlights
* add comment highlights
Co-authored-by: Stevan Milic <stevan.milic@tradecore.com>
* test: Add unit tests
* Revert "fix: is_in_node_range now includes end line and col"
This reverts commit 5a721fef56.
* refactor test
* apply stylua
* fix luacheck
* update `describe` text
* smallfix
Co-authored-by: Stevan Milic <stevan.milic@yahoo.com>
Co-authored-by: Stevan Milic <stevan.milic@tradecore.com>
41 lines
1.1 KiB
Lua
41 lines
1.1 KiB
Lua
local tsutils = require "nvim-treesitter.ts_utils"
|
|
|
|
describe("is_in_node_range", function()
|
|
local function test_is_in_node_range(line, col)
|
|
local node = {
|
|
range = function()
|
|
return unpack { 0, 3, 2, 5 }
|
|
end,
|
|
}
|
|
return tsutils.is_in_node_range(node, line, col)
|
|
end
|
|
|
|
it("returns false before node start", function()
|
|
assert.is_false(test_is_in_node_range(0, 0))
|
|
assert.is_false(test_is_in_node_range(0, 1))
|
|
assert.is_false(test_is_in_node_range(0, 2))
|
|
end)
|
|
|
|
it("returns true at node start", function()
|
|
assert.is_true(test_is_in_node_range(0, 3))
|
|
end)
|
|
|
|
it("returns true on first line of the node", function()
|
|
assert.is_true(test_is_in_node_range(0, 4))
|
|
end)
|
|
|
|
it("returns true between node lines", function()
|
|
assert.is_true(test_is_in_node_range(1, 2))
|
|
assert.is_true(test_is_in_node_range(1, 20))
|
|
end)
|
|
|
|
it("returns false on node end", function()
|
|
-- Ranges are end-exclusive
|
|
assert.is_false(test_is_in_node_range(2, 5))
|
|
end)
|
|
|
|
it("returns false after node end", function()
|
|
assert.is_false(test_is_in_node_range(2, 6))
|
|
assert.is_false(test_is_in_node_range(3, 0))
|
|
end)
|
|
end)
|