CudaText. Плагин Zettelkasten
-
- Posts: 2245
- Joined: 25.08.2021 18:15
Re: CudaText. Плагин Zettelkasten
плагином конечно. читать имя файла-
fn = os.path.basename(ed.get_filename())
читать текущую строку -
x1, y1, x2, y2 = ed.get_carets()[0]
line = ed.get_text_line(y1)
скопировать s в буфер обмена-
app_proc(PROC_SET_CLIP, s)
fn = os.path.basename(ed.get_filename())
читать текущую строку -
x1, y1, x2, y2 = ed.get_carets()[0]
line = ed.get_text_line(y1)
скопировать s в буфер обмена-
app_proc(PROC_SET_CLIP, s)
Re: CudaText. Плагин Zettelkasten
Спасибо!
А как найти заголовок блока?
https://wiki.freepascal.org/CudaText_AP ... properties - устанавливает параметры поиска, как я понял
А, просто получить весть текст и искать средствами Python?
Но ведь нужно искать от курсора к началу!
Нашел!
EDACTION_FIND_ONE, EDACTION_FIND_ALL https://wiki.freepascal.org/CudaText_API#Editor.action :
и для замены EDACTION_REPLACE_ONE, EDACTION_REPLACE_ALL
Для ссылок EDACTION_FIND_BRACKETS и перемещения EDACTION_SHOW_POS.
Далее, как в плагине Differ (в нем по ПКМ на вкладке выбирается вторая вкладка для сравнения) можно связать две вкладки ссылками, первая вкладка - родительская, вторая дочерняя.
А как отработать ПКМ на вкладке?
Не нашел настройки и вызова меню вкладки в https://wiki.freepascal.org/CudaText_API
(Можно подсмотреть в коде Differ)
По открытию файлов по части имени файла вы писали выше (по триггеру @ (кстати, символы-диспетчеры есть в макросах Lisp ^-))
Думаю, подсмотреть, как это делается в плагине Breadcrumbs.
Если по File - Open, то поиск регистрозависимый, в плагине Breadcrumbs регистронезависимый.
Но там и там, к сожалению, нет фильтрации по части имени файла, только с начала.
Так что надо подсмотреть фильтр в Code Tree.
Тем более, что если имя файла составное, то удобно искать его по 2 и более словам.
А как найти заголовок блока?
https://wiki.freepascal.org/CudaText_AP ... properties - устанавливает параметры поиска, как я понял
А, просто получить весть текст и искать средствами Python?
Но ведь нужно искать от курсора к началу!
Нашел!
EDACTION_FIND_ONE, EDACTION_FIND_ALL https://wiki.freepascal.org/CudaText_API#Editor.action :
Code: Select all
EDACTION_FIND_ONE: Perform text search, get match as 4-tuple of int (start_x, start_y, end_x, end_y) or None if not found. This uses finder independent from CudaText Find/Replace dialog, you must configure this finder via options string.
"param1": Search string.
"param2": Search options, see #Finder_options_as_string.
Note: returns False for incorrect RegEx.
Для ссылок EDACTION_FIND_BRACKETS и перемещения EDACTION_SHOW_POS.
Далее, как в плагине Differ (в нем по ПКМ на вкладке выбирается вторая вкладка для сравнения) можно связать две вкладки ссылками, первая вкладка - родительская, вторая дочерняя.
А как отработать ПКМ на вкладке?
Не нашел настройки и вызова меню вкладки в https://wiki.freepascal.org/CudaText_API
(Можно подсмотреть в коде Differ)
По открытию файлов по части имени файла вы писали выше (по триггеру @ (кстати, символы-диспетчеры есть в макросах Lisp ^-))
Думаю, подсмотреть, как это делается в плагине Breadcrumbs.
Если по File - Open, то поиск регистрозависимый, в плагине Breadcrumbs регистронезависимый.
Но там и там, к сожалению, нет фильтрации по части имени файла, только с начала.
Так что надо подсмотреть фильтр в Code Tree.
Тем более, что если имя файла составное, то удобно искать его по 2 и более словам.
-
- Posts: 2245
- Joined: 25.08.2021 18:15
Re: CudaText. Плагин Zettelkasten
>А как отработать ПКМ на вкладке?
при инициализации плагин должен добавить пункты меню к меню с специальным хендлом (как и Differ).
через menu_proc().
клик на вашем п-те меню вызовет ваш колбек.
последний абзац ваш- не понял, запутался. что конктерно вам нужно от АПИ?
при инициализации плагин должен добавить пункты меню к меню с специальным хендлом (как и Differ).
через menu_proc().
клик на вашем п-те меню вызовет ваш колбек.
последний абзац ваш- не понял, запутался. что конктерно вам нужно от АПИ?
Re: CudaText. Плагин Zettelkasten
Чтобы можно открывать файл из каталога не по первым символам, а по любым связным и регистронезависимо.main Alexey wrote: ↑27.10.2023 10:25 последний абзац ваш- не понял, запутался. что конктерно вам нужно от АПИ?
Например, для каталога c файлами
foo, BAR
можно было выбрать для открытия файлы по фильтрам
oO или a.
-
- Posts: 2245
- Joined: 25.08.2021 18:15
Re: CudaText. Плагин Zettelkasten
так это уже пожелание для работы file-open-dialog, который реализован в ОС. вне показа этого диалога я могу что-то сделать?
Re: CudaText. Плагин Zettelkasten
Посмотрел еще раз работу плагина Breadcrumbsmain Alexey wrote: ↑11.11.2023 05:57 так это уже пожелание для работы file-open-dialog, который реализован в ОС. вне показа этого диалога я могу что-то сделать?
Фильтр по *ура* находит и КульТура.wiki и ЛитераТура.wiki регистронезависимо.
Так что подсказка есть (только уж очень он огромный, надо разбираться. Хотя функциональность списка файлов, наверное, компактна).
Эврика!
Не надо разбираться!
Надо им пользоваться для открытия файлов!
Вернуться к началу
Re: CudaText. Плагин Zettelkasten
CudaText. Вопросы по плагинам - UVviewsoft forums
https://synwrite.sourceforge.net/forums ... 248#p18248
--
Сообщение main Alexey » Сегодня 10:26
Скопирую сюда как заготовку, компонент для WikidPad и Zettelkasten
https://synwrite.sourceforge.net/forums ... 248#p18248
--
Сообщение main Alexey » Сегодня 10:26
>Вопрос еще по лексеру ToDo. Для каких файлов он предназначен?
для плагина Plain Tasks.
у которого вроде бы все описано в readme.txt.
https://github.com/cudatext-addons/cuda_plain_tasks
приписал строчку описания к лексеру в AddonsManager, что он для Plain Tasks.
Скопирую сюда как заготовку, компонент для WikidPad и Zettelkasten
Re: CudaText. Плагин Zettelkasten
Zettelkasten: как один немецкий учёный стал невероятно продуктивным / Хабр
https://habr.com/ru/articles/508672/
Статься о принципах Zettelkasten
Содержит много полезных ссылок и даже на github с реализациями
Полезные идеи для реализации плагина Zettelkasten и/или модификации WikidPad, Markdown в CudaText.
(Уже ссылался в первом сообщении темы, но стоит перечитать)
https://habr.com/ru/articles/508672/
Статься о принципах Zettelkasten
Содержит много полезных ссылок и даже на github с реализациями
Полезные идеи для реализации плагина Zettelkasten и/или модификации WikidPad, Markdown в CudaText.
(Уже ссылался в первом сообщении темы, но стоит перечитать)
Re: CudaText. Плагин Zettelkasten
Скопирую это сюда:
Там, далее, об организации ссылокmix-7 wrote: ↑22.11.2023 11:42 Плагином, а он, вернее, его команда будет вызываться из палитры команд, а, следовательно, из макро?
> можно даже 2 - 1) для блока самого внутреннего (в С++ например нужно), 2) для самого внешнего.
Да, было бы здорово:
Для Маркдауна # ## ### соответственноCode: Select all
+ Заголовок темы ++ Подтема 2 +++ Подтема 3
Ссылаться на текущий блок и/или на общий раздел верхнего уровня.
Или для вложенных блоков для C++, Java и т.д.
Кстати, этот же универсальный плагин не будет привязан к конкретному лексеру, не надо писать для каждогоон будет давать данные для всех лексеров!
И если придумать универсальные ссылки (а для языков программирования их надо будет экранировать комментариями), которые просто проставить автоматически (и надо отрабатывать переходы по ним - ну, вида [файл | блок в файле]) то будет это почти Zettelkasten!
Ведь Zettelkasten Лумана - это всего лишь картотека, ящики с карточками А6, которые расположены друг за другом - т.е. иераррхия блоков, чего нет в линейной картотеке, там кортеж карточек обычно не имеет отступов.
Хотя нет, есть в ящиках разделители, выступающие над карточками.
Важное в картотеке Лумана - это ссылки.
И если их удастся красиво, просто, не громоздко, понятно и удобно организовать - то у бриллианта CudaText появится несколько сияющих граней, а его смело можно будет относить к инструменту Zettelkasten!
Причем, инструменту, легко настраиваемому с помощью макросов.
Re: CudaText. Плагин Zettelkasten
Не успели еще реализовать плагин для Zettelkasten, как:
Пять недостатков цеттелькастен - Фёдоров пишет
https://fedorovpishet.ru/pyat-nedostatkov-zettelkasten/
"Значит, хорошие сапоги, надо брать!" (с)
Оказывается, и ссылки не нужны! -
Фёдоров пишет - exclusive content on Boosty
https://boosty.to/fedorovpishet
May 12 09:51 Ссылки. Не. Нужны
Sep 05 13:48 Почему новичкам так сложно делать ссылки?
(тексты есть в одноименном ТГ канале)
(А как же "один ко многим" - когда нужно сослаться на запись - дублировать?)
А если серьезно, то все уже есть (несколько лексеров и хелперов для упрощенной разметки, дерево заголовков заметок Code Tree, поиск в заголовках по дереву по нескольким словам, даже ссылки - Bookmarks - реализованы.
Вот только как их подставлять в текст, чтобы переходить по ним?
Пока нельзя, надо писать макрос или плагин?
Пять недостатков цеттелькастен - Фёдоров пишет
https://fedorovpishet.ru/pyat-nedostatkov-zettelkasten/
"Значит, хорошие сапоги, надо брать!" (с)
Оказывается, и ссылки не нужны! -
Фёдоров пишет - exclusive content on Boosty
https://boosty.to/fedorovpishet
May 12 09:51 Ссылки. Не. Нужны
Sep 05 13:48 Почему новичкам так сложно делать ссылки?
(тексты есть в одноименном ТГ канале)
(А как же "один ко многим" - когда нужно сослаться на запись - дублировать?)
А если серьезно, то все уже есть (несколько лексеров и хелперов для упрощенной разметки, дерево заголовков заметок Code Tree, поиск в заголовках по дереву по нескольким словам, даже ссылки - Bookmarks - реализованы.
Вот только как их подставлять в текст, чтобы переходить по ним?
Пока нельзя, надо писать макрос или плагин?