Comments (8)
Thank's for the feedback. Awsome sounds good!
I've been discussing this with many developers and there seems to be two equally strong opposite camps. The way I see it is that I need to make the README.md very clear on this issue.
We need to hold a beauty contest once the mode has had enough testing that I feel confident in anouncing it to the world (altho the word has leeked already, I have learned).
Comments from other users on this issue are also welcomed here.
from emacs-scala-mode.
I agree with Brian's position (as you probably already knew). I think a beauty contest makes sense, although if a few more people weigh in on this side you may want to just flip the defaults (and warn current users).
Clearly those of us who know the mode is good can just configure it the way we want... it's just a question of what seems like better behavior to new users.
Sorry for spilling the beans, btw!
from emacs-scala-mode.
I agree with:
(setq scala-indent:indent-value-expression nil)
since this is the idiomatic indentation:
def foo = if(true) {
bar
}
not
def foo = if(true) {
bar
}
Having the latter as the default would invite re-formatting wars on teams where the devs are using different developers :)
This one I also agree with, but I'm not as confient that it's definitely "more idiomatic".
(setq scala-indent:align-parameters nil)
Can someone comment on what this one does?
(setq scala-indent:align-forms nil)
from emacs-scala-mode.
@ymasory align-forms non-nil:
val x = if (kala)
foo
else if (koira)
bar
else
zot
align-forms nil:
val x = if (kala)
foo
else if (koira)
bar
else
zot
from emacs-scala-mode.
align-forms nil, indent-value-expression nil is actually:
val x = if (kala)
foo
else if (koira)
bar
else
zot
Which I personally find hard to read.
from emacs-scala-mode.
...but which is exactly what I want.
from emacs-scala-mode.
Thanks @hvesalai. I vote nil for all three then! The only items I tend to align between lines are the arrows in pattern matches.
Perhaps the scalariform defaults should be used? I believe ScalaIDE and ENSIME both use the Scalariform defaults without modification. Not sure about IntelliJ and othes.
from emacs-scala-mode.
Ok. Let it be so.
from emacs-scala-mode.
Related Issues (20)
- Wrong indentation after import `scala.util.Try` HOT 7
- Indenting For Comprehensions HOT 1
- Assertion failed HOT 1
- `**` at end of multiline comment cause issue HOT 8
- move to gitlab HOT 1
- import symbol at point using CTAGS HOT 4
- face colourings incorrect for scalaz right disjunction
- git CI back online
- How do I run scala code blocks in org-mode? HOT 11
- Incompatible with aggressive-indent-mode HOT 12
- Fontification of prettified symbols HOT 1
- Remove ob-scala.el since it depends on abandoned ensime HOT 5
- Multi-line Comments not considered as Blocks HOT 7
- Tag a new release HOT 2
- Support Scala 3/Dotty HOT 48
- Don't understand rationale behind syntax hightlighting. HOT 2
- Inappropriate Indentation for classes with keyword names HOT 2
- Learning Emacs link in the README file is broken HOT 1
- imenu fails with error HOT 3
- Allow to customize parameter list indentation level? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from emacs-scala-mode.