colisper
Check and transform Lisp code with Comby (beta) (by vindarel)
aggressive-indent-mode
Emacs minor mode that keeps your code always indented. More reliable than electric-indent-mode. (by Malabarba)
colisper | aggressive-indent-mode | |
---|---|---|
6 | 7 | |
21 | 831 | |
- | - | |
0.0 | 0.0 | |
almost 2 years ago | over 1 year ago | |
Emacs Lisp | Emacs Lisp | |
- | - |
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.
colisper
Posts with mentions or reviews of colisper.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-17.
-
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".
aggressive-indent-mode
Posts with mentions or reviews of aggressive-indent-mode.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-10-07.
-
Everything in emacs is fine but daemon doesn't work
I had a similar problem yesterday and it was because of a recent bug in aggressive-indent-mode https://github.com/Malabarba/aggressive-indent-mode/pull/157
-
Anyone using code formatter for elisp?
For elisp, I have been using srefactor for a long time, but it has quite a few issues have not been update in 5 years. Most other formatters for elisp/lisp that I have seen has some subtle issues or just does not handle splitting of long lines. People also have suggested just using aggressive-indent-mode and then putting the line breaks manually, but I was hoping to avoid having to decide where/when to split long lines as well.
-
Returning all last values of loop to global namespace
See also the Aggressive Indent package: https://github.com/Malabarba/aggressive-indent-mode
-
Learning Emacs properly from scratch just because
aggressive-indent-mode
- What is your favorite text-editing package / command?
-
Practical questions from a lisp beginner
paren-face-mode can be combined with aggressive-indent-mode to help oneself focus on the indentation the way a lisper should
-
Insert below last closing paren
It's not what you are asking for, but I think https://github.com/Malabarba/aggressive-indent-mode can be helpful
What are some alternatives?
When comparing colisper and aggressive-indent-mode you can also consider the following projects:
hiccup - Fast library for rendering HTML in Clojure
rainbow-blocks - block syntax highlighting in 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.
objed - Navigate and edit text objects with Emacs. Development on pause.
slime-critic - SLIME extension for Lisp Critic
rainbow-delimiters - Emacs rainbow delimiters mode
emacs-refactor - language-specific refactoring in Emacs
emacs.d - Fast and robust Emacs setup.
cl-indentify - Automatic indentation for Common Lisp
electric-operator - An emacs minor mode to automatically add spacing around operators
colisper vs hiccup
aggressive-indent-mode vs rainbow-blocks
colisper vs emacs-elisp-autofmt
aggressive-indent-mode vs smartparens
colisper vs lisp-format
aggressive-indent-mode vs objed
colisper vs slime-critic
aggressive-indent-mode vs rainbow-delimiters
colisper vs emacs-refactor
aggressive-indent-mode vs emacs.d
colisper vs cl-indentify
aggressive-indent-mode vs electric-operator