3 ms·
One of the main argument for Acme was that keyboard navigation is tends to be one dimensional, whereas navigating with mouse is two dimensional. I find it curi
by somezero 6y ago
One of the main argument for Acme was that keyboard navigation is tends to be one dimensional, whereas navigating with mouse is two dimensional.
I find it curious that a higher-than-one dimensional representation of a program is not present: proper syntax highlighting makes debugging much faster.
Say, I want to see some expression with deeply nested parenthesis (lisp-style, or nested function calling in Python) is matching. I can do that with my eyes, checking the color of the beginning and the ending parenthesis. Same goes for, say, if I want to find a string in my program. I don't have to care about the quotation mark, I can just look at its color being different from the rest.
Executing commands with the mouse is heavily underrated and is a behavior I fail to faithfully replicate in i3 - or even Emacs, for that matter - but only if you guys had syntax highlighting...
- floren 6y agoI consider the lack of highlighting part of a "calm" interface: the only thing that changes as I type, are the characters that I type. But maybe that's just Stockholm Syndrome after 15 years of Acme! :) When I need to check nesting levels, I use a little acme-trick: double-click on the closing mark (works for parentheses, curly brackets, quotes, probably more) and it'll highlight everything contained within that level. So if I type (some (big (lisp (expression)))) and want to make sure I got the right number of parentheses at the end, I just double-click on the last one and make sure the whole expression gets highlighted. Here's a screenshot: https://i.imgur.com/Qyvv2K9.png https://i.imgur.com/Qyvv2K9.png I don't find I need to do it particularly often when writing Go, though, and if I do... well, I start to think about refactoring to make my function invocation less obtuse, or whatever.
- somezero 6y agoInteresting! But you see all of the benefits of syntax highlighting and real-time linting is about being steered towards a working code in a gradual and unmotivated way, prior to actually intending to check whether the code works... Although I'm not sure how critical this really is. My personal argument for them might really `only` be habit.
- gnuvince 6y agoRegarding syntax highlighting, I created my own Emacs theme a few years ago to have only a few constructs highlighted: * The name of a function being defined * Comments * String and character literals The result is very calm [1], but I can still rely on colors to know orient myself and know when I forgot to close a string literal. [1] https://vfoley.xyz/syntax-highlighting/purp3.png https://vfoley.xyz/syntax-highlighting/purp3.png