Re: ATS mode indentation

2017-10-18 Thread Andrew Knapp
What level of knowledge should the video assume? I'm guessing these are pretty new students without much emacs experience. I should have time to write a real README and do a brief video this weekend. On Friday, October 13, 2017 at 2:43:57 PM UTC-7, gmhwxi wrote: > > This looks good. > > Could

Re: ATS mode indentation

2017-10-13 Thread Artyom Shalkhakov
This is awesome! I'll try it on the weekend. Thank you! 14 окт. 2017 г. 1:24 AM пользователь "Andrew Knapp" написал: Both of those test cases should work now, as well as a lot of others. Some of the weird starting errors have been fixed, especially at the top level, but

Re: ATS mode indentation

2017-10-12 Thread aditya siram
Huge thanks for working on this. It's difficult and tedious but sorely needed. Here's some bad indentation cases I found: sortdef even = { i:int | i mod 2 == 0 } sortdef agz = {l:addr | l > null} implement main0 () = let ... in

Re: ATS mode indentation

2017-10-12 Thread Andrew Knapp
Taking a closer look, there are definitely cases I didn't use that behave strangely. As I see it, there are four causes for this. The first is an incomplete treatment of similar constructs that should be indented the same way, e.g. datatype, dataprop, dataviewtype... I thought I had gotten

Re: ATS mode indentation

2017-10-12 Thread Hongwei Xi
I gave it a try last night. I encountered many cases of excessive indentation. The syntax of ATS is rich and complex. So it makes sense to require the programmer to manually add indentation. With the current ats-mode, you get two spaces if you hit the tab key. So you are pretty much in control of

ATS mode indentation

2017-10-11 Thread Andrew Knapp
Hello all, By cannibalizing sml.el, I have largely gotten automatic indentation working in ATS. After a few months of sporadic use, the only problem I couldn't fix is excessive indentation after a function has ended. This can be fixed by terminating all functions with semicolons, which is