colisper
emacs-refactor
colisper | emacs-refactor | |
---|---|---|
6 | 3 | |
21 | 344 | |
- | - | |
0.0 | 0.0 | |
almost 2 years ago | over 1 year 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.
colisper
-
Improving REPL experience in terminal?
Without Lem, how do you edit files? We need to edit and load files in the REPL. magic-ed could help. What if before loading the file, we added some style criticisms? The lisp-critic is waiting to be adopted and expanded (while colisper has too simple rules).
-
Rewrite (rule based Lisp (sort of))
Nice! Reminds me of Comby, which makes it easy to match & replace s-exprs too. https://comby.dev/ (I have this POC for predefined Lisp rules: colisper (warn: just a POC))
-
Anyone using code formatter for elisp?
It's also possible to run emacs in batch mode to indent a file: https://github.com/vindarel/colisper/blob/master/emacs-batch-indent.el I don't recall, maybe it won't fix very ill-indented files.
-
What are common mistakes or unidiomatic patterns you see beginners write in lisp ?
You can find examples here: https://github.com/g000001/lisp-critic (lisp-rules.lisp) and to a smaller extent, here: https://github.com/vindarel/colisper (src/catalogue directory). The lisp-critic is available by default on this custom readline REPL: https://ciel-lang.github.io/CIEL/#/repl?id=friendly-lisp-critic so it can be tried at the terminal (in conjunction with the %edit command). It would be nice if it had better editor integration though. (it shouldn't be too hard, there's one function (critique-file pathname) to call on a file).
-
TIL sort is destructive
This kind of stuff should be checked by static analysis tools. I added a rule in colisper (Comby underneath) to check that sort is followed by copy-seq. (best case right now, it doesn't match global vars with earmuffs). I looked at the lisp-critic, it has no check for sort but is a good candidate.
-
Common Lisp code quality assessment
I started colisper, based on Comby, whose goals are 1) to warn about code smells, according to rules you can also define (not unlike the lisp-critic) and 2) rewrite code, including from Emacs. So, it doesn't answer your examples (see sblint), but it might help for the "other metrics".
emacs-refactor
-
Weekly tips/trick/etc/ thread
Hey I discovered recently https://github.com/Wilfred/emacs-refactor via Irreal blog: https://irreal.org/blog/?p=9397.
- emacs-refactor: language-specific refactoring in Emacs
-
Top Down Elisping A Simple Snippet To Stub A
Actually u/Accomplished_Will_31, I just discovered there is something for refactoring Elisp: https://github.com/Wilfred/emacs-refactor
What are some alternatives?
hiccup - Fast library for rendering HTML in Clojure
use-package - A use-package declaration for simplifying your .emacs
emacs-elisp-autofmt
smartparens - Minor mode for Emacs that deals with parens pairs and tries to be smart about it.
lisp-format - A tool to format lisp code. Designed to mimic clang-format.
svg-lib - Emacs SVG libraries for creatings tags, icons and bars
aggressive-indent-mode - Emacs minor mode that keeps your code always indented. More reliable than electric-indent-mode.
symex.el - An intuitive way to edit Lisp symbolic expressions ("symexes") structurally in Emacs
slime-critic - SLIME extension for Lisp Critic
nano-emacs - GNU Emacs / N Λ N O - Emacs made simple
cl-indentify - Automatic indentation for Common Lisp
emacs-ng - A new approach to Emacs - Including TypeScript, Threading, Async I/O, and WebRender.