emacs/test/lisp/progmodes/lua-ts-mode-resources/indent.erts

868 lines
11 KiB
Plaintext

Code:
(lambda ()
(setq indent-tabs-mode nil)
(setq lua-ts-indent-offset 2)
(lua-ts-mode)
(indent-region (point-min) (point-max)))
Name: Chunk Indent
=-=
print(1)
print(2)
=-=
print(1)
print(2)
=-=-=
Name: Function Indent
=-=
function f1(n)
print(n)
return n + 1
end
local function f2(n)
print(n)
return n * 2
end
local f3 = function(n)
print(n)
return n / 3
end
function f4(...)
local f = function (...)
if ok
then print(1)
else print(0)
end
end
return f
end
function f5(...)
local f = function (...)
if ok
then
print(1)
else
print(0)
end
end
return f
end
function f6(...)
local f = function (...)
if ok then
print(1)
else
print(0)
end
end
return f
end
f6(function()
print'ok'
end)
;(function ()
return true
end)()
=-=
function f1(n)
print(n)
return n + 1
end
local function f2(n)
print(n)
return n * 2
end
local f3 = function(n)
print(n)
return n / 3
end
function f4(...)
local f = function (...)
if ok
then print(1)
else print(0)
end
end
return f
end
function f5(...)
local f = function (...)
if ok
then
print(1)
else
print(0)
end
end
return f
end
function f6(...)
local f = function (...)
if ok then
print(1)
else
print(0)
end
end
return f
end
f6(function()
print'ok'
end)
;(function ()
return true
end)()
=-=-=
Name: Conditional Indent
=-=
if true then
print(true)
return 1
elseif false then
print(false)
return -1
else
print(nil)
return 0
end
if true
then
print(true)
return 1
elseif false
then
print(false)
return -1
else
print(nil)
return 0
end
if true
then return 1
elseif false
then return -1
else return 0
end
=-=
if true then
print(true)
return 1
elseif false then
print(false)
return -1
else
print(nil)
return 0
end
if true
then
print(true)
return 1
elseif false
then
print(false)
return -1
else
print(nil)
return 0
end
if true
then return 1
elseif false
then return -1
else return 0
end
=-=-=
Name: Loop Indent
=-=
for k,v in pairs({}) do
print(k)
print(v)
end
for i=1,10
do print(i)
end
while n < 10 do
n = n + 1
print(n)
end
while n < 10
do
n = n + 1
print(n)
end
for i=0,9 do
repeat n = n+1
until n > 99
end
repeat
z = z * 2
print(z)
until z > 12
for i,x in ipairs(t) do
while i < 9
do
local n = t[x]
repeat n = n + 1
until n > #t
while n < 99
do
print(n)
end
end
print(t[i])
end
do
local a = b
print(a + 1)
end
=-=
for k,v in pairs({}) do
print(k)
print(v)
end
for i=1,10
do print(i)
end
while n < 10 do
n = n + 1
print(n)
end
while n < 10
do
n = n + 1
print(n)
end
for i=0,9 do
repeat n = n+1
until n > 99
end
repeat
z = z * 2
print(z)
until z > 12
for i,x in ipairs(t) do
while i < 9
do
local n = t[x]
repeat n = n + 1
until n > #t
while n < 99
do
print(n)
end
end
print(t[i])
end
do
local a = b
print(a + 1)
end
=-=-=
Name: Bracket Indent
=-=
fn(
)
tb={
}
=-=
fn(
)
tb={
}
=-=-=
Name: Multi-line String Indent
=-=
local s = [[
Multi-line
string content
]]
function f()
local str = [[
multi-line
string
]]
return true
end
=-=
local s = [[
Multi-line
string content
]]
function f()
local str = [[
multi-line
string
]]
return true
end
=-=-=
Name: Multi-line Comment Indent
=-=
--[[
Multi-line
comment content
]]
function f()
--[[
multi-line
comment
]]
return true
end
--[[
Long comment.
]]
=-=
--[[
Multi-line
comment content
]]
function f()
--[[
multi-line
comment
]]
return true
end
--[[
Long comment.
]]
=-=-=
Name: Comment Indent
=-=
local fn1 = function (a, b)
-- comment
return a + b
end
local tb1 = {
first = 1,
-- comment
second = 2,
}
local tb9 = { one = 1,
-- comment
two = 2 }
=-=
local fn1 = function (a, b)
-- comment
return a + b
end
local tb1 = {
first = 1,
-- comment
second = 2,
}
local tb9 = { one = 1,
-- comment
two = 2 }
=-=-=
Name: Argument Indent
=-=
h(
"string",
1000
)
local p = h(
"string",
1000
)
fn(1,
2,
3)
fn( 1, 2,
3, 4 )
f({
x = 1,
y = 2,
z = 3,
})
f({ x = 1,
y = 2,
z = 3, })
Test({
a=1
})
Test({
a = 1,
b = 2,
},
nil)
Test(nil, {
a = 1,
b = 2,
})
fn( -- comment
1,
2)
=-=
h(
"string",
1000
)
local p = h(
"string",
1000
)
fn(1,
2,
3)
fn( 1, 2,
3, 4 )
f({
x = 1,
y = 2,
z = 3,
})
f({ x = 1,
y = 2,
z = 3, })
Test({
a=1
})
Test({
a = 1,
b = 2,
},
nil)
Test(nil, {
a = 1,
b = 2,
})
fn( -- comment
1,
2)
=-=-=
Name: Parameter Indent
=-=
function f1(
a,
b
)
print(a,b)
end
local function f2(a,
b)
print(a,b)
end
local f3 = function( a, b,
c, d )
print(a,b,c,d)
end
local f4 = function(-- comment
a, b, c)
=-=
function f1(
a,
b
)
print(a,b)
end
local function f2(a,
b)
print(a,b)
end
local f3 = function( a, b,
c, d )
print(a,b,c,d)
end
local f4 = function(-- comment
a, b, c)
=-=-=
Name: Table Indent
=-=
local Other = {
First={up={Step=true,Jump=true},
down={Step=true,Jump=true},
left={Step=true,Jump=true},
right={Step=true,Jump=true}},
Second={up={Step=true,Jump=true},
down={Step=true,Jump=true},
left={Step=true,Jump=true},
right={Step=true,Jump=true}},
Third={up={Goto=true},
down={Goto=true},
left={Goto=true},
right={Goto=true}}
}
local Other = {
a = 1,
b = 2,
c = 3,
}
local a = { -- hello world!
b = 10
}
=-=
local Other = {
First={up={Step=true,Jump=true},
down={Step=true,Jump=true},
left={Step=true,Jump=true},
right={Step=true,Jump=true}},
Second={up={Step=true,Jump=true},
down={Step=true,Jump=true},
left={Step=true,Jump=true},
right={Step=true,Jump=true}},
Third={up={Goto=true},
down={Goto=true},
left={Goto=true},
right={Goto=true}}
}
local Other = {
a = 1,
b = 2,
c = 3,
}
local a = { -- hello world!
b = 10
}
=-=-=
Name: Continuation Indent
=-=
local very_long_variable_name =
"ok"..
"ok"
local n = a +
b *
c /
1
local x = "A"..
"B"
.."C"
if a
and b
and c then
if x
and y then
local x = 1 +
2 *
3
end
elseif a
or b
or c then
end
=-=
local very_long_variable_name =
"ok"..
"ok"
local n = a +
b *
c /
1
local x = "A"..
"B"
.."C"
if a
and b
and c then
if x
and y then
local x = 1 +
2 *
3
end
elseif a
or b
or c then
end
=-=-=
Code:
(lambda ()
(setq indent-tabs-mode nil)
(setq lua-ts-indent-offset 4)
(lua-ts-mode)
(indent-region (point-min) (point-max)))
Name: End Indent
=-=
function f(x)
for y=1,x.y do
for x=1,x.z do
if x.y and x.z then
if y <= x then
y = y + 1
end end end end
return {x,y} or {math.random(),math.random()}
end
for y=1,x.y do
for x=1,x.z do
if x.y and x.z then
if y <= x then
y = y + 1
end
end end end
=-=
function f(x)
for y=1,x.y do
for x=1,x.z do
if x.y and x.z then
if y <= x then
y = y + 1
end end end end
return {x,y} or {math.random(),math.random()}
end
for y=1,x.y do
for x=1,x.z do
if x.y and x.z then
if y <= x then
y = y + 1
end
end end end
=-=-=
Name: Nested Function Indent
=-=
function a(...)
return (function (x)
return x
end)(foo(...))
end
function b(n)
local x = 1
return function (i)
return function (...)
return (function (n, ...)
return function (f, ...)
return (function (...)
if ... and x < 9 then
x = x + 1
return ...
end end)(n(f, ...))
end, ...
end)(i(...))
end end end
function c(f)
local f1 = function (...)
if nil ~= ... then
return f(...)
end
end
return function (i)
return function (...)
local fn = function (n, ...)
local x = function (f, ...)
return f1(n(f, ...))
end
return x
end
return fn(i(...))
end
end
end
function d(f)
local f1 = function (c, f, ...)
if ... then
if f(...) then
return ...
else
return c(f, ...)
end end end
return function (i)
return function (...)
return (function (n, ...)
local function j (f, ...)
return f1(j, f, n(f, ...))
end
return j, ...
end)(i(...))
end end end
function e (n, t)
return function (i)
return function (...)
return (
function (n, ...)
local x, y, z = 0, {}
return (function (f, ...)
return (function (i, ...) return i(i, ...) end)(
function (i, ...)
return f(function (x, ...)
return i(i, ...)(x, ...)
end, ...)
end)
end)(function (j)
return function(f, ...)
return (function (c, f, ...)
if ... then
if n+1 == x then
local y1, x1 = y, x
y, x = {}, 0
return (function (...)
z = ...
return ...
end)(t(y1-1, x1-1, ...))
else
x = x - 1
return c(f,
(function (...)
z = ...
return ...
end)(t(y, x, ...)))
end
elseif x ~= 0 then
x = 0
return z, y
end end)(j, f, n(f, ...))
end end), ...
end)(i(...))
end end end
=-=-=
Code:
(lambda ()
(setq indent-tabs-mode nil)
(setq lua-ts-indent-continuation-lines nil)
(setq lua-ts-indent-offset 2)
(lua-ts-mode)
(indent-region (point-min) (point-max)))
Name: Unaligned Continuation Indent
=-=
local n = a +
b *
c /
1
if a
and b
and c then
if x
and y then
local x = 1 +
2 *
3
end
elseif a
or b
or c then
if x
or y
end
end
=-=
local n = a +
b *
c /
1
if a
and b
and c then
if x
and y then
local x = 1 +
2 *
3
end
elseif a
or b
or c then
if x
or y
end
end
=-=-=