Skip to content

Commit 6e645ed

Browse files
authored
Improve do-notation indentation (#26)
1 parent dc8b3af commit 6e645ed

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

indent/haskell.vim

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,10 @@ function! GetHaskellIndent() abort
148148
return match(nonblankline, '\v^\s*%(<where>|.*<let>)?\s*\zs') + &shiftwidth
149149
endif
150150

151+
if nonblankline =~# '\v<do>\s*[[:alnum:](]'
152+
return match(nonblankline, '\v<do>\s*\zs\S')
153+
endif
154+
151155
if nonblankline =~# '\v<deriving>'
152156
return s:indent('', '\v^\s*\zs<data>', 0)
153157
endif

test/do/do_same_line.in.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
main = do print "hello"
2+
print "world"

test/do/do_same_line.out.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
main = do print "hello"
2+
print "world"

0 commit comments

Comments
 (0)