refactor: format test/*

This commit is contained in:
Justin M. Keyes
2024-01-03 02:09:18 +01:00
parent 59d117ec99
commit 04f2f864e2
363 changed files with 30631 additions and 20833 deletions

View File

@@ -41,21 +41,21 @@ describe('Diff mode screen', function()
screen = Screen.new(40, 16)
screen:attach()
screen:set_default_attr_ids({
[1] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.WebGray},
[2] = {background = Screen.colors.LightCyan1, bold = true, foreground = Screen.colors.Blue1},
[3] = {reverse = true},
[4] = {background = Screen.colors.LightBlue},
[5] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.LightGrey},
[6] = {bold = true, foreground = Screen.colors.Blue1},
[7] = {bold = true, reverse = true},
[8] = {bold = true, background = Screen.colors.Red},
[9] = {background = Screen.colors.LightMagenta},
[1] = { foreground = Screen.colors.DarkBlue, background = Screen.colors.WebGray },
[2] = { background = Screen.colors.LightCyan1, bold = true, foreground = Screen.colors.Blue1 },
[3] = { reverse = true },
[4] = { background = Screen.colors.LightBlue },
[5] = { foreground = Screen.colors.DarkBlue, background = Screen.colors.LightGrey },
[6] = { bold = true, foreground = Screen.colors.Blue1 },
[7] = { bold = true, reverse = true },
[8] = { bold = true, background = Screen.colors.Red },
[9] = { background = Screen.colors.LightMagenta },
})
end)
it('Add a line in beginning of file 2', function()
write_file(fname, "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n", false)
write_file(fname_2, "0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n", false)
write_file(fname, '1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n', false)
write_file(fname_2, '0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n', false)
reread()
feed(':set diffopt=filler<cr>')
@@ -90,11 +90,11 @@ describe('Diff mode screen', function()
end)
it('Add a line in beginning of file 1', function()
write_file(fname, "0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n", false)
write_file(fname_2, "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n", false)
write_file(fname, '0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n', false)
write_file(fname_2, '1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n', false)
reread()
feed(":set diffopt=filler<cr>")
feed(':set diffopt=filler<cr>')
screen:expect([[
{1: }{4:^0 }│{1: }{2:-----------------}|
{1: }1 │{1: }1 |
@@ -109,7 +109,7 @@ describe('Diff mode screen', function()
:set diffopt=filler |
]])
feed(":set diffopt+=internal<cr>")
feed(':set diffopt+=internal<cr>')
screen:expect([[
{1: }{4:^0 }│{1: }{2:-----------------}|
{1: }1 │{1: }1 |
@@ -126,11 +126,11 @@ describe('Diff mode screen', function()
end)
it('Add a line at the end of file 2', function()
write_file(fname, "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n", false)
write_file(fname_2, "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n", false)
write_file(fname, '1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n', false)
write_file(fname_2, '1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n', false)
reread()
feed(":set diffopt=filler<cr>")
feed(':set diffopt=filler<cr>')
screen:expect([[
{1:+ }{5:^+-- 4 lines: 1···}│{1:+ }{5:+-- 4 lines: 1··}|
{1: }5 │{1: }5 |
@@ -145,7 +145,7 @@ describe('Diff mode screen', function()
:set diffopt=filler |
]])
feed(":set diffopt+=internal<cr>")
feed(':set diffopt+=internal<cr>')
screen:expect([[
{1:+ }{5:^+-- 4 lines: 1···}│{1:+ }{5:+-- 4 lines: 1··}|
{1: }5 │{1: }5 |
@@ -175,11 +175,11 @@ describe('Diff mode screen', function()
end)
it('Add a line at the end of file 1', function()
write_file(fname, "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n", false)
write_file(fname_2, "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n", false)
write_file(fname, '1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n', false)
write_file(fname_2, '1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n', false)
reread()
feed(":set diffopt=filler<cr>")
feed(':set diffopt=filler<cr>')
screen:expect([[
{1:+ }{5:^+-- 4 lines: 1···}│{1:+ }{5:+-- 4 lines: 1··}|
{1: }5 │{1: }5 |
@@ -194,7 +194,7 @@ describe('Diff mode screen', function()
:set diffopt=filler |
]])
feed(":set diffopt+=internal<cr>")
feed(':set diffopt+=internal<cr>')
screen:expect([[
{1:+ }{5:^+-- 4 lines: 1···}│{1:+ }{5:+-- 4 lines: 1··}|
{1: }5 │{1: }5 |
@@ -224,8 +224,8 @@ describe('Diff mode screen', function()
end)
it('Add a line in the middle of file 2, remove on at the end of file 1', function()
write_file(fname, "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n", false)
write_file(fname_2, "1\n2\n3\n4\n4\n5\n6\n7\n8\n9\n10\n", false)
write_file(fname, '1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n', false)
write_file(fname_2, '1\n2\n3\n4\n4\n5\n6\n7\n8\n9\n10\n', false)
reread()
feed(':set diffopt=filler<cr>')
@@ -268,8 +268,8 @@ describe('Diff mode screen', function()
end)
it('Add a line in the middle of file 1, remove on at the end of file 2', function()
write_file(fname, "1\n2\n3\n4\n4\n5\n6\n7\n8\n9\n10\n", false)
write_file(fname_2, "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n", false)
write_file(fname, '1\n2\n3\n4\n4\n5\n6\n7\n8\n9\n10\n', false)
write_file(fname_2, '1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n', false)
reread()
feed(':set diffopt=filler<cr>')
@@ -523,7 +523,7 @@ int main(int argc, char **argv)
it('internal', function()
reread()
feed(":set diffopt=internal,filler<cr>")
feed(':set diffopt=internal,filler<cr>')
screen:expect([[
{1: }^def finalize(value│{1: }def finalize(valu|
{1: } │{1: } |
@@ -581,8 +581,8 @@ int main(int argc, char **argv)
end)
it('Diff the same file', function()
write_file(fname, "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n", false)
write_file(fname_2, "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n", false)
write_file(fname, '1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n', false)
write_file(fname_2, '1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n', false)
reread()
feed(':set diffopt=filler<cr>')
@@ -603,8 +603,8 @@ int main(int argc, char **argv)
end)
it('Diff an empty file', function()
write_file(fname, "", false)
write_file(fname_2, "", false)
write_file(fname, '', false)
write_file(fname_2, '', false)
reread()
feed(':set diffopt=filler<cr>')
@@ -625,8 +625,8 @@ int main(int argc, char **argv)
end)
it('diffopt+=icase', function()
write_file(fname, "a\nb\ncd\n", false)
write_file(fname_2, "A\nb\ncDe\n", false)
write_file(fname, 'a\nb\ncd\n', false)
write_file(fname_2, 'A\nb\ncDe\n', false)
reread()
feed(':set diffopt=filler,icase<cr>')
@@ -654,7 +654,8 @@ int main(int argc, char **argv)
setup(function()
local f1 = 'int main()\n{\n printf("Hello, World!");\n return 0;\n}\n'
write_file(fname, f1, false)
local f2 = 'int main()\n{\n if (0)\n {\n printf("Hello, World!");\n return 0;\n }\n}\n'
local f2 =
'int main()\n{\n if (0)\n {\n printf("Hello, World!");\n return 0;\n }\n}\n'
write_file(fname_2, f2, false)
feed(':diffupdate!<cr>')
end)
@@ -821,7 +822,9 @@ int main(int argc, char **argv)
-- This was scrolling for 'cursorbind' but 'scrollbind' is more important
it('scrolling works correctly vim-patch:8.2.5155', function()
screen:try_resize(40, 12)
write_file(fname, dedent([[
write_file(
fname,
dedent([[
line 1
line 2
line 3
@@ -835,8 +838,12 @@ int main(int argc, char **argv)
// Common block
// two
// containing
// four lines]]), false)
write_file(fname_2, dedent([[
// four lines]]),
false
)
write_file(
fname_2,
dedent([[
line 1
line 2
line 3
@@ -869,7 +876,9 @@ int main(int argc, char **argv)
// Common block
// two
// containing
// four lines]]), false)
// four lines]]),
false
)
reread()
feed('<C-W><C-W>jjjj')
@@ -1016,33 +1025,38 @@ AAAB]]
it('diffopt+=linematch:20,iwhiteall', function()
reread()
feed(':set diffopt=internal,filler,linematch:20<cr>')
screen:expect{grid=[[
screen:expect {
grid = [[
{1: }^BB │{1: }BB |
{1: }{9: AA}{8:A}{9: }│{1: }{9: AA}{8:B}{9: }|
{1: }{2:------------------}│{1: }{4:AAAB }|
{6:~ }│{6:~ }|*11
{7:<onal-diff-screen-1 }{3:<l-diff-screen-1.2 }|
|
]]}
]],
}
feed(':set diffopt+=iwhiteall<cr>')
screen:expect{grid=[[
screen:expect {
grid = [[
{1: }^BB │{1: }BB |
{1: }{2:------------------}│{1: }{4: AAB }|
{1: }{9: AAA }│{1: }{9:AAA}{8:B}{9: }|
{6:~ }│{6:~ }|*11
{7:<onal-diff-screen-1 }{3:<l-diff-screen-1.2 }|
:set diffopt+=iwhiteall |
]]}
]],
}
end)
end)
it('redraws with a change to non-current buffer', function()
write_file(fname, "aaa\nbbb\nccc\n\nxx", false)
write_file(fname_2, "aaa\nbbb\nccc\n\nyy", false)
write_file(fname, 'aaa\nbbb\nccc\n\nxx', false)
write_file(fname_2, 'aaa\nbbb\nccc\n\nyy', false)
reread()
local buf = meths.get_current_buf()
command('botright new')
screen:expect{grid=[[
screen:expect {
grid = [[
{1: }aaa │{1: }aaa |
{1: }bbb │{1: }bbb |
{1: }ccc │{1: }ccc |
@@ -1054,10 +1068,12 @@ AAAB]]
{6:~ }|*6
{7:[No Name] }|
:e |
]]}
]],
}
meths.buf_set_lines(buf, 1, 2, true, {'BBB'})
screen:expect{grid=[[
meths.buf_set_lines(buf, 1, 2, true, { 'BBB' })
screen:expect {
grid = [[
{1: }aaa │{1: }aaa |
{1: }{8:BBB}{9: }│{1: }{8:bbb}{9: }|
{1: }ccc │{1: }ccc |
@@ -1069,16 +1085,18 @@ AAAB]]
{6:~ }|*6
{7:[No Name] }|
:e |
]]}
]],
}
end)
it('redraws with a change current buffer in another window', function()
write_file(fname, "aaa\nbbb\nccc\n\nxx", false)
write_file(fname_2, "aaa\nbbb\nccc\n\nyy", false)
it('redraws with a change current buffer in another window', function()
write_file(fname, 'aaa\nbbb\nccc\n\nxx', false)
write_file(fname_2, 'aaa\nbbb\nccc\n\nyy', false)
reread()
local buf = meths.get_current_buf()
command('botright split | diffoff')
screen:expect{grid=[[
screen:expect {
grid = [[
{1: }aaa │{1: }aaa |
{1: }bbb │{1: }bbb |
{1: }ccc │{1: }ccc |
@@ -1094,10 +1112,12 @@ AAAB]]
{6:~ }|*2
{7:Xtest-functional-diff-screen-1 }|
:e |
]]}
]],
}
meths.buf_set_lines(buf, 1, 2, true, {'BBB'})
screen:expect{grid=[[
meths.buf_set_lines(buf, 1, 2, true, { 'BBB' })
screen:expect {
grid = [[
{1: }aaa │{1: }aaa |
{1: }{8:BBB}{9: }│{1: }{8:bbb}{9: }|
{1: }ccc │{1: }ccc |
@@ -1113,7 +1133,8 @@ AAAB]]
{6:~ }|*2
{7:Xtest-functional-diff-screen-1 [+] }|
:e |
]]}
]],
}
end)
end)
@@ -1122,24 +1143,28 @@ it('win_update redraws lines properly', function()
screen = Screen.new(50, 10)
screen:attach()
screen:set_default_attr_ids({
[1] = {bold = true, foreground = Screen.colors.Blue1},
[2] = {foreground = Screen.colors.Grey100, background = Screen.colors.Red},
[3] = {background = Screen.colors.Red, foreground = Screen.colors.Grey100, special = Screen.colors.Yellow},
[4] = {bold = true, foreground = Screen.colors.SeaGreen4},
[5] = {special = Screen.colors.Yellow},
[6] = {special = Screen.colors.Yellow, bold = true, foreground = Screen.colors.SeaGreen4},
[7] = {foreground = Screen.colors.Grey0, background = Screen.colors.Grey100},
[8] = {foreground = Screen.colors.Gray90, background = Screen.colors.Grey100},
[9] = {foreground = tonumber('0x00000c'), background = Screen.colors.Grey100},
[10] = {background = Screen.colors.Grey100, bold = true, foreground = tonumber('0xe5e5ff')},
[11] = {background = Screen.colors.Grey100, bold = true, foreground = tonumber('0x2b8452')},
[12] = {bold = true, reverse = true},
[13] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.WebGray},
[14] = {reverse = true},
[15] = {background = Screen.colors.LightBlue},
[16] = {background = Screen.colors.LightCyan1, bold = true, foreground = Screen.colors.Blue1},
[17] = {bold = true, background = Screen.colors.Red},
[18] = {background = Screen.colors.LightMagenta},
[1] = { bold = true, foreground = Screen.colors.Blue1 },
[2] = { foreground = Screen.colors.Grey100, background = Screen.colors.Red },
[3] = {
background = Screen.colors.Red,
foreground = Screen.colors.Grey100,
special = Screen.colors.Yellow,
},
[4] = { bold = true, foreground = Screen.colors.SeaGreen4 },
[5] = { special = Screen.colors.Yellow },
[6] = { special = Screen.colors.Yellow, bold = true, foreground = Screen.colors.SeaGreen4 },
[7] = { foreground = Screen.colors.Grey0, background = Screen.colors.Grey100 },
[8] = { foreground = Screen.colors.Gray90, background = Screen.colors.Grey100 },
[9] = { foreground = tonumber('0x00000c'), background = Screen.colors.Grey100 },
[10] = { background = Screen.colors.Grey100, bold = true, foreground = tonumber('0xe5e5ff') },
[11] = { background = Screen.colors.Grey100, bold = true, foreground = tonumber('0x2b8452') },
[12] = { bold = true, reverse = true },
[13] = { foreground = Screen.colors.DarkBlue, background = Screen.colors.WebGray },
[14] = { reverse = true },
[15] = { background = Screen.colors.LightBlue },
[16] = { background = Screen.colors.LightCyan1, bold = true, foreground = Screen.colors.Blue1 },
[17] = { bold = true, background = Screen.colors.Red },
[18] = { background = Screen.colors.LightMagenta },
})
insert([[
@@ -1149,15 +1174,16 @@ it('win_update redraws lines properly', function()
2
1a
]])
command("vnew left")
command('vnew left')
insert([[
2
2a
2b
]])
command("windo diffthis")
command("windo 1")
screen:expect{grid=[[
command('windo diffthis')
command('windo 1')
screen:expect {
grid = [[
{13: }{16:-----------------------}│{13: }{15:^1 }|
{13: }{16:-----------------------}│{13: }{15: }|*2
{13: }2 │{13: }2 |
@@ -1167,13 +1193,15 @@ it('win_update redraws lines properly', function()
{1:~ }│{1:~ }|
{14:left [+] }{12:[No Name] [+] }|
|
]]}
]],
}
feed('<C-e>')
feed('<C-e>')
feed('<C-y>')
feed('<C-y>')
feed('<C-y>')
screen:expect{grid=[[
screen:expect {
grid = [[
{13: }{16:-----------------------}│{13: }{15:1 }|
{13: }{16:-----------------------}│{13: }{15: }|
{13: }{16:-----------------------}│{13: }{15:^ }|
@@ -1184,7 +1212,8 @@ it('win_update redraws lines properly', function()
{1:~ }│{1:~ }|
{14:left [+] }{12:[No Name] [+] }|
|
]]}
]],
}
end)
-- oldtest: Test_diff_rnu()
@@ -1192,17 +1221,17 @@ it('diff updates line numbers below filler lines', function()
local screen = Screen.new(40, 14)
screen:attach()
screen:set_default_attr_ids({
[1] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.WebGray},
[2] = {background = Screen.colors.LightCyan1, bold = true, foreground = Screen.colors.Blue1},
[3] = {reverse = true},
[4] = {background = Screen.colors.LightBlue},
[5] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.LightGrey},
[6] = {bold = true, foreground = Screen.colors.Blue1},
[7] = {bold = true, reverse = true},
[8] = {bold = true, background = Screen.colors.Red},
[9] = {background = Screen.colors.LightMagenta},
[10] = {bold = true, foreground = Screen.colors.Brown},
[11] = {foreground = Screen.colors.Brown},
[1] = { foreground = Screen.colors.DarkBlue, background = Screen.colors.WebGray },
[2] = { background = Screen.colors.LightCyan1, bold = true, foreground = Screen.colors.Blue1 },
[3] = { reverse = true },
[4] = { background = Screen.colors.LightBlue },
[5] = { foreground = Screen.colors.DarkBlue, background = Screen.colors.LightGrey },
[6] = { bold = true, foreground = Screen.colors.Blue1 },
[7] = { bold = true, reverse = true },
[8] = { bold = true, background = Screen.colors.Red },
[9] = { background = Screen.colors.LightMagenta },
[10] = { bold = true, foreground = Screen.colors.Brown },
[11] = { foreground = Screen.colors.Brown },
})
exec([[
call setline(1, ['a', 'a', 'a', 'y', 'b', 'b', 'b', 'b', 'b'])
@@ -1265,14 +1294,14 @@ it('Align the filler lines when changing text in diff mode', function()
local screen = Screen.new(40, 20)
screen:attach()
screen:set_default_attr_ids({
[1] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.Gray};
[2] = {background = Screen.colors.LightCyan, foreground = Screen.colors.Blue1, bold = true};
[3] = {reverse = true};
[4] = {background = Screen.colors.LightBlue};
[5] = {background = Screen.colors.LightMagenta};
[6] = {background = Screen.colors.Red, bold = true};
[7] = {foreground = Screen.colors.Blue1, bold = true};
[8] = {reverse = true, bold = true};
[1] = { foreground = Screen.colors.DarkBlue, background = Screen.colors.Gray },
[2] = { background = Screen.colors.LightCyan, foreground = Screen.colors.Blue1, bold = true },
[3] = { reverse = true },
[4] = { background = Screen.colors.LightBlue },
[5] = { background = Screen.colors.LightMagenta },
[6] = { background = Screen.colors.Red, bold = true },
[7] = { foreground = Screen.colors.Blue1, bold = true },
[8] = { reverse = true, bold = true },
})
exec([[
call setline(1, range(1, 15))
@@ -1282,7 +1311,8 @@ it('Align the filler lines when changing text in diff mode', function()
wincmd h
exe "normal Gl5\<C-E>"
]])
screen:expect{grid=[[
screen:expect {
grid = [[
{1: }{2:------------------}│{1: }{4:6 }|
{1: }{2:------------------}│{1: }{4:7 }|
{1: }{2:------------------}│{1: }{4:8 }|
@@ -1296,9 +1326,11 @@ it('Align the filler lines when changing text in diff mode', function()
{7:~ }│{7:~ }|*8
{8:[No Name] [+] }{3:[No Name] [+] }|
|
]]}
]],
}
feed('ax<Esc>')
screen:expect{grid=[[
screen:expect {
grid = [[
{1: }{2:------------------}│{1: }{4:6 }|
{1: }{2:------------------}│{1: }{4:7 }|
{1: }{2:------------------}│{1: }{4:8 }|
@@ -1312,9 +1344,11 @@ it('Align the filler lines when changing text in diff mode', function()
{7:~ }│{7:~ }|*8
{8:[No Name] [+] }{3:[No Name] [+] }|
|
]]}
]],
}
feed('<C-W>lay<Esc>')
screen:expect{grid=[[
screen:expect {
grid = [[
{1: }{2:-----------------}│{1: }{4:6 }|
{1: }{2:-----------------}│{1: }{4:7 }|
{1: }{2:-----------------}│{1: }{4:8 }|
@@ -1328,13 +1362,14 @@ it('Align the filler lines when changing text in diff mode', function()
{7:~ }│{7:~ }|*8
{3:[No Name] [+] }{8:[No Name] [+] }|
|
]]}
]],
}
end)
it("diff mode doesn't restore invalid 'foldcolumn' value #21647", function()
local screen = Screen.new(60, 6)
screen:set_default_attr_ids({
[0] = {foreground = Screen.colors.Blue, bold = true};
[0] = { foreground = Screen.colors.Blue, bold = true },
})
screen:attach()
eq('0', meths.get_option_value('foldcolumn', {}))
@@ -1351,14 +1386,14 @@ end)
it('diff mode works properly if file contains NUL bytes vim-patch:8.2.3925', function()
local screen = Screen.new(40, 20)
screen:set_default_attr_ids({
[1] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.Gray};
[2] = {reverse = true};
[3] = {background = Screen.colors.LightBlue};
[4] = {background = Screen.colors.LightMagenta};
[5] = {background = Screen.colors.Red, bold = true};
[6] = {foreground = Screen.colors.Blue, bold = true};
[7] = {background = Screen.colors.Red, foreground = Screen.colors.Blue, bold = true};
[8] = {reverse = true, bold = true};
[1] = { foreground = Screen.colors.DarkBlue, background = Screen.colors.Gray },
[2] = { reverse = true },
[3] = { background = Screen.colors.LightBlue },
[4] = { background = Screen.colors.LightMagenta },
[5] = { background = Screen.colors.Red, bold = true },
[6] = { foreground = Screen.colors.Blue, bold = true },
[7] = { background = Screen.colors.Red, foreground = Screen.colors.Blue, bold = true },
[8] = { reverse = true, bold = true },
})
screen:attach()
exec([[
@@ -1439,10 +1474,10 @@ it("diff mode draws 'breakindent' correctly after filler lines", function()
local screen = Screen.new(45, 8)
screen:attach()
screen:set_default_attr_ids({
[1] = {background = Screen.colors.Grey, foreground = Screen.colors.DarkBlue};
[2] = {background = Screen.colors.LightBlue};
[3] = {background = Screen.colors.LightCyan, bold = true, foreground = Screen.colors.Blue};
[4] = {foreground = Screen.colors.Blue, bold = true};
[1] = { background = Screen.colors.Grey, foreground = Screen.colors.DarkBlue },
[2] = { background = Screen.colors.LightBlue },
[3] = { background = Screen.colors.LightCyan, bold = true, foreground = Screen.colors.Blue },
[4] = { foreground = Screen.colors.Blue, bold = true },
})
exec([[
set laststatus=0 diffopt+=followwrap breakindent