emacs-config
prism.el
Our great sponsors
emacs-config | prism.el | |
---|---|---|
20 | 18 | |
81 | 269 | |
- | - | |
9.2 | 4.7 | |
3 days ago | 7 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.
emacs-config
-
Emacs Advent Calendar 7: ordeless, embark 1.0 and some bric-a-brac
block-undo. Have keyboard macros undo in a single step (something vi gets right!).
- embark-kmacro.el: Embark support for Hyperbole key series
-
Stripped-down Embark?
Installing that Embark key series implementation I mentioned above, to get extra actions for key series such binding them to a key or turning them into named keyboard macros.
-
How do guys 'namespace' calls to functions in the same 'namespace'?
Generally I recommend to maintain all personal code in the form of tiny but proper Elisp libraries. The config just glues everything together using use-package/setup/your-self-baked-macro. See also /u/oantolin's config which uses this style: https://github.com/oantolin/emacs-config. I cannot recommend this enough!
-
How many lines are in your .emacs file?
I have 3720 lines in my configuration. I try to write as much of it as tiny packages that I configure with use-package, just like I do for external packages. (I highly recommend this form of organization) Many of these are only useful to me, but some would be very reasonable to steal, like:
-
[ANN] unpackaged/imenu-eww-headings: Offer HTML headings in EWW buffers with Imenu
I have a slightly different take on this in my configuration, file shr-heading.el. In addition to imenu support I wanted next and previous heading navigation commands. It turns out you then get imenu support for free, since one way you can specify imenu entries is by providing a "goto previous imenu entry" function.
- Whose user init have you found helpful?
-
Dragging the region
I wrote a small drag-region package once. You mark a region, turn on drag-region-mode and then your normal motion commands will drag the region along until you turn the minor mode off again. I never tested it with evil.
-
ecomplete: the Emacs contact manager you were looking for
I'm very happy with ecomplete now, I mostly just need the completion and automatic storing of addresses I write to, as configured in your post. But occasionally I want to remove an address or manually add one, so I wrote a couple of commands to do that which I bind in embark-email-map to + (for adding) and \ (for removing). I don't think I've used these commands directly, always as Embark actions. When I want to add an email to ecomplete I usually have it written in some buffer already. And the command to remove an email I've only ever used from the ecomplete completion interface or from a message buffer after mistakenly having inserted it and realized that's an old address I'll never use again.
-
Need help integrating a package into consult
I keep some packages in a subdirectory my personal configuration and don't create a separate repo for them. (Also, not every file there is really a package that could be released: some don't follow proper naming conventions, or depend on details of my configuration).
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?
embark - Emacs Mini-Buffer Actions Rooted in Keymaps
Bracket-Pair-Colorizer-2 - Bracket Colorizer Extension for VSCode
lispy - Short and sweet LISP editing
icomplete-vertical - Global Emacs minor mode to display icomplete candidates vertically
consult-better-jumper - Integrate better-jumper into consult
vscode-extension-samples - Sample code illustrating the VS Code extension API.
consult - :mag: consult.el - Consulting completing-read
WebViewFeedback - Feedback and discussions about Microsoft Edge WebView2
modalka - Modal editing your way
vscode-python - Python extension for Visual Studio Code
link-hint.el - Pentadactyl-like Link Hinting in Emacs with Avy
quelpa - Build and install your Emacs Lisp packages on-the-fly directly from source