rainbow-delimiters
prism.el
rainbow-delimiters | prism.el | |
---|---|---|
6 | 18 | |
658 | 269 | |
- | - | |
2.3 | 4.7 | |
8 months ago | 8 months 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!
prism.el
-
Just showing off how nice lisp can look in prism-mode. Check reply for the config :)
Heh, seriously, though, it's not necessary to use a rainbow of colors. You can use any number of colors and rotate through them. For example, this uses just 3 colors, gradually desaturating them as the depth increases. Since each color is easily distinguished from the other 2, it makes code very readable: https://github.com/alphapapa/prism.el/raw/master/images/parens-0.5.png
- Release v0.3 · alphapapa/prism.el (Disperse Lisp forms and other languages into a spectrum of colors by depth -- like rainbow-delimiters, et al, but more powerful)
-
How do I build a syntax highlighter based on S-Expressions?
If you can use tree-sitter, that's obviously a good choice. Alternatively, you can see how I implemented https://github.com/alphapapa/prism.el, which isn't regexp-based, using Emacs's built-in syntax parsing instead.
-
Trying to find a package that colorizes file contents by indentation level.
I did some experimenting with supporting XML directly in https://github.com/alphapapa/prism.el/issues/16. It seems that it's not easily done with existing Emacs SGML-related functions, but I'm guessing that tree-sitter will help a lot in Emacs 29.
-
How to combine highlight-parenthesis with rainbow-delimiters?
It's not exactly what you asked for, but you may also find this useful: https://github.com/alphapapa/prism.el It can highlight parens distinctly too.
-
Change text appearance in buffer
As examples, I can recommend code in https://github.com/alphapapa/highlight-function-calls (simple) and https://github.com/alphapapa/prism.el (more complex).
-
Colorize blocks of LISP
There is also the package prism.el.
-
How to properly font-lock for a custom major-mode aka how to use complex regex?
The best advice I can offer is to carefully and repeatedly study the Elisp manual section on font-lock, and to model on the source code of a similar project. The most I've done with it is in https://github.com/alphapapa/prism.el
-
How We Made Bracket Pair Colorization 10,000x Faster
There is one for emacs. Could be good inspo if someone wanted to make a VSCode version.
https://github.com/alphapapa/prism.el
-
Screenshot Sunday: What does your Emacs look like today?
You might be interested in https://github.com/alphapapa/prism.el
What are some alternatives?
Bracket-Pair-Colorizer-2 - Bracket Colorizer Extension for VSCode
nvim-ts-rainbow - Rainbow parentheses for neovim using tree-sitter. Use https://sr.ht/~p00f/nvim-ts-rainbow instead
icomplete-vertical - Global Emacs minor mode to display icomplete candidates vertically
vscode-extension-samples - Sample code illustrating the VS Code extension API.
rainbow-blocks - block syntax highlighting in emacs
WebViewFeedback - Feedback and discussions about Microsoft Edge WebView2
emacs-noob - A curated emacs set up intended to decrease the learning curve
vscode-python - Python extension for Visual Studio Code
emacs-humanoid-themes - Light and dark theme with bright colors for Emacs that supports GUI and terminal
quelpa - Build and install your Emacs Lisp packages on-the-fly directly from source