Перейти к контенту

Подсветка синтаксиса Lua


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

Уважаемые специалисты! Эта тема создана для согласования того, как будет подсвечиваться код Lua на форуме.


Инициативный пост - здесь.


Реализация той или иной подсветки возможна.


Далее передаю слово @Nazgool.


  • Спасибо 1
  • Нравится 1
Ссылка на комментарий
Итак, во-первых спасибо администрации сайта за проделаную работу.

Теперь появилась возможность подсвечивать код Lua в наиболее распростаненном стиле.

 

Во-вторых. Многие могут посчитать, что затронутая тема не является чем-то необходимым.

Теоретически так оно и есть. Но вот практически выходит несколько иначе.

Не могу и не стану говорить про всех. Скажу за себя.

Разбирая вопросы пользователей касающихся скриптовой составляющей, поймал себя на том,

что первое что я делаю - это копирую код с форума в редактор.

Это позволяет, например, банальное отсутствие 'end'-а определить практически мгновенно.

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

сложно понять принцип работы.

 

Поэтому в-третьих. В данной теме предлагается обсудить "наиболее распростаненные стили",

которые будут приняты за основу подсветки синтаксиса Lua на форуме.

 

Ну и теперь, являясь поклонником редактора SciTE, мне остается только предложить его подсветку.

Для тех кто не знаком с подсветкой этого редактора, я подготовил скриншот :


Изменено пользователем Nazgool
  • Спасибо 1
  • Нравится 1
Ссылка на комментарий

Ну идея хорошая, хоть я и любитель блокнота. А что, если сделать наподобие MVS. На мой взгляд очень удобно.

  • Нравится 1

svarog2741.gif

 

НС - шлак, солянки - шлак.

Ссылка на комментарий
хоть я и любитель блокнота

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

Но скорее всего даже не назовут :)

И полагаю что однотоновая подсветка тут рассматриваться не будет )

Также интересно было бы посмотреть подсветку MVS (извиняюсь, не знаком с ней)

Изменено пользователем Nazgool
  • Нравится 1
Ссылка на комментарий

@Nazgool, думаю, имелся ввиду не простой блокнот, а что-то типа notepad++.

Там, например, такая подсветка есть: https://yadi.sk/d/qUVtrrD4gCuni

 

Вот так выглядят скрипты из недавнего:

https://yadi.sk/i/gWNrb-4SgCuyB

Изменено пользователем abramcumner
  • Согласен 1
Ссылка на комментарий

Думаю, тут у скольких ни спроси, у каждого будет своё мнение, на котором он и будет стоять.
Лично я, например, пользуюсь notepad++, привык к его подсветке, а подсветка SciTE на скриншоте слегка режет глаз, заставляя цепляться взглядом за привычные вроде бы блоки, которые на поверку оказываются совсем другими (пример: строка в N++ совпадает по цвету с числом в SciTE).

Поэтому предлагаю @Nazgool, как автору идеи, либо принять волюнтаристское решение без оглядки на мнение остальных, либо замутить опрос с тремя (или более) пунктами (2+ варианта редакторов, плюс «всё равно») и сделать так, как хочет большинство.

 

 

 

посмотреть подсветку MVS

Мне кажется, речь была о MS Visual Studio.

Изменено пользователем Kirgudu
  • Согласен 1
Ссылка на комментарий

@abramcumner

Раз уж тут предполагается дискуссия, то выскажу свои претензии к подсветке Notepad.
1. Числа.
    Числа используются в скриптах сполошь и рядом. Их очень много. Оранжевый цвет, в
    силу своего спектра, воспринимается глазом достаточно сложно. Поэтому цифры должны
    быть подсвечены более выразительно.
 
2. Строки.
    На твоем скрине три различных способа оформления строки имеют различную подсветку.
    Зачем? Строка, как тип Lua значения, должен иметь и свой индивидуальный цвет.
    Подсветку строки в двойных кавычках лучше уж использовать для чисел.
 
3. Операторы.
    Тут моё категорическое недовольство. В глаза обязано бросаться то, какой математический
    знак ты поставил, закрыл ли скобку, обратился к свойству или методу... и т.д.
    Поэтому только красный цвет!
 
4. Зарезервированные ключевые слова (and, break, do, ...)
    Цвет одинаков в обоих редакторах. Вопросов нет, но я собственно хочу сказать не об этом.
    Ни один из близких к этому цветов не должен использоваться для подсветки других
    ключевых слов. Именно они определяют визуальное восприятие блоков кода.  
    Из скрина видно, что в Notepad подобную посветку используют coroutine и os.
 
5. Ну и последнее.
    На скрине string, math, coroutine, os почему-то имеют подсветку базовых функций Lua.
    В принципе на это можно и не обращать внимания. Вроде бы таблицы библиотек тоже
    базовые. Но я бы не стал относить таблицы к функциям. Считаю что каждая библиотека
    должна иметь одинаковую цветовую гамму.
 
Вот для сравнения набил код с твоего скрина в SciTE https://yadi.sk/i/dHXBMEoHgD83z
Изменено пользователем Nazgool
Ссылка на комментарий

Notepad++ дефолтовый стиль ЛУА почти такой же как на скрине, только "числа" и "операторы" местами поменять. А, да, кириллицу приравнять к комментарию, если текст не "заковычен" - красный для коммента - вполне хорош \как сейчас\.

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

10.png

Ссылка на комментарий

@Nazgool, это просто пример дефолтной подсветки из нотепад++. Постарался набить файл как у тебя в примере.

Вообще чем больше цветов тем хуже. Меня устраивает такая расцветка: комментарии - зеленым, строки - розовые, ключевые слова синие.

Раньше еще числа раскрашивал, но потом забил - лишнее.

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

Строчки - да, смысла делать разным цветом никакого. Я их в один цвет выставляю.

 

Я согласен на любую подсветку. Вот чтобы хотел добавить - это автоформатирование кода :) Код без отсупов бесит.

Notepad++ дефолтовый стиль ЛУА почти такой же как на скрине, только "числа" и "операторы" местами поменять..

Ну не совсем такой. Или даже совсем не такой. Я приводил выше скрин - вроде дефолтная подсветка луа в нотепад++.
Ссылка на комментарий

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

Возьмите N++ и не парьтесь. А еще лучше сделайте кастомизацию подсветки (штук 10 на выбор) и сохраняйте в куки или еще куда персонально для пользователя - всем будет щастье.

  • Согласен 1

ТЧ 1.0004. SAP и Trans mod

github

Ссылка на комментарий
Код без отсупов бесит.

+1. О да. Я совсем забыл об этом сказать. Не просто бесит. Разрывает.

 

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

Это вопрос решался не нами. Так что обращайтесь в вышестоящие инстанции. 

 

Возьмите N++ и не парьтесь

Могу сказать  почти то же самое - возьмите SciTE и не парьтесь. Аргументы желательно услышать.

 

WARNING !

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

Они нужны для тех, кто занимается техподдержкой сайта. Именно они, на основе наших пожеланий и предложений

примут решение о том или ином стиле. 

Изменено пользователем Nazgool
  • Согласен 1
Ссылка на комментарий

Подсветка SciTE более последовательная, так что надо ее брать. Еще вполне возможно надо подсвечивать self - увидел в одном из расширений к VS - в принципе полезно.

Ссылка на комментарий

возьмите SciTE и не парьтесь

Ну так возьмите, смысл не в том, чтобы мусолить эту тему, а просто взять и сделать.

ТЧ 1.0004. SAP и Trans mod

github

Ссылка на комментарий
чтобы мусолить эту тему

Повторю ещё раз 

Это вопрос решался не нами. Так что обращайтесь в вышестоящие инстанции. 

.....

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

Они нужны для тех, кто занимается техподдержкой сайта. Именно они, на основе наших пожеланий и предложений

примут решение о том или ином стиле.

Давайте тогда уж поставим на голосование.

 

Еще вполне возможно надо подсвечивать self

Согласен. Я у себя в SciTE еще выставил подсветку основных функций сталкера.

На скрине этого не видно, т.к. набивал в версии Lua 5.2, а в 5.1 есть )

 

 

Вообще чем больше цветов тем хуже.

Я вроде бы и согласен. Новогоднюю елку делать не нужно.

 

А вот в редакторе (теоретически) может быть полезным. Возьму к примеру подсветку основных

функций(ну или свойств тоже) сталкера.

Набиваю db.actor --> подсветилось --> значит правильно, в db actor-а есть такое свойство

далее : db.actor:give_money --> подсветилась give_money --> тоже правильно, есть такой метод.

Как-то так.

Изменено пользователем Nazgool
Ссылка на комментарий

Еще размер табуляции уменьшить до 4-х знаков \сейчас 8\.

И сделать луа по умолчанию: вместо code=auto:0, сделать code=lua:0

 

ps. А как быть с конфигуристами? Есть возможность ввести подсветку Ms ini ? :)

Изменено пользователем Eugen81
  • Согласен 1
 

10.png

Ссылка на комментарий

В принципе можно сделать несколько вариантов + выбор фона (чёрный/белый). И тогда меньше будет разногласий. И поставить установку выбора в настройки профиля.


 

 

В студии нет своей подсветки Луа
Я не про Луа конкретно. А про стиль подстветки того же C++. Изменено пользователем svarog2741
  • Согласен 1

svarog2741.gif

 

НС - шлак, солянки - шлак.

Ссылка на комментарий

Я не про Луа конкретно. А про стиль подстветки того же C++.

Ну и скрин привел бы или описал.

Подсветка дефолтная в МВС небогатая:

комментарии - зеленым,

строки - темно-красным,

ключевые слова - синим,

типы - сине-зеленым(для луа неактуально).

Еще правда аргументы внутри функции подсвечиваются серым цветом. Ну это надо уже парсером проходиться по идее.

Ссылка на комментарий

 

 

Ну и скрин привел бы или описал.
 
Показывание расположения переменной 
Простая подсветка

P.S. Мне такой стиль по душе. На мой взгляд всё самое нужно подсвечивается.

svarog2741.gif

 

НС - шлак, солянки - шлак.

Ссылка на комментарий
И сделать луа по умолчанию: вместо code=auto:0, сделать code=lua:0

С этим пока проблемы. Надеюсь, что именно "пока".

 

Они нужны для тех, кто занимается техподдержкой сайта. Именно они, на основе наших пожеланий и предложений примут решение о том или ином стиле.

Строго говоря, не совсем так, техподдержке не нужны и аргументы. Нужно понимание того, что надо изменить, а не почему это надо изменить именно так, а не иначе. От нас с вами требуется просто суммировать хотелки, от техподдержки - реализация (по мере возможности) этих хотелок. :)

 

@Kirgudu, Кирилл, если нужно, добавляй опрос, согласовывайте его пункты... Словом, рули.

Ссылка на комментарий

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...