Problem with indentation
Opened this issue · 7 comments
Hello,
It seems that there is an issue regarding the indentation.
Consider the following snippet, the cursor is represented by '^':
foo =
bar
^
Then if I press backspace, I get the following:
foo =
bar
^
The position of the cursor seems to be wrong.
tl;dr I hear you, and am also currently working on this problem
I've also been dissatisfied with the indent file in this plugin (even though I'm the one who sent the PR for it in the first place!), and have been trying various other Haskell indent plugins. So far they all suck for Elm (auto-indenting will break Elm programs), and are proving difficult to adapt.
So... I'm starting to think that it might be easier to adapt an existing Python indent plugin to work for Elm. Python suffers for the same reasons (contextually significant whitespace) as Haskell, but since there are more Python users in the world their tools might be a bit better.
Also since Elm demands 4-space indentation, maybe the plugin should make vim do that automatically?
Is 4-space indentation an official thing? I've been away from Elm (and this plugin) for a while now; sorry to have dropped the ball. But if 4-space indentation is not semantic, then the user's shiftwidth
setting should be used. 4-spaces as a default should be fine though.
I realised I was referring to this gist which is not
official. On the other hand, I was originally using tabs for indentation
which were definitely giving me whitespace errors from the compiler.
I guess it's not an official thing then.
—Sahil
On Sat, Aug 29, 2015 at 7:21 AM, Alex Shroyer notifications@github.com
wrote:
Is 4-space indentation an official thing? I've been away from Elm (and
this plugin) for a while now; sorry to have dropped the ball. But if
4-space indentation is not semantic, then the user's shiftwidth setting
should be used. 4-spaces as a default should be fine though.—
Reply to this email directly or view it on GitHub
#19 (comment).
Until this is fixed, deleting the indentation folder works for me.
4 spaces is idiomatic (and enforced by elm-format
) but not semantic.
creact-elm-app
starting file Main.elm
is 4 spaces too btw.