217
you are viewing a single comment's thread
view the rest of the comments
[-] exscape@kbin.social 10 points 2 years ago

The consistent appearance thing is probably more about how mixing tabs (for indentation) and spaces (for alignment, eg in multi-line function definitions of calls) looks like complete crap if you change the tab width.

[-] kevincox@lemmy.ml 8 points 2 years ago

I think you have it backwards. If you use tabs for indentation and spaces for alignment it works great for any tab size.

It is when you use a tab just as a compressed representation of 8 spaces and use them for alignment as well that it goes to shit. (because you have made the sin of tab == 8 spaces instead of the correct tab = 1 indent level)

[-] exscape@kbin.social 4 points 2 years ago

How does that work, and with which editor settings? If you simply set the tab width (tabstop) in vim, things go south.

Say you have a function definition one indent level in, then 22 characters of text. You more want to align the next line to that. How does that work in practice with tabs?

The obvious way with tabs and ts=4 would be 6 tabs and two spaces(one tab for the initial indent, the rest to match 22 characters). But then someone with ts=2 comes along and barely gets half way there, or someone with ts=8 who overshoots by a lot.

[-] wolo 6 points 2 years ago

That's not how you should mix tabs and spaces for alignment. You use the same number of tabs as the previous line, and then fill the remaining width with spaces. That way, when you change tab width, the alignment spaces will always start in the same column as the line they're aligning to, regardless of the tab width.

[-] exscape@kbin.social 4 points 2 years ago

Do most editors do that by default? If so, that's great -- if not, it's just a downside for tabs, if you need to hit enter, backspace out the automatic indents and then press space 30 times rather than just hit enter and have it aligned automatically.

vim seems to auto-insert tabs when you hit enter mid-function definition, at least with standard settings.

[-] wolo 3 points 2 years ago

That seems like a problem with Vim, then... Typically I don't align at all, so I'm not familiar with editor behavior for alignment; I prefer to just indent one level deeper.

load more comments (2 replies)
load more comments (2 replies)
load more comments (3 replies)
this post was submitted on 05 Sep 2023
217 points (100.0% liked)

Programming

19578 readers
22 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS