Page 1 of 4

CudaText. Плагин External Tools

Posted: 21.04.2017 11:01
by sergiokapone
Пользовался в Syn фичей "Внешние инструменты" для компиляции LaTeX.
Установки такие
Picture Syn

при компиляции, все log-, pdf- и прочие файлы генерировались в той же самой папке, где и лежали исходный .tex-файл, как и должно быть.

Перенес все на CudaText
Picture Cuda

Теперь вывод идет в папку, где лежат файлы Cuda.

Это баг?

Нужно, чтобы Initial folder = Folder где лежит файл. Syn'у не нужно было такое указывать, он бросал по умолчанию в папку исходного файла.

Posted: 21.04.2017 12:05
by Alexey
Автор отвечает здесь-
https://github.com/kvichans/cuda_exttools/issues

Posted: 24.04.2017 10:35
by kvichans
Вы правильно угадали: нужно заполнить Initial folder.
Реализация в CudaText не имеет к общего кода с реализацией в Син (они даже на разных языках). Поэтому умолчания другие

Posted: 24.04.2017 11:33
by Alexey
Wish: если папка пуста, дефолт будет папка {FileDir}

Posted: 25.04.2017 06:54
by kvichans
fixed

Posted: 25.11.2017 21:38
by sergiokapone
В новых версиях пропал элемент меню с External Tools.

Posted: 25.11.2017 23:21
by Alexey
У меня п-т верхнего меню Tools на месте.

Posted: 30.11.2017 06:14
by kvichans
sergiokapone
Что отображается в консоли при старте Куд?

Posted: 09.12.2017 18:55
by BlackCat_EraCG
Добрый вечер.

Сразу оговорюсь. Я долго (и пока с переменным успехом) пытаюсь мигрировать на CudaText с NPP. Поэтому буду сравнивать с ним.

Сейчас вот разбираюсь с External Tools.

Как это сделано в NPP с плагином NppExec.
Мы задаем до 10 масок для вывода консоли, для каждой из масок можно задать цвет фонта и его стиль (это очень удобно, отличать errors и warnings от остального вывода). Задается маска просто. Вот такая маска:

Code: Select all

%FILE%(%LINE%): error:*
подкрасит красным цветом и успешно выкусит имя файла и номер строки с ошибкой из вот этого сообщения:

Code: Select all

D:\bc\ZX\Games\2017\Vade Retro II\VDIISource_\KeybRoutines.a80(74): error: Unrecognized instruction: PrntKeys0       PUSH    BC
или из вот этого

Code: Select all

D:\bc\ZX\Games\2017\Vade Retro II\VDIISource_\KeybRoutines.a80(83): error: [DJNZ] Target out of range (162)
и позволит перейти к нужному месту по дабл-клику.
А вот такая маска:

Code: Select all

%FILE%(%LINE%): warning:*
задетектит тут

Code: Select all

D:\bc\ZX\Games\2017\Vade Retro II\VDIISource_\KeybRoutines.a80(74): warning: Label has different value in pass 3: 32860 != 33035
warning и подкрасит его другим цветом.
Может тупо (без мощнейших возможностей даруемых регэкспами), но работает.

Что имеем в External Tools. Я только начал разбираться, поэтому может что-то не нашел.
А нашел я пока только Pattern, и...
...часа через полтора (ну я совсем не отношу себя к адептам Церкви Регулярных Выражений) я-таки научил External Tools получать из строки

Code: Select all

D:\bc\ZX\Games\2017\Vade Retro II\VDIISource_\KeybRoutines.a80(74): error: Unrecognized instruction: PrntKeys0       PUSH    BC
имя файла и номер строки. Чему был несказанно рад!
А вот, что я задал в качестве регэкспа

Code: Select all

(?P<file>^.*).*[(](?P<line>.*).*?[')']
(если честно, я не очень понимаю, что я туда понаписал, но вроде заработало).
"Вроде", потому что уже на строке

Code: Select all

D:\bc\ZX\Games\2017\Vade Retro II\VDIISource_\KeybRoutines.a80(83): error: [DJNZ] Target out of range (162)
я получил "D:\bc\ZX\Games\2017\Vade Retro II\VDIISource_\KeybRoutines.a80(83): error: [DJNZ] Target out of range " в качестве имени файла и "162" - в качестве номера строки.
В общем, печаль.
Я, конечно, осознаю, что описанные мной проблемы - результат моей абсолютной безграмотности в вопросе синтаксиса регулярных выражений. Но. Я не хочу изучать синтаксис регулярных выражений. Я хочу изучать ассемблер z80, а для этого пытаюсь собрать более-менее удобную среду.

Просьба.
Объясните, ЧЯДНТ? И как все-таки надо?
Можно ли раскрасить сообщения в разные цвета, ну или хотя бы задать пару регэкспов: один для ерроров, воторой - для ворнингов.
Спасибо.

Posted: 10.12.2017 06:11
by Alexey
Пока вот скрин паттерна- это тул Tidy и здесь регекс выкусывает номер строки и колонки.