View previous topic :: View next topic |
Author |
Message |
AlexTP1

Joined: 27 Jul 2024 Posts: 40
|
(Separately) Posted: Sun Jul 28, 2024 15:16 Post subject: |
|
|
Можете запостить весь файл settings/macros.json, чтобы не набивать его руками?
Posted after 6 minutes:
Я сделал почти тот же макрос с строкой-регекс w+ (все буквы 'w').
И он работает даже после старта проги.
Отличие есть.
Вот мой файл settings/macros.json
Code: |
{
"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) не нужен. |
|
Back to top |
|
 |
Lnk
Joined: 13 May 2023 Posts: 99
|
(Separately) Posted: Sun Jul 28, 2024 15:40 Post subject: |
|
|
[quote="AlexTP1"]Можете запостить весь файл settings/macros.json, чтобы не набивать его руками?
Code: | {
"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')", прописано, а я использую запись с экрана, нажимая на кнопки, как прописать кнопками как у вас не знаю, но разве просто кнопки выделитть все найденное не должно быть достаточно..
Quote: | В моем макросе первый поиск (findfirst) не нужен. |
Не понял? а это что тогда?
Quote: | "ed.cmd(cmds.cmd_FinderAction,'findfirst\\x01w+\\x01\\x01rwaA')", |
Я вобще не эксперт если что, говорю что вижу.
Важный момент был в том что почему то проге надо чтоб был выделен регексп в меню поиска, само меню можно скрыть после этого.
Про перезапуск программы сказал потому что поле поиска очищается. НО можете крестиком его очистить и оставить окно поиска открытым и макрос работать норм не будет, хотя должен..
/
Давайте тогда так - как это прописать Code: | ed.cmd(cmds.cmd_FinderAction,'findsel\\x01w+\\x01\\x01rwaA') | не редактируя файл , а через запись с экрана? если я правильно понимаю это как раз дает команду выделить все вхождения с параметром что выделить . А у меня оно прописывается лишь 1 раз при поиске.
Last edited by Lnk on Sun Jul 28, 2024 15:49; edited 1 time in total |
|
Back to top |
|
 |
AlexTP1

Joined: 27 Jul 2024 Posts: 40
|
(Separately) Posted: Sun Jul 28, 2024 15:45 Post subject: |
|
|
Quote: | а я использую запись с экрана, нажимая на кнопки, как прописать кнопками как у вас не знаю, |
В моем макросе 2 поиска.
Вы сделайте только второй из них при записи:
- ввели текст поиска
- прожали все флаги (regex)
- потом кликаете "..." в длг поиска и там есть "Select all"
Помогло?
Posted after 3 minutes:
Lnk wrote: | момент был в том что почему то проге надо чтоб был выделен регексп в меню поиска |
Да, команде "find all and select" (из палитры команды) надо включенный флаг regex. И заполненый текст поиска.
Posted after 2 minutes:
Переделайте макрос - как у меня, и все заработает. |
|
Back to top |
|
 |
Lnk
Joined: 13 May 2023 Posts: 99
|
(Separately) Posted: Sun Jul 28, 2024 15:51 Post subject: |
|
|
Quote: | Переделайте макрос - как у меня, и все заработает |
понял, через меню три точки только видимо, я их не использовал.
Думаю да все так сработает, проверю отпишусь.
/
Подтверждаю, все работает.
значит загвоздка в этом
Quote: | Да, команде "find all and select" (из палитры команды) надо включенный флаг regex. И заполненый текст поиска. |
Буду действовать через ...
СПАСИБО!  |
|
Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 786
|
(Separately) Posted: Sun Jul 28, 2024 19:14 Post subject: |
|
|
Круто.
Давно я так не радовался решению чужой проблемы.
Вам определенно повезло Lnk, что мастер сам к вам пришел и помог  |
|
Back to top |
|
 |
Lnk
Joined: 13 May 2023 Posts: 99
|
(Separately) Posted: Sun Jul 28, 2024 19:51 Post subject: |
|
|
Это да, повезло
И кстати с этим работающим макросом можно пойти и дальше, и следующим шагом отсеять напр ссылки по определенному критерию. Многие расширения конечно способны сейчас вытаскивать из кода ссылки, но почти никто не умеет работать с меняющимся DOM контентом. |
|
Back to top |
|
 |
Lnk
Joined: 13 May 2023 Posts: 99
|
|
Back to top |
|
 |
AlexTP1

Joined: 27 Jul 2024 Posts: 40
|
(Separately) Posted: Mon Jan 27, 2025 14:49 Post subject: |
|
|
Да, есть.
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го поля, плаг может. |
|
Back to top |
|
 |
Lnk
Joined: 13 May 2023 Posts: 99
|
(Separately) Posted: Tue Jan 28, 2025 07:32 Post subject: |
|
|
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! Не так сильно важно, не вышло и не вышло, буду по старинке) |
|
Back to top |
|
 |
AlexTP1

Joined: 27 Jul 2024 Posts: 40
|
(Separately) Posted: Tue Jan 28, 2025 13:31 Post subject: |
|
|
Quote: | Попытался теперь через Плагины-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:
Quote: | github.com/beautifier/js-beautify в расширении оно работает, может и как то в то Cuda можно было бы это прикрутить |
Сначала повторите мои шаги. Потом уже когда форматтер текущий заработает, подумаем как прикрутить это.
Posted after 13 minutes:
Кажись уже и так этот ваш модуль мой форматер юзает.
Те же папки.
Только в Гитхабе версия новее. |
|
Back to top |
|
 |
Lnk
Joined: 13 May 2023 Posts: 99
|
(Separately) Posted: Tue Jan 28, 2025 14:07 Post subject: |
|
|
AlexTP1, все шикарно заработало! там в консоли писало нет форматтера.
Повторил ваши шаги, на всякий переустановил CudaFormatter и форматтер JavaScript_JSON и теперь и без пробелов все шикарно!
Спасибо большое AlexTP1!
А нельзя чтоб он запомнил это? или наметку как кнопку сделать? через макрос не запоминает. НУ я его сделал per-lexer A, все что смог.
(если нельзя кнопкой-не страшно, буду лазить при каждом файле, главное работает!).
Last edited by Lnk on Tue Jan 28, 2025 14:14; edited 1 time in total |
|
Back to top |
|
 |
AlexTP1

Joined: 27 Jul 2024 Posts: 40
|
(Separately) Posted: Tue Jan 28, 2025 14:10 Post subject: |
|
|
Ну вот. Заработало. Ну хорошо. Да, по вашей ссылке лежит более новая версия питон-кода. Обновился на нее. Форматтер обновлен в AddonManager. |
|
Back to top |
|
 |
Lnk
Joined: 13 May 2023 Posts: 99
|
(Separately) Posted: Tue Jan 28, 2025 14:17 Post subject: |
|
|
AlexTP1, Шикарно! Тогда еще раз обновлюсь)
Если будет наметка как сделать чтоб запомнил или кнопку как сделать, напишите плиз. |
|
Back to top |
|
 |
AlexTP1

Joined: 27 Jul 2024 Posts: 40
|
(Separately) Posted: Tue Jan 28, 2025 14:22 Post subject: |
|
|
Quote: | как сделать чтоб запомнил или кнопку как сделать |
Не понял вопросы, уточните. |
|
Back to top |
|
 |
Lnk
Joined: 13 May 2023 Posts: 99
|
(Separately) Posted: Tue Jan 28, 2025 14:27 Post subject: |
|
|
Ну я имею ввиду в меню чтоб не лазить
вызов Plugins / CudaFormatter / Formatter (menu) - JS Beautify при каждом файле.
А хотя кнопку можно на меню сделать, через тулбар. Подойдет)
Спасибо за помощь! |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|