Wake of Gods Forum | Форум Во Имя Богов

Full Version: Новый ERM редактор
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6
(11.03.2020 00:14)Berserker Wrote: [ -> ]Я смотрю Алгор уже вовсю используется //. Думаю, для ежестрочных комментариев при наличии удобного плагина [...] будут оптимумом с точки зрения читаемости. Наглядные скрины ты приводил.

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

Code:
{ "keys": ["alt+f"], "command": "erm_format_inline_comment", "args": {"targetIdent": 40, "removeDoubleSlashes":0, "surroundBySquareBrackets":0, "removeSquareBrackets":1, "addDoubleSlashes":1, "collectVars":0 , "prepareComment":0} },  
  { "keys": ["alt+shift+f"], "command": "erm_format_inline_comment", "args": {"targetIdent": -1, "removeDoubleSlashes":0, "surroundBySquareBrackets":0, "removeSquareBrackets":1, "addDoubleSlashes":1, "collectVars":0, "prepareComment":0} },
  { "keys": ["ctrl+alt+f"], "command": "erm_format_inline_comment", "args": {"targetIdent": 40, "removeDoubleSlashes":0, "surroundBySquareBrackets":0, "removeSquareBrackets":1, "addDoubleSlashes":1, "collectVars":1, "prepareComment":1} }

Я у себя в своем коде использую квадратные скобки, но каждый может выбрать свой стиль.
(11.03.2020 00:14)Berserker Wrote: [ -> ]Я смотрю Алгор уже вовсю используется //
Да, как я уже говорил, цветовое выделение гораздо нагляднее символьного. И, как по мне, разницы в читабильности на приведенных выше скринах нет никакой. Поэтому перешел на // чтоб не напрягать интерпретатор. Но дело вкуса, конечно.
Zur13, а не тестовая версия для включения в Эру планируется или пока не до этого?
(11.03.2020 01:55)Berserker Wrote: [ -> ]Zur13, а не тестовая версия для включения в Эру планируется или пока не до этого?

Я ей у себя пользуюсь довольно активно, я пока каких-то больших багов не находил, под большими я подразумеваю удаление кусков ЕРМ кода или существующих каментов, только в самой первой версии был баг с удалением ; которая закрывала ЕРМ команду. Баг я починил, и дополнительно даже несколько защит внедрил, чтобы ничего кроме пробелов не удаляло. Но пока ей не начнут активно пользоваться я ничего гарантировать не могу, я просто физически не могу проверить все возможные комбинаци кода и каментов.
Zur13, понял, спасибо.
(11.03.2020 02:55)Berserker Wrote: [ -> ]Zur13, понял, спасибо.

Только что перезалил, я еще посидел подумал, и добавил исключение из поиска ЕРМ кода текстов внутри ^^, а то ";" в таком тексте могли восприниматься как конец ЕРМ команды.
Berserker, а, кстати говоря, будет ли сообщение об ошибки если использовать спец.символы внутри текстового сообщения?
в справке есть указание что такое не допустимо, но нет чёткого указания что случится в таком случае.

ERM Help Rus Wrote:Замечание: сообщения в тестовых переменных не должны содержать символов ; и ^
========================

Примечание: поскольку ресивер IF включает текстовые сообщения, в них не может быть использованы символы ";" и "^".
Zur13, точка с запятой запрещена в ^...^, так как является ограничителем команды. Не проверял, но тоже много где останавливаюсь на ^, ;, #0 согласно документации.
(11.03.2020 03:45)Berserker Wrote: [ -> ]Zur13, точка с запятой запрещена в ^...^, так как является ограничителем команды. Не проверял, но тоже много где останавливаюсь на ^, ;, #0 согласно документации.

Только что проверил, ничего не вылетает, сообщение показывается:

!!IF:M^sad ; sads^;
Нет, нельзя. Много где ";" используется или как точка синхронизации после ошибки, или как ограничитель.
Но я на всякий случай у себя, где можно, ограничение убрал.
У меня плагин по ctrl + alf + f не переносит курсор внутрь квадратных скобок.
А alt + shift + f вообще не выполняет заявленного
https://yadi.sk/i/67jop2YyFagjlQ
(11.03.2020 05:16)Berserker Wrote: [ -> ]У меня плагин по ctrl + alf + f не переносит курсор внутрь квадратных скобок.
А alt + shift + f вообще не выполняет заявленного
https://yadi.sk/i/67jop2YyFagjlQ

Плагин работает только с выделенным текстом или если выделения нет, то только в той строке где стоит курсор, потому при нажатии alt+shift+f плагин в текущей строке находит общую для всех строк (в этом случае только для текущей) позицию камента. Но это навело меня на мысль, я сейчас переделал поведение, новая версия плагина, если выделения нет, будет проверять 3 строки вверх и вниз, для автовыбора позиции камента. И добавил перенос курсора ctrl + alf + f

Обновил плагин.

Этот плагин для Sublime Text позволяет:
  • Исправлять каменты в текущей строке (где стоит текстовый курсор), или в нескольких выделенных строках (поддерживается многострочное выделение).
  • Заменять двойные слешы // в начале камента на оборачивание в [ квадратные скобки ] (опционально)
  • Заменять [ квадратные скобки ] вокруг камента на двойные слешы // перед ним (опционально)
  • Собирать в начало камента большинство измененных переменных в этой строке (распознаются только в VR<переменная> и ?<переменная>, IF:V<номер флага> ОПЦИОНАЛЬНО)
  • Проставлять заготовку под камент в стиле [ квадратные скобки ] или двойные слешы //, если в строке есть ЕРМ код но нет камента (опционально)
  • Автоматически выбирать длинну отступа для всех коментариев в выделении по максимальному отступу (опционально)

В новой версии плагина:
  • Улучшен автоматический поиск отступа если нет выделения (выделена одна строка), в этом случае сканируются 3 строки вверх и 3 строки вниз.
  • Простановка заготовки под камент, если нет выделения (выделена одна строка) теперь переводит текстовый курсор в конец этой строки или внутрь квадратных скобок заготовки под камент.

Хоткеи для старой версии плагина нужно заменить СНОВА.

ПОКА ПЛАГИН ТЕСТОВЫЙ ОЧЕНЬ НЕ РЕКОМЕНДУЕТСЯ ЗАМЕНЯТЬ ЧТО-ТО КОГДА ЧАСТЬ ВЫДЕЛЕННЫХ СТРОК ВНЕ ВИДИМОСТИ ЧТОБЫ ПРОВЕРЯТЬ ПРОДЕЛАННЫЕ ИЗМЕНЕНИЯ.

Как с ним работать:
1. Плагин забираем тут (файл ErmFormatInlineComment.py)
2. Кладем его сюда: Tools\Erm Editor Sublime\Data\Packages\User
3. В саблайме идем в меню Preferences-Key Bindings и в правой панели где юзерские сочетания добавляем: между [] вот это:
Code:
{ "keys": ["alt+f"], "command": "erm_format_inline_comment", "args": {"targetIdent": 40, "removeDoubleSlashes":1, "surroundBySquareBrackets":1, "removeSquareBrackets":0, "addDoubleSlashes":0, "collectVars":0 , "prepareComment":0} },  
  { "keys": ["alt+shift+f"], "command": "erm_format_inline_comment", "args": {"targetIdent": -1, "removeDoubleSlashes":1, "surroundBySquareBrackets":1, "removeSquareBrackets":0, "addDoubleSlashes":0, "collectVars":0, "prepareComment":0} },
  { "keys": ["ctrl+alt+f"], "command": "erm_format_inline_comment", "args": {"targetIdent": 40, "removeDoubleSlashes":1, "surroundBySquareBrackets":1, "removeSquareBrackets":0, "addDoubleSlashes":0, "collectVars":1, "prepareComment":1} }
4. По сочетанию клавиш плагин приведет камент к выбранному стилю ( [ квадратные скобки ] или слешы // ) и:
  • alt+f плагин подгонит каменты в выделенных строках в позицию на 40 символов от начала строки, если это возможно сделать удаляя или добавляя пробелы
  • ctrl+alt+f плагин соберет переменные изменяемые в ЕРМ коде в начало камента.
  • alt+shift+f плагин автоматически найдет отступ так чтобы все каменты в выделенных строках (если выделена одна строка он дополнительно проверит 3 строки вверх и вниз, но изменит только строку в которой стоит курсор) оказались на одном уровне пример:
    Image: Sublime-ERM-Plugin3.png
Заморочился сделал еще один небольшой плагин для Sublime Text.
Этот плагин для Sublime Text позволяет:
Закаментить и раскаментить ERM код в выделенных строках (или в строке где находится курсор), по нажатию всего одного сочетания клавиш: Ctrl+Alt+C

Новая версия плагина дальше в ответах к этому треду.
Удобная фишка.
P.S. В любом sublime можно зажатой средней кнопкой мыши создать линию курсоров, затем shift + вправо, "*". Либо Выделить строки, ctrl +shift + L, home, shift + ->, '*".
(12.03.2020 03:17)Berserker Wrote: [ -> ]Удобная фишка.
P.S. В любом sublime можно зажатой средней кнопкой мыши создать линию курсоров, затем shift + вправо, "*". Либо Выделить строки, ctrl +shift + L, home, shift + ->, '*".

Можно конечно, но я не люблю к мышке тягаться лишний раз при работе с кодом да и плагин позволяет сразу вперемешку все строки разобрать включая вот эту, где пара команд в одной строке, из примера на моем скрине, я из-за нее и заморочился главным образом, но и колончатый курсор интересная фишка Sm
Code:
!!SN:W^zEwmIV_mod_on^/?y1; !!FU&y1<>1:E;  [Exit if mod disabled]
*!SN:W^zEwmIV_mod_on^/?y1; *!FU&y1<>1:E;  [Exit if mod disabled]
Pages: 1 2 3 4 5 6
Reference URL's