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.
quelle
Antworten:
Seit dem 13. Februar 2013 hat Crockford JSLint um eine experimentelle Kontextfärbungsfunktion erweitert.
https://plus.google.com/118095276221607585885/posts/FzKnHk96m2C
quelle
Ich habe gerade sein Video dazu gesehen, großartiges Zeug. Musste es versuchen oder das Projekt auf GitHub https://github.com/daniellmb/JavaScript-Scope-Context-Coloring auschecken .
quelle
Vim (GitHub) :
Emacs (GitHub) :
quelle
Es gibt jetzt ein Paket für Erhabene: https://github.com/mazurov/sublime-levels
Es gibt auch eine Online-Live-Demo unter http://mazurov.github.io/eslevels-demo/
quelle
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
quelle
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.
quelle