prism.el
Disperse Lisp forms (and other languages) into a spectrum of colors by depth (by alphapapa)
el-patch
✨ Future-proof your Emacs Lisp customizations! (by radian-software)
prism.el | el-patch | |
---|---|---|
18 | 6 | |
269 | 249 | |
- | 0.8% | |
4.7 | 3.4 | |
7 months ago | 6 months ago | |
Emacs Lisp | Emacs Lisp | |
GNU General Public License v3.0 only | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
prism.el
Posts with mentions or reviews of prism.el.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-23.
-
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
el-patch
Posts with mentions or reviews of el-patch.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-04-27.
-
How to make this function run automatically?
I also tweak that function for similar reasons. I personally use el-patch for that: https://github.com/radian-software/el-patch. This way, at least we can ensure our redefinition does not get out of step with the original. Anyway, I also find it hard to do otherwise, because we need the match data at the correct point, so just advising the function becomes tricky.
- el-patch: Customize the behavior of ELisp functions (that do not provide enough variables and hooks) and make them do what you want
-
Editing source of package for customization in Emacs
Check out el-patch--if I understand what you're trying to do, it's designed for exactly this use case!
-
How We Made Bracket Pair Colorization 10,000x Faster
Yeah and even in personal config one could use el-patch[1], to make monkeypatching future proof.
[1] https://github.com/raxod502/el-patch
-
Lars Ingebrigtsen: 10×10% – Random Thoughts (closing 45% of open Emacs bugs)
Speaking for myself, I have a lot of (use-package some-package :config (defun some-package-function-I-want-to-override (...) ...)) in my config file, which works well enough to override package definitions. In case you don't use use-package, then (eval-after-load 'some-package '(defun ...)) also works. I also use a lot of advice. Although I don't use it, https://github.com/raxod502/el-patch provides a more structured approach to patching definitions using a novel sexpy patch format.
What are some alternatives?
When comparing prism.el and el-patch you can also consider the following projects:
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.
emacs-dashboard - An extensible emacs dashboard
WebViewFeedback - Feedback and discussions about Microsoft Edge WebView2
Visual Studio Code - Visual Studio Code
vscode-python - Python extension for Visual Studio Code
quelpa - Build and install your Emacs Lisp packages on-the-fly directly from source
prism.el vs Bracket-Pair-Colorizer-2
el-patch vs nvim-ts-rainbow
prism.el vs icomplete-vertical
el-patch vs Bracket-Pair-Colorizer-2
prism.el vs vscode-extension-samples
el-patch vs emacs-dashboard
prism.el vs WebViewFeedback
el-patch vs Visual Studio Code
prism.el vs vscode-python
el-patch vs vscode-extension-samples
prism.el vs quelpa
el-patch vs vscode-python