Используйте красивые блоки кода JavaScript в файле FurnelWebJavascript

Форум по Javascript
Ответить
Anonymous
 Используйте красивые блоки кода JavaScript в файле FurnelWeb

Сообщение Anonymous »

У меня есть файл FurnelWeb, чья @{... @} Кодовые блоки формируют программу JavaScript. Я хочу использовать более красивые для форматирования этих кодовых блоков, оставляя не изменяемый источник воронки без код. Br /> У меня есть программа Node.js, которая обрабатывает линию файла по строке. Если это не в состоянии «кодового блока», он просто копирует каждую строку на вывод. Но: < /p>
  • Если строка начинается с определения блока кода@$@@{< /code>, она выводит эту строку, Создает новый «кодовый буфер» и переключается на состояние «кодовое блок». /> Если линия начинается с @} , он оставляет состояние «кодовой блок», обрабатывает кодовый буфер с красивым и выводит полученные строки, за которыми следует текущая строка.
Проблема в том, что @{... @} Кодовый блок в буфере кода обычно не содержит программу JavaScript, считающуюся без ошибок от Creatier. Это связано с тем, что FurnelWeb работает, вставляя кодовые блоки вместе и в другие кодовые блоки без какого -либо обращения к языку программирования, который они содержат. В частности < /p>

[*] Кодовый блок может содержать @ < /code> ссылки на другие кодовые блоки < /li>
< li> Кодовый блок часто содержит один метод класса и выглядит как

Код: Выделить всё

method(args) {...}
< /code>
и краситель отвергает это в отсутствие окружающего
class Class {...}
< /code>
< /li>
< /ul>
, чтобы обойти эти две проблемы, My node.js Program < /p>
 < br/>  warps@ 
в синтаксисе комментариев, например /*@**/ перед более красивым форматированием и разворачивает их впоследствии
[*] Преобразует Неокрашенный метод (args) { in function/*m*/method (args) { перед более красивым форматированием и преобразует его обратно впоследствии
[*] Преобразование нерешенного статического метода (args) { in function/*s*/method (args) { перед более красивым форматированием и преобразует его обратно после этого.
< /ul>
Позадачающаяся обработка, таким образом, выполняет < /p>

Код: Выделить всё

code = code
.replaceAll("function /*s*/", "static")
.replaceAll("function /*m*/ ", "")
.replace(/\/\*|\*\//g, "");
< /code>
и если кодовый блок все еще не может быть отформатирован с помощью Prottier, неформатированный код выводится. < /p>
С этим подходом мои единственные блоки кода, которые не могут быть Форматированы однострочные, такие как < /p>
ModuleName,
снова мой вопрос: кто -нибудь еще попробовал это и нашел лучший подход?


Подробнее здесь: https://stackoverflow.com/questions/794 ... elweb-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»