File tree Expand file tree Collapse file tree 2 files changed +47
-3
lines changed Expand file tree Collapse file tree 2 files changed +47
-3
lines changed Original file line number Diff line number Diff line change 121
121
(" try" " do" statements " catch" match-statements " end" )
122
122
(" try" " do" statements " rescue" match-statements " end" )
123
123
(" try" " do" statements " end" )
124
- (" case" non-block-expr " do" match-statements " end" ))
124
+ (" case" non-block-expr " do" match-statements " end" )
125
+ (" for" non-block-expr " COMMA" " do:" non-block-expr))
125
126
(non-block-expr (non-block-expr " OP" non-block-expr)
126
- (non-block-expr " COMMA" non-block-expr)
127
127
(" (" non-block-expr " )" )
128
128
(" {" non-block-expr " }" )
129
129
(" [" non-block-expr " ]" )
365
365
(smie-rule-parent ))))
366
366
(`(:before . " fn" )
367
367
(smie-rule-parent ))
368
+ (`(:before . " for" )
369
+ (smie-rule-parent ))
368
370
(`(:before . " do:" )
369
371
(cond
370
372
((smie-rule-parent-p " def" " if" " defp" " defmacro" " defmacrop" )
371
373
(smie-rule-parent ))
372
374
((and (smie-rule-parent-p " ;" )
373
375
(not (smie-rule-hanging-p )))
374
- (smie-rule-parent elixir-smie-indent-basic))))
376
+ (smie-rule-parent elixir-smie-indent-basic))
377
+ ; ; Example
378
+ ; ;
379
+ ; ; hi = for i <- list, do: i
380
+ ; ; # weird spacing now <- Indent
381
+ ; ;
382
+ ; ; for i <- list, do: i
383
+ ; ; IO.puts 'WORKED' <- Indent
384
+ ((and (smie-rule-parent-p " for" )
385
+ (not (smie-rule-hanging-p )))
386
+ (smie-rule-parent ))))
375
387
(`(:before . " do" )
376
388
(cond
377
389
((and (smie-rule-parent-p " case" )
Original file line number Diff line number Diff line change @@ -1383,6 +1383,7 @@ config = %{
1383
1383
trace: opts[:trace]
1384
1384
}" )
1385
1385
1386
+
1386
1387
(elixir-def-indentation-test receive-after-block
1387
1388
(:tags '(indentation))
1388
1389
"
@@ -1414,6 +1415,37 @@ after
1414
1415
end
1415
1416
" )
1416
1417
1418
+ (elixir-def-indentation-test indent-after-for-online-definition
1419
+ (:tags '(indentation))
1420
+ "
1421
+ defmodule Hello do
1422
+ def hi do
1423
+ hi = for i <- list, do: i
1424
+ # weird spacing now
1425
+
1426
+ for i <- list, do: i
1427
+ IO.puts 'WORKED'
1428
+ end
1429
+ end
1430
+
1431
+ hi = for i <- list, do: i
1432
+ # weird spacing now
1433
+ "
1434
+ "
1435
+ defmodule Hello do
1436
+ def hi do
1437
+ hi = for i <- list, do: i
1438
+ # weird spacing now
1439
+
1440
+ for i <- list, do: i
1441
+ IO.puts 'WORKED'
1442
+ end
1443
+ end
1444
+
1445
+ hi = for i <- list, do: i
1446
+ # weird spacing now
1447
+ " )
1448
+
1417
1449
; ; We don't want automatic whitespace cleanup here because of the significant
1418
1450
; ; whitespace after `Record' above. By setting `whitespace-action' to nil,
1419
1451
; ; `whitespace-mode' won't automatically clean up trailing whitespace (in my
You can’t perform that action at this time.
0 commit comments