Перейти к содержанию
Gromer

Подсветка синтаксиса для Lua в Notepad++

Рекомендуемые сообщения

 

Начал разработку подсветки синтаксиса для Notepad++, в планах Lua, LTX. 

Lua практически завершил, осталось доработать некоторые моменты и разработать цвет синтаксиса на основе тех, которые будут лучше сочетаться. Предложения принимаются. 

 

Так как синтаксис в разработке, выложил на GitHub'e, в будущем думаю, перенесу ещё куда-нибудь. ( ЗЫ. скорее всего нет) 

Спойлер

image.thumb.png.2148cf086ece7059d91ff6d8e4e260b0.pngimage.thumb.png.0c35abbc7ab259309a14cde27d0266b0.pngimage.thumb.png.98ce5abb652197406b1ec3e8beefadd6.pngimage.thumb.png.d707febd078426a0fdac31c3e8a19dbe.png

Спойлер

Скачайте НужныйВамЯзык.xml из репозитория https://github.com/Gromer-Top/notepad-syntax-highlighter-lua.

Откройте "Синтаксисы" в Notepad++

"Польз. Синтаксис" => "Задать свой синтаксис..."

Откройте "Import" и выберите НужныйВамЯзык.xml

 

Изменено пользователем Gromer
  • Лайк 2
  • Мастер! 1
  • Хабар 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

А может не notepad а Visual Studio Code?
Там вроде удобнее кодить всякое, и можно расширение сделать на манере хойки, но под сталкер
Просто если кто не вкурсе, что в VS Code есть расширение, которое позволяет выбрать папку с модом и он автоматически окрасит красным коды и файлы, которые не правильно прописаны и тд

  • Жму руку 1
  • Печаль 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

От VS Code плохие впечатления, до этого много кодил именно в нем, но моды мне удобнее в Notepad++ делать.

VS Code в файлах постоянно путает кодировку, на utf-8 переключается, в ручную на 1251 нужно переходить, хотя идея насчет расширения в vs code была. Возможно на неделе начну там пробовать.

Насчет плохих впечатлений:

Менял диалоги на кордоне, вырезал монолог сидоровича, в итоге при заходе в игру увидел вместо текста набор символов.Возможно файл нужно было сохранять с кодировкой 1251. Если кто понял проблему, объясните.


Дополнено 6 минуты спустя

Да и есть нужно ли для vs code расширение делать. Там таких много. Буду смотреть, как с Notepad++ всё пойдет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Так вроде бы в нотпаде есть подсветка луа синтекса


 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»
Охотник за артефактами

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

мне подсветка не понравилась встроенная

image.thumb.png.821c9092ba44db31ff8e65d3924fc579.png

решил что эта повеселее

image.thumb.png.e0e1be519fcb352d93f47997a4064f5f.png

 

 


Дополнено 15 минуты спустя

Supremeee глянул я на то, как делаются расширения в vs code, сложнее чем notepad++, но попробовать всё таки стоит. Но Notepad++ не забрасываю, синтаксис еще скудный, нужно доделать.


Дополнено 4 минуты спустя

Supremeee Начало положено, спасибо за идею.

605803230_2025-02-19110809.png.9858ac933b4df847d0d1ccbcf5689ce2.png

Изменено пользователем Gromer

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, Gromer сказал:

Supremeee Начало положено, спасибо за идею.

605803230_2025-02-19110809.png.9858ac933b4df847d0d1ccbcf5689ce2.png

@AziatkaVictor Ты вроде тоже делал расширение, не?

  • Жму руку 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Supremeee да, делал. Если кому-то нужно подсмотреть, как это работает, то ссылка на исходники тут: https://github.com/AziatkaVictor/ltx-support


Дополнено 1 минуту спустя
4 часа назад, Gromer сказал:

Менял диалоги на кордоне, вырезал монолог сидоровича, в итоге при заходе в игру увидел вместо текста набор символов.Возможно файл нужно было сохранять с кодировкой 1251. Если кто понял проблему, объясните.

Правильно, в VS Code есть куча возможностей настроить рабочую папку так, как тебе удобно. Я лично настроил все так, что при работе над модом кодировка сама ставится на 1251.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
55 минут назад, AziatkaVictor сказал:

Supremeee да, делал. Если кому-то нужно подсмотреть, как это работает, то ссылка на исходники тут: https://github.com/AziatkaVictor/ltx-support


Дополнено 1 минуту спустя

Правильно, в VS Code есть куча возможностей настроить рабочую папку так, как тебе удобно. Я лично настроил все так, что при работе над модом кодировка сама ставится на 1251.

Обновил бы, чтоли
в 23 году лишь обновил её, неужели больше нечего добавить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

AziatkaVictor а есть что-нибудь лучше чем офиц документация по vs code? читал, понял мало + в typescript и json'e опыта нет.

и интересно почему, например .vsix расширение по ltx не выложил?


Дополнено 9 минуты спустя

AziatkaVictor а есть что-нибудь лучше чем офиц документация? читал, понял мало + в typescript и json'e опыта нет.


Дополнено 10 минуты спустя

посмотрел я на чужие работы, вижу смысла нет в своем расширении, но из интереса попробую сделать и для notepad++ завершу

Изменено пользователем Gromer

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Supremeee с большим удовольствием бы обновил расширение, но это требует сил и времени, учитывая то, что разработчики сталкера подошли к этому вопросу своеобразно и некоторые моменты приходится делать через хардкод (читать как работает сталкер и примерно повторять что-то в приложении).

Если бы не другой мой проект на UE5, то больше бы уделил времени бы расширению. Но в целом, там есть многие функции, которые часто используются в создании модов: подсказки по функциям, перечень некоторых переменных (локализация, сквады), временами проверка на ошибки.

У меня куча идей по тому, как его улучшить, но все упирается в сам сталкер. Скорее всего нужно модифицировать движок, что как бы не очень хорошо, потому что он у каждого свой. Это убивает самое главное, что я хочу сделать - адаптивность. Хотелось бы, что оно работало со всеми частями и с любым модом. А на данный момент, я лишь завёз поддержку ЗП.

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

На счет второго вопроса. Не уверен, что правильно понял, но расширение с самого начала доступно в открытом доступе: https://marketplace.visualstudio.com/items?itemName=AziatkaVictor.ltx-support

Изменено пользователем AziatkaVictor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

AziatkaVictor я думал, что расширения в открытом доступе нет, так как оно в пуюличном репозитории, потому спросил про .vsix

В модострое я новичок, видимо дальше будет сложно разбираться, но если посмотреть на то, сколько человек заходили ко мне в репозиторий по notepad++, возможно не плохая идея сделать свою подсветку синтаксиса

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Gromer такое точно не будет лишним, до тех пор пока тебе самому это интересно. Своё расширение я делал для себя самого, а уже потом выложил его в сеть, может кому и полезно будет.

В общем, удачи тебе с этим проектом!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 минуты назад, AziatkaVictor сказал:

может кому и полезно будет

расширение точно полезно, я в будущем пользоваться буду, если модострой не заброшу
 

 

3 минуты назад, AziatkaVictor сказал:

В общем, удачи тебе с этим проектом!

Спасибо, с такими документациями без удачи никак

Изменено пользователем Gromer

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
36 минут назад, AziatkaVictor сказал:

У меня куча идей по тому, как его улучшить, но все упирается в сам сталкер. Скорее всего нужно модифицировать движок, что как бы не очень хорошо, потому что он у каждого свой. Это убивает самое главное, что я хочу сделать - адаптивность. Хотелось бы, что оно работало со всеми частями и с любым модом. А на данный момент, я лишь завёз поддержку ЗП.

Ну адаптивность никак не сделать, если движков для сталкера много и у всех есть свои функции и тд
Можно по каждому популярному движку сделать переключение на его язык типо через параметры расширения

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Supremeee можно, но это считай столько же работы для каждого из движков. А ведь они временами выпускают свои обновления, которые что-то ломают у тебя... В общем, гемор еще тот...

  • Печаль 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
7 минут назад, Supremeee сказал:

Можно по каждому популярному движку сделать переключение на его язык типо через параметры расширения

А нужно ли оно вообще? Ни один движок сам язык Lua то не меняет.


Дополнено 3 минуты спустя
6 часов назад, Gromer сказал:

решил что эта повеселее

Мне лично нравится такой стиль.

133927499_.thumb.png.408c065e82cb4ec0013e17928de099da.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

KILDIN lua я на уровне базы знаю, так бы пораскрашивал методы. На твоем скриншоте мне тоже впринципе стиль нравится. То что я сделал, было за час, просто из интереса, пока ролики по модостроению смотрел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
20 часов назад, AziatkaVictor сказал:

да, делал. Если кому-то нужно подсмотреть, как это работает, то ссылка на исходники тут: https://github.com/AziatkaVictor/ltx-support

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Gromer увы, как я понял, никак. Цвета заранее заданы и лишь с особой темой (еще одним расширением) можно указать свои цвета для отдельных токенов.

  • Печаль 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

AziatkaVictor жаль конечно, особенно тут не сделать новичку

Изменено пользователем Gromer

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

AziatkaVictor я не уверен, может это из-за моих знаний английского языка, но по-моему документация ужасная по расширениям, хотя они важны так то.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Gromer на самом деле, все самое необходимое в документации написано, потому что остальное нужно додумывать самому. Даже в моем расширении, у меня идет парсинг LTX. Он имеет свои правила и свои токены, поэтому сложно написать, как именно его парсить.

В остальном же, как именно использовать некоторые функции расширения расписано нормально. Просто временами не хватает примеров или больше теоретической информации.

Изменено пользователем AziatkaVictor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

AziatkaVictor ладно, если не заброшу это дело, увидите меня ещё.

 


Дополнено 23 минуты спустя

Данный проект создан для тех, кто работает в Notepad++ и его не устраивает встроенный синтаксис, а самим разбираться лень/нет времени. Больше вести разработку я не буду, нет идей.

Только в случае, если этот маленький проект, кому-то реально нужен и способен облегчить создание модов.


Дополнено 26 минуты спустя

image.png.7ee648f49cc1838a26fed9a2daeac812.pngimage.png.510b0568a56d581260fbaaf9fc06770d.pngimage.png.901a634a70d1ca5a61457765d1992097.png

Спасибо всем за то, что заглянули.

  • Жму руку 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   1 пользователь онлайн