summaryrefslogtreecommitdiff
path: root/lua/nvim-treesitter/test_utils.lua
diff options
context:
space:
mode:
authorJędrzej Boczar <yendreij@gmail.com>2021-03-13 23:51:57 +0100
committerKiyan <yazdani.kiyan@protonmail.com>2021-04-23 21:21:38 +0200
commit4454459fb2ce64caaf1d0e32472ad7dcdbf3e436 (patch)
treeb8a48ceb3132e67a21698f8c1584c94b8f248278 /lua/nvim-treesitter/test_utils.lua
parent67f2c7149c0de39248f1bdeba1a4303b156c3199 (diff)
tests/indent: add basic examples for C and Rust
Diffstat (limited to 'lua/nvim-treesitter/test_utils.lua')
-rw-r--r--lua/nvim-treesitter/test_utils.lua15
1 files changed, 13 insertions, 2 deletions
diff --git a/lua/nvim-treesitter/test_utils.lua b/lua/nvim-treesitter/test_utils.lua
index e3206b7d..a62b2307 100644
--- a/lua/nvim-treesitter/test_utils.lua
+++ b/lua/nvim-treesitter/test_utils.lua
@@ -1,6 +1,15 @@
local M = {}
-function M.indent_whole_file(file)
+function M.set_buf_indent_opts(opts)
+ local optnames = {'tabstop', 'shiftwidth', 'softtabstop', 'expandtab'}
+ for _, opt in ipairs(optnames) do
+ if opts[opt] ~= nil then
+ vim.bo[opt] = opts[opt]
+ end
+ end
+end
+
+function M.indent_whole_file(file, opts)
assert.are.same(1, vim.fn.filereadable(file))
-- load reference file
@@ -11,8 +20,10 @@ function M.indent_whole_file(file)
vim.bo.indentexpr = 'nvim_treesitter#indent()'
assert.are.same('nvim_treesitter#indent()', vim.bo.indentexpr)
+ M.set_buf_indent_opts(opts)
+
-- indent the whole file
- vim.cmd 'normal gg=G'
+ vim.cmd 'silent normal gg=G'
local indented = vim.api.nvim_buf_get_lines(0, 0, -1, true)
-- clear any changes to avoid 'No write since last change (add ! to override)'