Автор | Сообщение |
ZZYZX - UAC Commissar -
| | 6284 |
Doom Rate: 1.65 Posts quality: +1630 |
Отправлено: 22.04.19 02:50:34 | | | https://github.com/jewalky/ZZscript
На скриншоте к слову изображён код из ZForms, который я использую как раз потому, что там во всём проекте ни одного актора (которые не работают).
Как полностью заработает, перейду на исходник из gzdoom.pk3
Пишу я это условно 2 недели на выходных (то есть конкретно по истории коммитов можно увидеть, ага)
Поэтому на данный момент много чего захардкожено и/или не работает.
Что работает:
1) полный парсер кода (не Default{}-блока, не стейтов, конкретно кода)
2) осмысленная подсветка синтаксиса на основании парсера кода
3) поиск разнообразных названий в коде (т.е. я пишу let a = self и это автоматически зарезолвится и подсветится при необходимости)
Что не работает:
Вот тут больше. Не работают акторы, не работает совмещение нескольких проектов (планируется окно как в GZDB — с выбором вадов или для начала хотя бы папок).
Что связано с тем, что я обычно хочу как минимум подключить GZDoom + свой скрипт, а иногда ещё и GZDoom + оригинальный мод + свой аддон.
Не работают свистелки и перделки (планируется выбор цветовой схемы и нормальные подсказки с цитатой части кода, а не как щас).
Не работает автодополнение (но планируется следующим после нормальных подсказок и перехода к объявлениям по ctrl+клику)
Как-то так в общем )
Не уверен на 100%, что допилю, но может кому-то будет интересно. Мне пока интересно
Может даже кто-нибудь не дай б-г поучаствовать захочет. Но на это я особо не надеюсь, там код довольно специфичный, да ещё и на C++... |
|
|
2 |
2 |
1 |
|
|
| |
Void Weaver = Captain =
| 2496 |
Doom Rate: 1.82 Posts quality: +808 |
Отправлено: 22.04.19 18:42:57 | | | А можно чуть конкретизировать для тех кто "в танке" что это за тулза: это типа редактор самого кода порта или просто удобный редактор для зскрипт кодинга модов? | |
|
1 |
9 |
1 |
|
|
| |
Anto96WS = Master Corporal =
| 281 |
Doom Rate: 1.77 Posts quality: +88 |
Отправлено: 22.04.19 18:44:31 | | | > Редактор кода на ZScript
Как я был заинтересован... А оказался редактор, написанный не НА ZScript, а просто редактор ZScript
Как насчет перехода на Scintilla?
Неплохой такой движок для текстовых редакторов (на нем, например, основан Notepad++)
Scintilla (Википедия)
Добавлено спустя 5 минут 40 секунд:
Void Weaver пишет: | просто удобный редактор для зскрипт кодинга модов |
По скрину видно | |
|
| |
Void Weaver = Captain =
| 2496 |
Doom Rate: 1.82 Posts quality: +808 |
Отправлено: 22.04.19 18:56:41 | | | Видно для тех кто шарит, остальные же и спрашивают.
Спс за пояснение. | |
|
1 |
9 |
1 |
|
|
| |
ZZYZX - UAC Commissar -
| | 6284 |
Doom Rate: 1.65 Posts quality: +1630 |
Отправлено: 22.04.19 19:14:55 | | | Anto96WS пишет: | Как насчет перехода на Scintilla? |
В курсе, резко против. Это довольно кривая внешняя зависимость. Достаточно посмотреть что произошло с редактором скриптов GZDB при обновлении с 32 на 64бит, а до этого с DB2 на GZDB.
Если вкратце, то ещё макседом при поднятии версии внезапно сломалось сворачивание/разворачивание функций, а когда добавили 64бит то пришлось поднимать версию сцинтиллы ещё раз и чуть не сломалось вообще всё.
Мне в принципе несложно написать пару лишних строчек кода и получить тот же функционал, но в разы надёжнее (во-первых, не меняющийся по левой пятке стороннего девелопера, а во-вторых тесно интегрированный в парсер).
В конце-концов, что такое сцинтилла?
- подсветка синтаксиса — уже есть;
- разворачивание блоков — написать примерно час, причём основное время на состыковку блоков (пары {}, (), []), и это можно будет использовать для подсветки парных скобок потом;
- список номеров строк — написать примерно полчаса;
- автодополнение — а это в любом случае писать с нуля: оно должно быть осмысленное, то есть в контексте, а не какое попало. но, писать не очень долго — редактор уже понимает "текущий токен".
Пожалуй из сложных вещей есть только много курсоров — но это не критично для редактора зскрипта, в общем-то.
А, ну и буфер изменений (undo/redo) сейчас своеобразно работает (не работает), но и до него руки дойдут ещё.
Ответ развёрнут, потому что я действительно думал, использовать сцинтиллу или нет. Подумал-подумал и как-то нет
з.ы. поменял название темы, чтобы очевиднее было ) | |
|
2 |
2 |
1 |
|
|
| |
Void Weaver = Captain =
| 2496 |
Doom Rate: 1.82 Posts quality: +808 |
Отправлено: 18.08.19 12:22:26 | | | Кроть, как там прогресс по редактору? А то на гите последний чейндж месяца 3 назад был.
*С каждым днём всё острее чувствую необходимость приобщаться к ЗСкрипту.* | |
|
1 |
9 |
1 |
|
|
| |
ZZYZX - UAC Commissar -
| | 6284 |
Doom Rate: 1.65 Posts quality: +1630 |
Отправлено: 18.08.19 21:09:28 | | | Никак. Я опять вернулся в перфект ворлд | |
|
2 |
2 |
1 |
|
|
| |