Является ли контекстная раскраска стиля Крокфорда реализованной в любом редакторе кода?


Я смотрел видео из YUIConf 2012, в котором Дуглас Крокфорд рассказывает о реализации монад в JavaScript. В этой лекции он приводит пример кода, который использует то, что он называет "контекстной раскраской", которая выбрасывает идею раскраски по синтаксису языка и вводит разные цвета для разных уровней области. Вот ссылка на эту конкретную часть видео.

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

эта схема раскраски контекста реализована любым редактором кода для JavaScript или любого языка?

Я использую Sublime Text, и этот редактор, как и любой другой редактор кода, с которым я столкнулся, позволяет применять цвет к синтаксису. Я не уверен, что плагин может решить эту проблему или если редактор должен быть разработан с нуля до разрешить эту схему раскраски контекста.

6 69

6 ответов:

по состоянию на февраль-13th 2013 Crockford добавил экспериментальную функцию раскраски контекста в JSLint.

https://plus.google.com/118095276221607585885/posts/FzKnHk96m2C

Я только что смотрел его видео на этом, отличный материал. Пришлось дайте ему попробовать, или проверить проект на GitHub https://github.com/daniellmb/JavaScript-Scope-Context-Coloring.

JavaScript Scope Context Coloring

ВИМ (GitHub):

enter image description here

Emacs (GitHub):

Screenshot of context coloring in Emacs.

теперь есть пакет для sublime:https://github.com/mazurov/sublime-levels

Он также имеет онлайн-демо на http://mazurov.github.io/eslevels-demo/

BlueJ имеет его (1) - но тогда он также не может. Контекстная раскраска для области в javascript, безусловно, будет более сложной, чем любой другой язык, такой как java, на котором работает этот редактор.

люди, пишущие скобки, вероятно, сделают это в конце концов, так как они поклоняются Крокфорду (2,3)

Почему бы не присоединиться к ним в помощи написать его или, по крайней мере, сказать им?

источники:

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

насколько мне известно, нет. Это было бы здорово, но для этого потребуется лексический анализатор, специфичный для JavaScript, и он, вероятно, не будет работать, когда есть какие-либо синтаксические ошибки.