Gibt es Quellcode-Verschönerer für Lisp-Sprachen, besonders Clojure.
Ich weiß, dass es viele für Sprachen wie C / C ++ gibt (AStyle, Uncrustify, etc)
Ich kann nicht finden, irgendwelche für die Lisp Sprachen.
Mein Code ist ein Chaos viele lange Zeilen in dieser Sprache wie die folgenden
%Vor%oder
%Vor%was schrecklich ist
es wäre schön, einen Beautifier zu haben, der es so formatieren könnte
%Vor%Emacs kann das für Sie tun.
Sehen Sie dieses Dokument als guten Ausgangspunkt: Ссылка
Ihre Frage scheint alle in Klammern gesetzten Sprachen anzusprechen, also kann ich vielleicht Ihre Frage für Racket beantworten?
Die wirkliche Antwort hängt davon ab, ob Sie bereit sind, die Zeilenumbrüche selbst einzufügen. Viele Systeme kann die Zeilen für Sie auf idiomatische Weise einrücken, nachdem Sie sie in Zeilen aufgeteilt haben.
Wenn Sie nicht möchten, dass Sie sie manuell einfügen möchten, bietet Racket einen "hübschen Ausdruck", der etwas von dem macht, was Sie wollen:
%Vor%== & gt;
%Vor%... aber ich würde als Erster zugeben, dass das Einfügen von Zeilenumbrüchen an den richtigen Stellen schwierig ist, weil Die Wahl der Zeilenumbrüche hat viel damit zu tun, wie die Leute Ihren Code lesen sollen.
Ich benutze Clojure.pprint oft, um generierten Code für Menschen schmackhafter zu machen. Es funktioniert gut für die Berichterstattung gedacht, es zielt darauf ab, Text zu produzieren. Die Formatierung, die in das Emacs-Paket clojure-mode eingebaut ist, erzeugt sehr schön formatiertes Clojure, wenn Sie die Zeilenumbrüche in sich selbst einfügen.
Jetzt können Sie es mit Srefactor-Paket machen.
Einige Demos:
Verfügbare Befehle:
srefactor-lisp-format-buffer
: Formatiere den ganzen Puffer srefactor-lisp-format-defun
: Formatiere den aktuellen Defuncursor in srefactor-lisp-format-sexp
: Formatieren Sie den aktuellen Sexp-Cursor. srefactor-lisp-one-line
: Drehe das aktuelle sexp des gleichen Levels in eine Zeile; Mit Präfix-Argument rekursiv alle inneren Sexpops in eine Zeile umwandeln. Scheme-Varianten sind noch nicht so poliert wie Emacs Lisp und Common Lisp, funktionieren aber für einfache und kleine Sexs. Wenn es irgendein Problem gibt, reichen Sie bitte einen Problembericht ein und ich werde es gerne beheben.
Tags und Links clojure scheme common-lisp beautifier