Ich benutze, spacemacs
aber vermutlich ist es Emacs Wissen, das hier erforderlich ist.
Ich habe eine JSON-Datei mit einer langen Zeile. Sagen wir, diese JSON von json.org/example:
{"menu": {"id": "file", "value": "File", "popup": {"menuitem": [{"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"}]}}}
Ich möchte, dass Emacs dies erneut einfügt, was bedeutet, dass ich das Zeichen ganz links in der Zeile nicht auf die richtige Einrückungsstufe ändere, sondern die Zeile in mehrere Zeilen aufteilt.
Wenn ich spacemacs/indent-region-or-buffer
( SPC j =
) benutze, wird der Text überhaupt nicht geändert.
Wie könnte ich von Emacs verlangen, diese lange Schlange zu durchbrechen und erneut zu versuchen, so etwas zu bekommen:
{"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}
Ich bin nicht an einer JSON-spezifischen Antwort interessiert, zum Beispiel glaube ich, dass intelliJ das für jede Sprache tut, die es unterstützt (Java, JSON ...). Ich würde denken, dass es für jede Sprache erreichbar ist, für die Emacs einen Hauptmodus hat, oder lassen Sie uns die beliebtesten sagen.
BEARBEITEN Ich habe festgestellt, M-x json-reformat-region
dass es spacemacs
mit und funktioniert, aber ja, ich würde es für jede Sprache und mit immer der gleichen Abkürzung, basierend auf dem Hauptmodus, mögen ...
EDIT2 Ok, also meine Schlussfolgerung ist, dass es für verschiedene Sprachen implementiert ist, JSON & lisp zumindest, vermutlich für andere, und es wäre für noch mehr einfach (XML / XHTML, go was go-fmt hat und auch clang verwendet). Es gibt jedoch keinen generischen Funktionsnamen, der dies für alle Sprachen tun würde. Hier ist Platz, um es in spacemacs
Ebenen für die verschiedenen Sprachen zu implementieren ... Ich habe jedoch keine X / HTML-Implementierung gefunden, was mich ein bisschen überrascht.
web-beautiful.el
. Das ist das Beste, was ich gefunden habe, aber es hängt von node.js ab.