lunarymacs
puni
lunarymacs | puni | |
---|---|---|
5 | 8 | |
233 | 368 | |
- | - | |
8.1 | 6.0 | |
12 days ago | 4 months ago | |
Emacs Lisp | Emacs Lisp | |
- | 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.
lunarymacs
- lunarymacs: casouri's Emacs configuration
-
The benefits of everything (in Emacs) being a buffer
He's also behind expand-region! (Although, I've started experimenting with the much-smaller treesitter-based https://github.com/casouri/lunarymacs/blob/master/site-lisp/...)
I'm pretty sure when he wrote all of that stuff that he'd only been using Emacs for around a year. The benefit of someone that talented, or groks Emacs immediately, and is familiar enough with the outside-ecosystem to know what he wants to borrow, I suppose.
- expreg.el --- Simple expand region
-
Tree-sitter starter guide
I'm also a diehard expand-region user! I believe a less precise but super simple command is better than a precise but complicated one. IMO expand-region > text objects, forward/backward-sexp/word > avy / other fancy navigation tool. But I digress. For tree-sitter aware expand-region, this is what I'm using: https://github.com/casouri/lunarymacs/blob/master/site-lisp/expreg.el
-
[ANN] info-variable-pitch: View Info with proportional fonts while keeping (most of) what needs to be monospace in mono
You can find my attempt here, I used some ad-hoc parsing instead of regexp, and I didn't use font-lock. https://github.com/casouri/lunarymacs/blob/master/site-lisp/info-pretty.el
puni
- Paredit-like features in non-lisp modes?
-
Good Emacs Packages
For working with delimiters, you might want to check out Smartparens or Puni. There are many other packages like these, but those are the two I know about.
-
Tree-sitter starter guide
I'm guessing the way forward here for navigation is to change Emacs' built-in sexp-navigation when treesitter is available? forward-sexp, backward-up-list, down-list, raise-sexp etc do a good job in lisp environments, and they can now work everywhere. Packages that build on these (like Puni will automatically gain treesitter-awareness.
-
What modal sexp editing mode should I switch to?
I have never used lispy, but I have used puni for a while now, and I'm pretty satisfied with it. I am not sure that it's exactly what you're looking for since it takes a more limited approacg, but it has a lot of the same features: slurping, barfing, raising, splicing etc.
-
What packages do I need to for the best elisp editing environment?
For any Lisp you want paredit or any other structural editing package (I switched to puni recently because it’s more customizable and works with non-Lisp languages too). The first three days will suck hard because it’ll feel like the tools get in your way, but once you’re comfortable with it it’ll be the best thing ever.
-
paredit based on treesitter
Afaik puni uses only forward-sexp for navigating and manipulating sexps. So if you implement a forward-sexp-function that uses treesit.el it should work without any changes.
- Find out a great emacs package for structural editing.
- puni: Structured editing (soft deletion, expression navigating & manipulating) that supports many major modes out of the box.
What are some alternatives?
elisp - A relic of the past.
smartparens - Minor mode for Emacs that deals with parens pairs and tries to be smart about it.
Emacs-wgrep - Writable grep buffer and apply the changes to files
jinx - 🪄 Enchanted Spell Checker
exwm - Emacs X Window Manager
symex.el - An intuitive way to edit Lisp symbolic expressions ("symexes") structurally in Emacs
straight.el - 🍀 Next-generation, purely functional package manager for the Emacs hacker.
jake-emacs - My personal Emacs configuation.
evil-textobj-tree-sitter - Tree-sitter powered textobjects for evil mode in Emacs
lispy - Short and sweet LISP editing
haskell-ts-mode - Emacs major mode for Haskell tree-sitter support.
speed-of-thought-lisp - Write elisp at the speed of thought. Emacs minor mode with abbrevs and keybinds.