From 433779916223596dce3ea64f4b77300c3aa2bfdc Mon Sep 17 00:00:00 2001 From: Sten Laane <21343173+StenAL@users.noreply.github.com> Date: Wed, 31 Dec 2025 08:59:16 +0200 Subject: feat(bash): add indents query It's pretty basic at the moment but already makes working with bash scripts way easier. --- tests/indent/bash_spec.lua | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 tests/indent/bash_spec.lua (limited to 'tests/indent/bash_spec.lua') diff --git a/tests/indent/bash_spec.lua b/tests/indent/bash_spec.lua new file mode 100644 index 000000000..fa551c37c --- /dev/null +++ b/tests/indent/bash_spec.lua @@ -0,0 +1,33 @@ +local Runner = require('tests.indent.common').Runner +local XFAIL = require('tests.indent.common').XFAIL + +local run = Runner:new(it, 'tests/indent/bash', { + tabstop = 4, + shiftwidth = 4, + softtabstop = 0, + expandtab = true, +}) + +describe('indent Bash:', function() + describe('whole file:', function() + run:whole_file('.', { + expected_failures = {}, + }) + end) + + describe('new line:', function() + run:new_line('test.sh', { on_line = 1, text = 'echo test', indent = 4 }) -- in "for" + run:new_line('test.sh', { on_line = 2, text = 'echo test', indent = 8 }) -- in "if" + run:new_line('test.sh', { on_line = 4, text = 'echo test', indent = 8 }) -- in "elif" + run:new_line('test.sh', { on_line = 6, text = 'echo test', indent = 8 }) -- in "else" + run:new_line('test.sh', { on_line = 8, text = 'echo test', indent = 4 }) -- after "fi" + run:new_line('test.sh', { on_line = 12, text = 'echo test', indent = 4 }) -- in "while" + run:new_line('test.sh', { on_line = 18, text = 'c) echo test ;;', indent = 4 }) -- in "case" + run:new_line('test.sh', { on_line = 21, text = 'echo test', indent = 4 }) -- in "function" + run:new_line('test.sh', { on_line = 25, text = 'echo test', indent = 4 }) -- in "f() { ... }" + run:new_line('test.sh', { on_line = 29, text = 'echo test', indent = 4 }) -- in "{ ... }" + run:new_line('test.sh', { on_line = 33, text = 'echo test', indent = 4 }) -- in subshell + run:new_line('test.sh', { on_line = 37, text = 'echo test', indent = 4 }) -- in command substitution + run:new_line('test.sh', { on_line = 39, text = 'echo test', indent = 0 }) + end) +end) -- cgit v1.2.3-70-g09d2