LuaRocks using three spaces for indentation is absolutely disturbing. Its described as a middle-ground between two and four space indentation, but feels worse than either of the others. An odd number indentation? This is ridiculous.
@justsoup the solution is, has been, and will continue to be tab indentation.
indentation should be explicit, not implicit
@noisytoot @justsoup tabs for indentation, space for... well.. spacing...
this is a solved problem
@noisytoot @hexaheximal I like tabs because each contributor can set their rendering size to their preferences. 2 vs 4 space indentations doesn't matter when it can be the size of both. There are times where space formatting is needed though, but I rarely work with languages where that's good practice.
@justsoup @noisytoot I have definitely found myself switching tab render sizes between languages
@hexaheximal @justsoup emacs just handles them badly by default (without something like smart-tabs-mode)
firstly, tabs don’t exactly have a fixed width: they end at the next tab stop and the width is just the distance between the tab stops (this isn’t emacs-specific, that’s just how tabs work). with tabs only at the beginning of the line and not mixing tabs and spaces this shouldn’t matter much
how emacs handles them is it has a tab-width that’s the distance between tab stops, and a separate mode-specific variable (e.g. c-basic-offset for C) that defines the indentation width, in spaces. if indent-tabs-mode is enabled, then it will indent with tabs first and fill the rest with spaces. the problem is that for some things it will try to align, and it will mix tabs and spaces for that (meaning that tab-width actually affects the contents of the file, it’s not just the display width)
smart-tabs-mode fixes this (by making it correctly use tabs for indentation and spaces for alignment), but it’s not the default and requires installing an unmaintained third-party package that requires modifications to work at all