-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Next round of Indentation Work #257
base: master
Are you sure you want to change the base?
Commits on Dec 19, 2020
-
Rename
fsharp-statement-opens-block-p
-> `fsharp-expression-opens-b……lock-p` F#... doesn't have statements, which makes this name very, very confusing. This is a straight rename.
Configuration menu - View commit details
-
Copy full SHA for 38b0312 - Browse repository at this point
Copy the full SHA 38b0312View commit details -
This regex isn't used, *and* is very wrong for how strings work in F#
This regex is a hot mess. Fortunately, it's unused.
Configuration menu - View commit details
-
Copy full SHA for f4fe806 - Browse repository at this point
Copy the full SHA f4fe806View commit details -
This is A Lot, but it is, broadly, better.
Okay. This got really messy, and I need to pin everything down. It turns out that F# indentation is _really hard_. Everything is relative, and the only thing that matters is that *blocks line up*. That's fine, but also hard. There are many cases where the "normal" behavior is to line up with a particular part of the preceding line, rather than with a particular indent level. So. This is slowly taking the approach that we should maintain a list of the levels of indent, and we should see: 1. Ret *mostly* goes to the same level, except in certain cases when we might *indent* 2. Tab will first increase indent one level, then go back to start, then decrease through all the preceeding levels. 3. Indentation is for semantics, lining up blocks correctly so the compiler can interpret them correctly. *Formatting* should be handled by Fantomas, either via LSP or by calling it directly.
Configuration menu - View commit details
-
Copy full SHA for 9e24f36 - Browse repository at this point
Copy the full SHA 9e24f36View commit details -
Hard disable electric indent mode in F# mode
As the comment says: during testing, I'm finding that `electric-indent-inhibit` is not being respected. This often causes the indent-line function to fire twice -- which we detect and take specific action on, which means that it firing twice is bad. Electric Indent Mode can be disabled per-buffer, so let's just do that.
Configuration menu - View commit details
-
Copy full SHA for 81f5e2a - Browse repository at this point
Copy the full SHA 81f5e2aView commit details -
Update tests to use buttercup and get them all passing
This marks all the tests being up-to-date using buttercup *and passing*. Huzzah!
Configuration menu - View commit details
-
Copy full SHA for 3dda200 - Browse repository at this point
Copy the full SHA 3dda200View commit details
Commits on Dec 20, 2020
-
Did a pass, trying to remove unused things. Did not actually find many, alas.
Configuration menu - View commit details
-
Copy full SHA for 42ef5e5 - Browse repository at this point
Copy the full SHA 42ef5e5View commit details