WikidPad support in CudaText + Tree view & find + Markdown

main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: WikidPad support in CudaText + Tree view & find + Markdown

Post by main Alexey »

у меня даже с wikidpad^ фолдинг и дерево работают. у вас нет?
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Re: WikidPad support in CudaText + Tree view & find + Markdown

Post by mix-7 »

> с wikidpad^ фолдинг и дерево работают

"Семен Семеныч!" (с)
Да, точно!
Сейчас обратил внимание - работает фолдинг.
С деревом с wikidpad^ работал, в основном, на фолдинг не обращал внимания.

Еще раз спасибо огромное за CudaText!
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Re: WikidPad support in CudaText + Tree view & find + Markdown

Post by mix-7 »

Еще один вариант для заметок:

лексер Text IMproved - UVviewsoft forums
https://synwrite.sourceforge.net/forums ... php?t=2822
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Re: WikidPad support in CudaText + Tree view & find + Markdown

Post by mix-7 »

Вопрос к разработчику main Alexey

Как для лексера WikidPad и других лучше организовать ссылки на
конкретное место в другом файле?

Какие могут быть примерные решения в рамках CudaText?

(Если реализовать ссылки, то это будет "полный Zettelkasten"!
Присущее CudaText дерево с фильтрами по нескольким словам - отличная функция PRM.
Он заменяет теги и позволяет легко найти нужную заметку по ключевым словам заголовка.
А если в имена узлов дерева будет включена дата, то и по дате.

Не хватает только ссылок, связей.
Простого способа устанавливать и использовать.

Но сначала нужно придумать красивый и удобный формат ссылки в конкретное место текста или в узел (ветвь) дерева Code tree.
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: WikidPad support in CudaText + Tree view & find + Markdown

Post by main Alexey »

>Как для лексера WikidPad и других лучше организовать ссылки на
конкретное место в другом файле?

Wikidpad должен сам говорить как писать ссылки. например HTML же говорит как.
/dir/file/name.html#L100C20
-> переход на anchor L100C20, где анкоры должны быть поняты самой страницей. например в гитхабе в странице с кодом стоят анкоры - L100C20 значит "строка 100 колонка 20".

Или markdown. тоже есть анкоры. я счас не помню формат. можно в инете поискать.
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: WikidPad support in CudaText + Tree view & find + Markdown

Post by main Alexey »

Или например в MediaWiki тоже есть анкоры.
[[#dlg_proc]] значит "прыгнуть в текущем файла не анкор dlg_proc".
[[Other#dlg_proc]] значит "прыгнуть в файле Other на анкор dlg_proc".
анкор тут - это все равно что параграф, т.е. заголовок в вики.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Re: WikidPad support in CudaText + Tree view & find + Markdown

Post by mix-7 »

> конкретное место в другом файле?

Да
Спасибо за форматы!
Примерно ясно.
А как лучше парсить ссылки и переходить?
Нужно писать плагин?
Или можно обойтись макро с регэкспами?

Пока я записал коротенький макрос:

Code: Select all

 
       {
            "nm": "Macro1 - Link!",
            "evl": [
                "ed.cmd(cmds.cCommand_TextDuplicateLine)",
                "ed.cmd(cmds.cCommand_MoveSelectionDown)",
                "ed.cmd(cmds.cCommand_KeyHome)",
                "ed.cmd(cmds.cmd_CopyFilenameName)",
                "ed.cmd(cmds.cCommand_ClipboardPaste)",
                "ed.cmd(cmds.cCommand_TextInsert,' ')",
                "ed.cmd(cmds.cCommand_KeyEnd)",
                "ed.cmd(cmds.cCommand_KeyEnter)",
                "ed.cmd(cmds.cmd_FileSave)"
            ]
        }
Встаем кареткой на заголовок,
дублируем заголовок,
перемещаем эту строку-дубль заголовка строку на одну позицию вниз (после << - комментарий блока в WikidPad),
каретку в начало строки,
копируем (через палитру команд) имя файла,
вставляем его
и пробел,
переходим в конец строки,
вставляем пустую строку, чтобы визуально отделить получившуюся ссылку,
сохраняем файл вкладки (подумал, а не помешает это иногда?)

Получившуюся ссылку можно в макро же копировать в буфер обмена после команды "ed.cmd(cmds.cCommand_TextInsert,' ')",
и тогда ее можно сразу вставлять в нужное место в другой вкладке!
(А из той вкладки вставлять в первую, после исходной.
Таким образом, получится связь, где первая ссылки - исходная, а вторая - ссылка назначения.
Для второй вкладки первая ссылка будет обратной.
Немного сумбурно, поясню:

Вкладка1
...
++ Заголовок1
<<
Файл1 ++ Заголовок1
Файл2 ++ Заголовок2
...


Вкладка2
...
++ Заголовок2
<<
Файл1 ++ Заголовок1
Файл2 ++ Заголовок2
...



Переделал:

Code: Select all

# Macro1 - Link!
ed.cmd(cmds.cCommand_TextDuplicateLine)
ed.cmd(cmds.cCommand_MoveSelectionDown)
ed.cmd(cmds.cCommand_KeyHome)
ed.cmd(cmds.cmd_CopyFilenameName)
ed.cmd(cmds.cCommand_ClipboardPaste)
ed.cmd(cmds.cCommand_TextInsert,' ')
ed.cmd(cmds.cCommand_ClipboardCopy)
ed.cmd(cmds.cCommand_KeyEnd)
ed.cmd(cmds.cCommand_KeyEnter)
ed.cmd(cmds.cmd_FileSave)
Теперь после выполнения макро Link! в буфере обмена будет готовая ссылка.

Пока нет автоматизации
С помощью плагина Folding Caption можно поучить заголовок текущего блока, не покидая места каретки, сформировать ссылку, как в макро Link!, затем перейти во вкладку, которая редактировалась перед этим, вставить ссылку в точку каретки, сформировать и вставить так же ссылку для нее, потом вернуться в исходную вкладку и вставить ссылку туда.
Все это можно сделать одной командой в плагине.

UPD-1:
Дублирование заголовка в ссылке создаст неизменяемый контекст поиска места ссылки, даже в случае, если заголовок блока будет изменен.

UPD-2:
С помощью плагина Folding Caption заголовок ищется для любого лексера.
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: WikidPad support in CudaText + Tree view & find + Markdown

Post by main Alexey »

>Примерно ясно.А как лучше парсить ссылки и переходить? Нужно писать плагин? Или можно обойтись макро с регэкспами?

Если можете обойтись макросом то и хорошо. Я не вникал в ваш новый макрос, но если работает то хорошо.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Re: WikidPad support in CudaText + Tree view & find + Markdown

Post by mix-7 »

Интересно, можно придумать универсальный формат ссылки для любых лексеров?
Чтобы ссылаться на другой участок кода, текста, другую заметку, ноду и т.д.

И добавить в код CudaText?
Было бы удобное преимущество.
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: WikidPad support in CudaText + Tree view & find + Markdown

Post by main Alexey »

нет, поддерживать какой-то выдуманный нами формат ссылки в Куд не нужно. все проги без этого формата, а у нас есть. да никому это не надо.
нужно делать плагин.
Post Reply