Страница 36 из 39
Добавлено: Вс июл 28, 2024 14:25
AlexTP1
Можете запостить весь файл settings/macros.json, чтобы не набивать его руками?
Posted after 6 minutes:
Я сделал почти тот же макрос с строкой-регекс w+ (все буквы 'w').
И он работает даже после старта проги.
Отличие есть.
Вот мой файл settings/macros.json
Код: Выделить всё
{
"ver": "20151204",
"list": [
{
"id": 30803,
"nm": "Tst",
"rec": "2492,findfirst\u0001w+\u0001\u0001rwaA\n2492,findsel\u0001w+\u0001\u0001rwaA\n1006\n655620\n153\n1000\n",
"evl": [
"ed.cmd(cmds.cmd_FinderAction,'findfirst\\x01w+\\x01\\x01rwaA')",
"ed.cmd(cmds.cmd_FinderAction,'findsel\\x01w+\\x01\\x01rwaA')",
"ed.cmd(cmds.cCommand_ClipboardCopy)",
"ed.cmd(cmds.cCommand_SelectAll)",
"ed.cmd(cmds.cCommand_KeyDelete)",
"ed.cmd(cmds.cCommand_ClipboardPaste)"
]
}
],
"dlg_prs": {},
"tm_ctrl": {
"rp_ctrl": 300,
"tm_wait": 10
}
}
Я заюзал другую команду из длг поиска - клик на "...", потом "Select all".
Posted after 4 minutes:
В моем макросе первый поиск (findfirst) не нужен.
Добавлено: Вс июл 28, 2024 14:40
Lnk
AlexTP1 писал(а):Можете запостить весь файл settings/macros.json, чтобы не набивать его руками?
Код: Выделить всё
{
"ver": "20151204",
"list": [
{
"id": 60331,
"nm": "Macro5",
"rec": "2492,findfirst\u0001[-a-zA-Z0-9@:%_\\+.~#?&\\/=]{2,256}\\.[a-z]{2,4}\\b(\\/[-a-zA-Z0-9@:%_\\+.~#?&\\/=]*)(([\\w_-]+(?:(?:\\.[\\w_-]+)+))([\\w.,@?^=%&:/~+#-]*[\\w@?^=%&/~+#-]))?\u0001\u0001raA\n2596\n1006\n655620\n171\n1000\n",
"evl": [
"ed.cmd(cmds.cmd_FinderAction,'findfirst\\x01[-a-zA-Z0-9@:%_\\\\+.~#?&\\\\/=]{2,256}\\\\.[a-z]{2,4}\\\\b(\\\\/[-a-zA-Z0-9@:%_\\\\+.~#?&\\\\/=]*)(([\\\\w_-]+(?:(?:\\\\.[\\\\w_-]+)+))([\\\\w.,@?^=%&:/~+#-]*[\\\\w@?^=%&/~+#-]))?\\x01\\x01raA')",
"ed.cmd(cmds.cmd_FindAllAndSelect)",
"ed.cmd(cmds.cCommand_ClipboardCopy)",
"ed.cmd(cmds.cCommand_SelectAll)",
"ed.cmd(cmds.cCommand_TextDeleteLine)",
"ed.cmd(cmds.cCommand_ClipboardPaste)"
]
}
],
"dlg_prs": {},
"tm_ctrl": {
"rp_ctrl": 300,
"tm_wait": 10
}
}
У вас разница как я понял в том что "ed.cmd(cmds.cmd_FinderAction,'findsel\\x01w+\\x01\\x01rwaA')", прописано, а я использую запись с экрана, нажимая на кнопки, как прописать кнопками как у вас не знаю, но разве просто кнопки выделитть все найденное не должно быть достаточно..
В моем макросе первый поиск (findfirst) не нужен.
Не понял? а это что тогда?
"ed.cmd(cmds.cmd_FinderAction,'findfirst\\x01w+\\x01\\x01rwaA')",
Я вобще не эксперт если что, говорю что вижу.
Важный момент был в том что почему то проге надо чтоб был выделен регексп в меню поиска, само меню можно скрыть после этого.
Про перезапуск программы сказал потому что поле поиска очищается. НО можете крестиком его очистить и оставить окно поиска открытым и макрос работать норм не будет, хотя должен..
/
Давайте тогда так - как это прописать
Код: Выделить всё
ed.cmd(cmds.cmd_FinderAction,'findsel\\x01w+\\x01\\x01rwaA')
не редактируя файл , а через запись с экрана? если я правильно понимаю это как раз дает команду выделить все вхождения с параметром что выделить . А у меня оно прописывается лишь 1 раз при поиске.
Добавлено: Вс июл 28, 2024 14:49
AlexTP1
а я использую запись с экрана, нажимая на кнопки, как прописать кнопками как у вас не знаю,
В моем макросе 2 поиска.
Вы сделайте только второй из них при записи:
- ввели текст поиска
- прожали все флаги (regex)
- потом кликаете "..." в длг поиска и там есть "Select all"
Помогло?
Posted after 3 minutes:
Lnk писал(а):момент был в том что почему то проге надо чтоб был выделен регексп в меню поиска
Да, команде "find all and select" (из палитры команды) надо включенный флаг regex. И заполненый текст поиска.
Posted after 2 minutes:
Переделайте макрос - как у меня, и все заработает.
Добавлено: Вс июл 28, 2024 14:51
Lnk
Переделайте макрос - как у меня, и все заработает
понял, через меню три точки только видимо, я их не использовал.
Думаю да все так сработает, проверю отпишусь.
/
Подтверждаю, все работает.
значит загвоздка в этом
Да, команде "find all and select" (из палитры команды) надо включенный флаг regex. И заполненый текст поиска.
Буду действовать через ...
СПАСИБО!

Добавлено: Вс июл 28, 2024 18:14
Orion9
Круто.
Давно я так не радовался решению чужой проблемы.
Вам определенно повезло
Lnk, что мастер сам к вам пришел и помог

Добавлено: Вс июл 28, 2024 18:51
Lnk
Это да, повезло
И кстати с этим работающим макросом можно пойти и дальше, и следующим шагом отсеять напр ссылки по определенному критерию. Многие расширения конечно способны сейчас вытаскивать из кода ссылки, но почти никто не умеет работать с меняющимся DOM контентом.
Добавлено: Вс янв 26, 2025 22:25
Lnk
Хотел бы спросить а в CudaText есть Javascript Beautifier?
Я покопался в плагинах, не нашел, HTML Beautify есть.
Чтоб понятней было - имеется ввиду как то сделать такое можно ли
https://codeamaze.com/web-viewer/javascript-viewer
Добавлено: Пн янв 27, 2025 13:49
AlexTP1
Да, есть.
1. Ставим CudaFormatter плагин.
2. к нему ставим подплагин "formatter: JavaScript_JSON".
Как пользоваться CudaFormatter:
https://wiki.freepascal.org/CudaText_plugins
Сделать такое же как на сайте
https://codeamaze.com/web-viewer/javascript-viewer , в теории можно, ваш плагин может создать диалог с 2 большими полями, и может вызывать действия из cudaFormatter (наверное, не проверял). Или просто скопировать в плаг часть кода из cudaFormatter. Реагировать на on_change из 1го поля, плаг может.
Добавлено: Вт янв 28, 2025 06:32
Lnk
AlexTP1, как выяснилось у меня эти плагины стоят по умолчанию)
Я пытался обычно через лексеры (там javascript,javascript ES6, json и json^) , но они просто раскрашивают.
Попытался теперь через Плагины-CudaFormatter, но ничего не добился.
Кстати там в configure formatters только HTML Beautify стоит.
Вобще в основном имею дело с расширениями, там Beautify это обычно не только раскраска(я потому так и стал ее понимать-что раскидывают код для чтения неспецов типа меня), взял одно из расширений, следы привели Written by Einar Lielmanis, jsbeautifier.org
All of the source code is completely free and open, available on GitHub under MIT licence, and we have a command-line version, python library and a node package as well.
github.com/beautifier/js-beautify в расширении оно работает, может и как то в то Cuda можно было бы это прикрутить, а может и без допов можно сделать как то, но ни того ни другого я не знаю как.
Спасибо за ответ и за информацию AlexTP1! Не так сильно важно, не вышло и не вышло, буду по старинке)
Добавлено: Вт янв 28, 2025 12:47
AlexTP1
Попытался теперь через Плагины-CudaFormatter, но ничего не добился.
Кстати там в configure formatters только HTML Beautify стоит.
Попробуйте сделать шаги как и я.
1. установили CudaFormatter, и форматтер JavaScript_JSON
2. рестарт Куды
3. открыли файл с лексером JavaScript. Ввели кривые пробелы около слов чтобы форматтер чтото делал.
4. вызов Plugins / CudaFormatter / Formatter (menu) - должен показать 4 форматтера для JS. Первый из них JS Beautify. Он должен поправить пробелы в файле.
Вызов Options / Settings-plugins / CudaFormatter / Configure formatter (с активным лексером JavaScript) у меня показывает JS Beautify.
Вы повторили это?
В консоли Куды есть ошибки (нижняя панель)?
Posted after 4 minutes:
github.com/beautifier/js-beautify в расширении оно работает, может и как то в то Cuda можно было бы это прикрутить
Сначала повторите мои шаги. Потом уже когда форматтер текущий заработает, подумаем как прикрутить это.
Posted after 13 minutes:
Кажись уже и так этот ваш модуль мой форматер юзает.
Те же папки.
Только в Гитхабе версия новее.
Добавлено: Вт янв 28, 2025 13:07
Lnk
AlexTP1, все шикарно заработало! там в консоли писало нет форматтера.
Повторил ваши шаги, на всякий переустановил CudaFormatter и форматтер JavaScript_JSON и теперь и без пробелов все шикарно!
Спасибо большое AlexTP1!
А нельзя чтоб он запомнил это? или наметку как кнопку сделать? через макрос не запоминает. НУ я его сделал per-lexer A, все что смог.
(если нельзя кнопкой-не страшно, буду лазить при каждом файле, главное работает!).
Добавлено: Вт янв 28, 2025 13:10
AlexTP1
Ну вот. Заработало. Ну хорошо. Да, по вашей ссылке лежит более новая версия питон-кода. Обновился на нее. Форматтер обновлен в AddonManager.
Добавлено: Вт янв 28, 2025 13:17
Lnk
AlexTP1, Шикарно! Тогда еще раз обновлюсь)
Если будет наметка как сделать чтоб запомнил или кнопку как сделать, напишите плиз.
Добавлено: Вт янв 28, 2025 13:22
AlexTP1
как сделать чтоб запомнил или кнопку как сделать
Не понял вопросы, уточните.
Добавлено: Вт янв 28, 2025 13:27
Lnk
Ну я имею ввиду в меню чтоб не лазить
вызов Plugins / CudaFormatter / Formatter (menu) - JS Beautify при каждом файле.
А хотя кнопку можно на меню сделать, через тулбар. Подойдет)
Спасибо за помощь!