Ist die Kontextfarbe im Crockford-Stil in einem Code-Editor implementiert?

71

Ich habe mir ein Video von YUIConf 2012 angesehen, in dem Douglas Crockford einen Vortrag über die Implementierung von Monaden in JavaScript hält. In diesem Vortrag gibt er ein Codebeispiel, das das verwendet, was er "Kontextfärbung" nennt, das die Idee des Färbens nach Sprachsyntax verwirft und verschiedene Farben für verschiedene Umfangsebenen einführt. Hier ist der Link zu diesem bestimmten Teil des Videos.

http://www.youtube.com/watch?feature=player_embedded&v=dkZFtimgAcM#t=15m58s

Wird dieses Kontextfarbschema von einem Code-Editor für JavaScript oder einer anderen Sprache implementiert?

Ich verwende Sublime Text und dieser Editor ermöglicht wie jeder andere Code-Editor, auf den ich gestoßen bin, das Anwenden von Farbe auf die Syntax. Ich bin mir nicht sicher, ob ein Plugin dieses Problem lösen könnte oder ob ein Editor von Grund auf neu entworfen werden müsste, um dieses Kontextfarbschema zu ermöglichen.

cs_brandt
quelle
Ich liebe diese Idee auch, aber ich habe keine anderen Antworten als "Regenbogenfärbung" gefunden, die VIM und Emacs unterstützen. Es sieht so aus, als hätte Intellij ein gewisses Interesse daran, es hinzuzufügen: youtrack.jetbrains.com/issue/WEB-2390
dsummersl
DC: " Ich wünschte, jemand würde einen Editor für mich bauen, der diese Art von Färbung macht " - scheint noch nicht so, als hätte es jemand getan
Bergi
Klingt aus a11y Sicht nach einer schrecklichen Idee.
Graphicdivine
Weil aus heutiger Sicht die Syntaxfärbung eine so gute Idee war ^ o ^ // In aller Ernsthaftigkeit kann ich jedoch sehen, dass dies Probleme verursacht, wenn die Implementierung nicht perfekt ist. Bei normaler Kontextfärbung werden Literale gefärbt, aber das System versucht nicht, den Inhalt von Variablen zu erraten und sie entsprechend zu färben. Die Kontextfärbung müsste den Umfang der Variablen ableiten, und das eine Mal, wenn sie falsch vermutet wird, könnte ziemlich schmerzhaft sein. Viel Glück, ich hätte gerne ein bewährtes Plugin für perfekte Kontextfarben!
Ziggy

Antworten:

3

BlueJ hat es (1) - aber dann kann es auch nicht. Die Kontextfärbung für den Bereich in Javascript wird sicherlich komplizierter sein als jede andere Sprache wie Java - an der dieser Editor arbeitet.

Die Leute, die Brackets schreiben, werden es wahrscheinlich irgendwann tun, da sie Crockford verehren (2,3)

Warum helfen Sie ihnen nicht beim Schreiben oder sagen Sie es ihnen zumindest?

Quellen:

1) http://blogs.kent.ac.uk/mik/2010/05/bluej-3-0-whats-new/

2) https://github.com/adobe/brackets/issues/search?q=Crockford

3) http://www.adobe.com/devnet/html5/articles/bracket-code-architecture.html

DrM
quelle
2
Ich würde nicht so weit gehen zu sagen, dass wir im Brackets-Team Crockford "verehren" :-) Wir mögen es jedoch generell, zu fusseln. Wir möchten es eigentlich steckbar machen und könnten in Zukunft sogar unseren eigenen Codierungsstil auf JSHint umstellen. Es gibt eine User Story, wenn Sie sie verbessern möchten.
Peterflynn
Schön, wenn jsbin und jsfiddle das können, bin ich mir sicher, dass die Adobe-Leute das können!
DrM
-1

Nicht, dass ich davon Wüste. Dies wäre großartig, würde aber einen für JavaScript spezifischen lexikalischen Analysator benötigen und wahrscheinlich nicht funktionieren, wenn Syntaxfehler vorliegen.

Nicolas Joyard
quelle
1
Dies ist als Kommentar wirklich angemessener.
Kevin Beal