1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
|
-- indentation if broken in the middle of \"foo.bar\" and \"qux:quux\"
foo123
.bar:baz(xyz)
foo123.
bar:baz(xyz)
foo123.bar
:baz(xyz)
foo123.bar:
baz(xyz)
foo123.bar
.baz
.qux
:quux(xyz)
-- indentation after return
function foo()
return
123
end
-- indentation after return: blocks
do
return
123
end
do
return
x +
y
end
do
return
end
foo = bar
-- indentation after return: f1
function f1()
if foo == bar then
return
else
foo = bar
end
end
-- indentation after return: f2
function f2()
if foo == bar then
return
elseif foo != bar then
foo = bar
end
end
-- indentation after return: f3
function f3()
repeat
return
until foo == bar
end
-- indentation after ellipsis
function x(...)
a, b = 1, ...
return b
end
-- indentation in block-intros: while
while
foo do
a = a + 1
end
a = 0
-- indentation in block-intros: while 2
while
foo
do
a = a + 1
end
a = 0
-- indents expressions after return: basic
function myfunc()
return
123
end
-- indents expressions after return: function literal
function myfunc()
return
function() return 123 end
end
-- indents expressions after return: ellipsis
function myfunc(...)
return
...
end
-- does not indents keywords after return: end
function myfunc()
return
end
-- does not indents keywords after return: if/end
function myfunc()
if true then
return
end
end
-- does not indents keywords after return: if/else
function myfunc()
if true then
return
else
print(123)
end
end
-- does not indents keywords after return: if/elseif
function myfunc()
if true then
return
elseif false then
print(123)
end
end
-- does not indents keywords after return: repeat/until
function myfunc()
repeat
return
until true
end
-- does not indents keywords after return: semicolon 1
function myfunc()
if true then
return;
end
end
-- does not indents keywords after return: semicolon 2
function myfunc()
if true then
return;
hello_world() -- this is incorrect syntax, but it's fine
else
return
hello_world()
end
end
|