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 ;(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 ;(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 =-= --[[ Multi-line comment content ]] function f() --[[ multi-line comment ]] return true end =-=-= 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) =-= 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) =-=-= 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 =-= 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 =-=-= 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 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, } =-=-= 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 =-=-=