Arguments
Alignment with elastic tabstops
Pro arguments for elastic tabstops
looks more visually pleasing
visual cues for inherent structure and bugs
more code is aligned for easy vertical selection
allow pretty printing characters (e.g.
⇒instead of=>)
Contra arguments against elastic tabstops
not widely supported => but that can change
code looks different in other viewers => can be mitigated with optional alignment spaces
mitigation solutions conflict with linters and inspectors => linters be configured accordingly
problematic in some languages => needs more language awareness
extra smart alignment produce fights with word processor => behaviour is predictable
don’t waste time formatting code (Prettier: “stop all the on-going debates over styles”) => adopt an auto-formatter for elastic tabstops
Rendering with proportional fonts
Pro arguments for proportional fonts
narrow and wide characters look more pleasing
different text weights look more pleasing
allow various styles for different kinds of code (like sans for code, serif for strings, bold for keywords, italic for comments etc.)
optical cues for typos
<div><span class="highlight">M</span></div>
<div><spam class="highlight">M</spam></div>
Contra arguments against proportional fonts
https://stackoverflow.com/questions/218623/why-use-monospace-fonts-in-your-ide
difficult to support by text editor
vertical selection is unreliable with unaligned text
External discussions
https://sublimetext.userecho.com/communities/1-general#module_18
https://lobste.rs/s/1ugcr4/elastic_tabstops_better_way_indent_align
https://slashdot.org/story/06/07/03/1820235/elastic-tabstops-an-end-to-tabs-vs-spaces
https://wincent.dev/blog/tabs-vs-spaces-or-spaces-vs-tabs-and-elastic-tabstops
https://www.reddit.com/r/programming/comments/8mebl/ive_been_waiting_for_this_for_ages_is_this_the
https://www.reddit.com/r/emacs/comments/364ovl/elastic_tabstops_a_better_way_to_indent_and_align
https://groups.google.com/g/gnu.emacs.help/c/4kNcl1xNqRc/m/5ww75oA6sE4J
https://forum.lazarus.freepascal.org/index.php?topic=31083.0
https://linux.samba.narkive.com/3YeoTwLS/clug-elastic-tabstops