rainbow-delimiters
paren-face
Our great sponsors
rainbow-delimiters | paren-face | |
---|---|---|
6 | 8 | |
656 | 154 | |
- | - | |
2.3 | 4.4 | |
8 months ago | 13 days ago | |
Emacs Lisp | Emacs Lisp | |
GNU General Public License v3.0 only | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rainbow-delimiters
-
Y'all deserve a medal or something
I'm a big fan of rainbow-delimiters, available on Melpa.
-
Template Engine Minor Modes?
rainbow-delimiters ( https://github.com/Fanael/rainbow-delimiters/ ) does this for parenthesis/braces etc but is somewhat bound to the syntax tree of whatever major mode is currently in use, it also scans on a per-character basis, where I'd need to scan for regex.
-
Tree Sitter and the Complications of Parsing Languages
> Lighting up the active scopes
As you had guessed a little later, there are a few different emacs packages that do this. One of them is "rainbow parentheses" that gives every bracket a different colour (remember that emacs supports lisp, so differentiating between lots of different parentheses is arguably more useful in emacs than any other editor). [0].
Another one is highlight parentheses [1] which highlights all parens that enclose the cursor position, and gives a darker colour to those "further away" from the cursor.
[0] https://github.com/Fanael/rainbow-delimiters
[1] https://sr.ht/~tsdh/highlight-parentheses.el/
-
How We Made Bracket Pair Colorization 10,000x Faster
This article is especially interesting to me, as it shows how VS Code still doesn't have the "Emacs nature". Even though I'm a 30-year Emacs user, I do hesitate to recommend it to younger programmers because it's so alien, and VS Code has one of the essential characteristics of Emacs: the extension language and the implementation language are the same. But this article is a great example of how it doesn't — extensions are limited to using an extension API, rather than having full access to the application's internals. Maybe a good thing, if you're a mass-market product worried about malicious extensions. But I'll note that [rainbow-delimiters-mode](https://github.com/Fanael/rainbow-delimiters/) dates back to 2010, and has never noticeably slowed down loading or display of source files, even in languages with lots of delimiters like Lisp.
-
Practical questions from a lisp beginner
Using highlight-parentheses-mode, which is an additional package, helps. There are also show-paren-mode (build in) and rainbow-delimiters (additional package), whose could help there.
- Humanoid themes updated with many new faces, fixes and color adjustments; constructive feedback welcome!
paren-face
- paren-face: A face dedicated to lisp parentheses
-
Script for merging fonts to create lighter ()[]{} brackets
Alternative using Emacs: https://github.com/tarsius/paren-face
-
prism.el: New feature: colorize parens distinctly (e.g. fade into background)
In the spirit of u/tarsius_'s paren-face, I just pushed a new feature to prism.el: parens can be colorized distinctly from other text, so they can be, e.g. faded out into the background (or made to stand out more, if you like).
-
Practical questions from a lisp beginner
There is paren-face-mode that can dim the parentheses, especially useful until your mind gets used to lisps.
-
Lisp as an Alternative to Java
In a similar idea, you can also make them less visible, so indentation strikes more: https://github.com/tarsius/paren-face/
-
Are Rainbow Parens helpful or distracting for beginners?
I like paren-face mode more. Reduce the contrast on the parens a bit so they're still visible but less prominent and it makes it easier to focus on the indentation, which is usually a better at-a-glance indicator of scope and intent. I ended up liking this setup so much that I eventually set it to dim [] {} and (), and to do it for all languages, not just lisps.
-
If the number of arguments to a function is known, can the parentheses be implicit?
If you are using emacs, you might find paren-face-mode useful
What are some alternatives?
Bracket-Pair-Colorizer-2 - Bracket Colorizer Extension for VSCode
emacs-noob - A curated emacs set up intended to decrease the learning curve
nvim-ts-rainbow - Rainbow parentheses for neovim using tree-sitter. Use https://sr.ht/~p00f/nvim-ts-rainbow instead
rainbow-identifiers - Rainbow identifier highlighting for Emacs
vscode-extension-samples - Sample code illustrating the VS Code extension API.
awesome-cl - A curated list of awesome Common Lisp frameworks, libraries and other shiny stuff.
rainbow-blocks - block syntax highlighting in emacs
aggressive-indent-mode - Emacs minor mode that keeps your code always indented. More reliable than electric-indent-mode.
emacs-humanoid-themes - Light and dark theme with bright colors for Emacs that supports GUI and terminal
prism.el - Disperse Lisp forms (and other languages) into a spectrum of colors by depth