Page 4 of 5

Re: CudaText. Плагин Zettelkasten

Posted: 25.10.2023 14:16
by main Alexey
плагином конечно. читать имя файла-

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

Posted: 27.10.2023 10:07
by mix-7
Спасибо!

А как найти заголовок блока?
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_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 и более словам.

Re: CudaText. Плагин Zettelkasten

Posted: 27.10.2023 10:25
by main Alexey
>А как отработать ПКМ на вкладке?
при инициализации плагин должен добавить пункты меню к меню с специальным хендлом (как и Differ).
через menu_proc().
клик на вашем п-те меню вызовет ваш колбек.

последний абзац ваш- не понял, запутался. что конктерно вам нужно от АПИ?

Re: CudaText. Плагин Zettelkasten

Posted: 10.11.2023 20:58
by mix-7
main Alexey wrote: 27.10.2023 10:25 последний абзац ваш- не понял, запутался. что конктерно вам нужно от АПИ?
Чтобы можно открывать файл из каталога не по первым символам, а по любым связным и регистронезависимо.
Например, для каталога c файлами
foo, BAR
можно было выбрать для открытия файлы по фильтрам
oO или a.

Re: CudaText. Плагин Zettelkasten

Posted: 11.11.2023 05:57
by main Alexey
так это уже пожелание для работы file-open-dialog, который реализован в ОС. вне показа этого диалога я могу что-то сделать?

Re: CudaText. Плагин Zettelkasten

Posted: 13.11.2023 08:27
by mix-7
main Alexey wrote: 11.11.2023 05:57 так это уже пожелание для работы file-open-dialog, который реализован в ОС. вне показа этого диалога я могу что-то сделать?
Посмотрел еще раз работу плагина Breadcrumbs

Фильтр по *ура* находит и КульТура.wiki и ЛитераТура.wiki регистронезависимо.
Так что подсказка есть (только уж очень он огромный, надо разбираться. Хотя функциональность списка файлов, наверное, компактна).

Эврика!
Не надо разбираться!
Надо им пользоваться для открытия файлов!
Вернуться к началу

Re: CudaText. Плагин Zettelkasten

Posted: 13.11.2023 08:31
by mix-7
CudaText. Вопросы по плагинам - UVviewsoft forums
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

Posted: 20.11.2023 13:04
by mix-7
Zettelkasten: как один немецкий учёный стал невероятно продуктивным / Хабр
https://habr.com/ru/articles/508672/

Статься о принципах Zettelkasten
Содержит много полезных ссылок и даже на github с реализациями
Полезные идеи для реализации плагина Zettelkasten и/или модификации WikidPad, Markdown в CudaText.

(Уже ссылался в первом сообщении темы, но стоит перечитать)

Re: CudaText. Плагин Zettelkasten

Posted: 22.11.2023 11:46
by mix-7
Скопирую это сюда:
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

Posted: 21.12.2023 08:32
by mix-7
Не успели еще реализовать плагин для 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 - реализованы.

Вот только как их подставлять в текст, чтобы переходить по ним?
Пока нельзя, надо писать макрос или плагин?