lispunion / code-formatter

Portable code formatting library. Format any Lisp from any Lisp.
MIT License
29 stars 7 forks source link

allow custom indent size #1

Open vtta opened 5 years ago

vtta commented 5 years ago

I prefer to indent using 2 spaces, so I made this change to allow changing indent size via changing indent-size to desired value in add-indent-size. I hope this will be helpful to other people who also prefer custom indent settings.😉

lassik commented 5 years ago

Awesome, thank you! I didn't know people are using this right now; I've been putting off work on it.

Lisp code is almost universally indented using 2 spaces, as you prefer. I think we should change it to always indent with 2 spaces for that reason. I haven't really seen any Lisp/Scheme code that uses a different indent size, and that's great for consistency. What do you think?

vtta commented 5 years ago

Yeah, I would like that very much🤗

lassik commented 5 years ago

Great. Let's do it. Are you using this with Chicken 4 or Chicken 5? The master branch is using 4 but the lassik-chicken5 branch should be fully functional.

lassik commented 5 years ago

I gave you write access to the repo in case you are interested in hacking on Lisp formatting. Lisp-Scheme collaboration is not popular at the moment so having more people on board is great :)

vtta commented 5 years ago

Thanks for all your work and allowing me onboard😁 I'm using chicken @4.13.0 from macports currently, I will give Chicken 5 a try. Actually I'm a rookie reading SICP, and most of my scheme experience is with MIT/GNU Scheme. I will put some work into Chicken, figuring out the differences and dive into all those macro magics. 😅

vtta commented 5 years ago

I noticed a glitch with the indentation of let statement. Desired:

(let ((a definition-of-a)
      (b definition-of-b))
  (do something))

Got:

(let ((a definition-of-a)
       (b definition-of-b))
  (do something))

When I figure it out I will merge all those commits together.

lassik commented 5 years ago

You're right, that let is currently incorrect.

Sorry about the delay responding, too many concurrent projects... Awesome that you're going through SICP, it's a great book :) If you don't mind, I can merge the Chicken 5 changes into the master branch so we can develop from that foundation. It'll be somewhat confusing to maintain separate Chicken 4 and Chicken 5 branches as development progresses.

If somebody is using an OS that doesn't have Chicken 5 yet, I can get in touch with the distributors about helping to ship it there.

vtta commented 5 years ago

That would be great. I'm always longing for the latest software😆