rainbow-delimiters
tree-hugger
Our great sponsors
rainbow-delimiters | tree-hugger | |
---|---|---|
6 | 2 | |
656 | 121 | |
- | 5.0% | |
2.3 | 0.0 | |
8 months ago | over 2 years ago | |
Emacs Lisp | Python | |
GNU General Public License v3.0 only | MIT License |
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!
tree-hugger
- Tree-Hugger: Mine / Query source code
-
Tree Sitter and the Complications of Parsing Languages
tree-sitter is a great framework. I have used it quite a bit in past. I even created a small library on top of it, called tree-hugger (https://github.com/autosoft-dev/tree-hugger) Really enjoyed their playground as well.
What are some alternatives?
Bracket-Pair-Colorizer-2 - Bracket Colorizer Extension for VSCode
Kaitai Struct - Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby
nvim-ts-rainbow - Rainbow parentheses for neovim using tree-sitter. Use https://sr.ht/~p00f/nvim-ts-rainbow instead
ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
vscode-extension-samples - Sample code illustrating the VS Code extension API.
rainbow-identifiers - Rainbow identifier highlighting for Emacs
rainbow-blocks - block syntax highlighting in emacs
pivotnacci - A tool to make socks connections through HTTP agents
emacs-noob - A curated emacs set up intended to decrease the learning curve
sixten - Functional programming with fewer indirections
emacs-humanoid-themes - Light and dark theme with bright colors for Emacs that supports GUI and terminal
project-euler - My solutions for Project Euler problems in Python, C, C++, C#, F#, Go, Haskell, Java, JavaScript, PHP, Ruby, SQL