Cudatext Code tree
-
- Posts: 2533
- Joined: 25.08.2021 18:15
Re: Cudatext Code tree
а про какую синхронизацию мы говорим?
1. положение каретки в разных блоках - не дает нового выделенного узла дерева для своего блока? или что?
2. или наоборот - dbl-click в дереве не дает прыжка каретки в блок?
эти 2 п-та у меня работают при любой "ui_tree_sublexers".
1. положение каретки в разных блоках - не дает нового выделенного узла дерева для своего блока? или что?
2. или наоборот - dbl-click в дереве не дает прыжка каретки в блок?
эти 2 п-та у меня работают при любой "ui_tree_sublexers".
-
- Posts: 2533
- Joined: 25.08.2021 18:15
Re: Cudatext Code tree
можете дать файл-пример и лучше записать видео как вы с ним видите потерю синхронизации?
-
- Posts: 2533
- Joined: 25.08.2021 18:15
Re: Cudatext Code tree
второй баг с фильтром который не применяется, повторил.
записал в https://github.com/Alexey-T/CudaText/issues/5524
когда решу, закрою.
записал в https://github.com/Alexey-T/CudaText/issues/5524
когда решу, закрою.
folding unfold Code tree Re: Cudatext Code tree
folding unfold Code tree
Смотрел я вкладку с лексером WikidPad. (CudaText 1.223.0.5, linux-x86_64-qt6, fpc 3.2.3)
Code tree был развернут до 3 уровня и не сворачивался другие ветви при перемещении - ооочень удобно!
(Бывает, нужно два узла померенно, перейдешь к первому, второй свернется, разворачивай его).
Но, оказывается, в Code tree был введен фильтр.
Поэтому предложение.
Сделать переключение Code tree - сворачивать/не сворачивать другие узлы Code tree при перемещении.
И команды fold/unfold, аналогичные таким же для блоков в редакторе.
Спасибо!
Смотрел я вкладку с лексером WikidPad. (CudaText 1.223.0.5, linux-x86_64-qt6, fpc 3.2.3)
Code tree был развернут до 3 уровня и не сворачивался другие ветви при перемещении - ооочень удобно!
(Бывает, нужно два узла померенно, перейдешь к первому, второй свернется, разворачивай его).
Но, оказывается, в Code tree был введен фильтр.
Поэтому предложение.
Сделать переключение Code tree - сворачивать/не сворачивать другие узлы Code tree при перемещении.
И команды fold/unfold, аналогичные таким же для блоков в редакторе.
Спасибо!
-
- Posts: 2533
- Joined: 25.08.2021 18:15
Re: Cudatext Code tree
запоминание развернутых блоков в codetree. ну это непросто сделать. надо помнить какие блоки развернуты, потом их развертывать после перестройки codetree. непросто. не знаю осилю ли.
может через Питон плагин попробуете сделать? on_state вызывается для разных состояний codetree.
APPSTATE_CODETREE_BEFORE_CLEAR: Code-Tree: content is about to be cleared.
APPSTATE_CODETREE_CLEAR: Code-Tree: content was just cleared.
APPSTATE_CODETREE_BEFORE_FILL: Code-Tree: before filling the content.
APPSTATE_CODETREE_AFTER_FILL: Code-Tree: after filling the content.
APPSTATE_CODETREE_SET_SELECTION: Code-Tree: caret position changed, then app sync'ed tree selection.
APPSTATE_CODETREE_DBL_CLICK: Code-Tree: user made double-click in tree, then app sync'ed caret position with tree selection.
APPSTATE_CODETREE_FOLDED_UNFOLDED: Code-Tree: some tree node was just folded or unfolded. You can get this node's handle via app_proc(PROC_GET_CODETREE_CURRENT_NODE, "").
может через Питон плагин попробуете сделать? on_state вызывается для разных состояний codetree.
APPSTATE_CODETREE_BEFORE_CLEAR: Code-Tree: content is about to be cleared.
APPSTATE_CODETREE_CLEAR: Code-Tree: content was just cleared.
APPSTATE_CODETREE_BEFORE_FILL: Code-Tree: before filling the content.
APPSTATE_CODETREE_AFTER_FILL: Code-Tree: after filling the content.
APPSTATE_CODETREE_SET_SELECTION: Code-Tree: caret position changed, then app sync'ed tree selection.
APPSTATE_CODETREE_DBL_CLICK: Code-Tree: user made double-click in tree, then app sync'ed caret position with tree selection.
APPSTATE_CODETREE_FOLDED_UNFOLDED: Code-Tree: some tree node was just folded or unfolded. You can get this node's handle via app_proc(PROC_GET_CODETREE_CURRENT_NODE, "").
Re: Cudatext Code tree
> надо помнить какие блоки развернуты, потом их развертывать после
А как же помнит и разворачивает в редакторе? Есть команды разные для folding'а.
> перестройки codetree. непросто. не знаю осилю ли.
Да, понял сложность. Ведь Code tree постоянно перестраивается. Ну потом как-нибудь, если настроение будет.
Тогда на данном этапе предлагаю три простые опции:
Отключить временно перестройку Code tree, чтобы сохранять "картину" дерева" с командой обновить Code tree.
Вторая - оставлять развернутыми 2 последних узла, с которыми работаешь. Т.е. запоминать только 1-2, макс., 3 последних узла.
(Без переделки кода лайфак: в эти узлы, в заголовки добавить одинаковый только для хештег, ключевое слово, которое вставить в фильтр Code tree.
А нельзя ли фильтр Code tree задавать еще и по "или"?)
Третья - хм. Не надо ее.
А, вспомнил: развернуть/свернуть ВСЕ дерево Code tree!
Этого вполне достаточно на перспективу.
Да и больше не надо, наверное.
А было бы очень удобно!
А уж сверх этого - можно отмечать bookmarks - закладками на странице.
(Заметил тоже в CudaText 1.223.0.5, linux-x86_64-qt6, fpc 3.2.3, что bookmarks съехали на одну строку вниз, не понял из-за чего).
> может через Питон плагин попробуете сделать?
Да я еще для WikidPad для работы со ссылками helper еще не сделал!
А как же помнит и разворачивает в редакторе? Есть команды разные для folding'а.
> перестройки codetree. непросто. не знаю осилю ли.
Да, понял сложность. Ведь Code tree постоянно перестраивается. Ну потом как-нибудь, если настроение будет.
Тогда на данном этапе предлагаю три простые опции:
Отключить временно перестройку Code tree, чтобы сохранять "картину" дерева" с командой обновить Code tree.
Вторая - оставлять развернутыми 2 последних узла, с которыми работаешь. Т.е. запоминать только 1-2, макс., 3 последних узла.
(Без переделки кода лайфак: в эти узлы, в заголовки добавить одинаковый только для хештег, ключевое слово, которое вставить в фильтр Code tree.
А нельзя ли фильтр Code tree задавать еще и по "или"?)
Третья - хм. Не надо ее.
А, вспомнил: развернуть/свернуть ВСЕ дерево Code tree!
Этого вполне достаточно на перспективу.
Да и больше не надо, наверное.
А было бы очень удобно!
А уж сверх этого - можно отмечать bookmarks - закладками на странице.
(Заметил тоже в CudaText 1.223.0.5, linux-x86_64-qt6, fpc 3.2.3, что bookmarks съехали на одну строку вниз, не понял из-за чего).
> может через Питон плагин попробуете сделать?
Да я еще для WikidPad для работы со ссылками helper еще не сделал!
-
- Posts: 2533
- Joined: 25.08.2021 18:15
Re: Cudatext Code tree
>А нельзя ли фильтр Code tree задавать еще и по "или"?
нельзя. вводить "язык" для фильтра дерева - слишком.
3 опции делать не стОит, слишком они ненужные.
>вспомнил: развернуть/свернуть ВСЕ дерево Code tree!
это делается простеньким плагином.
- плагин получает handle code-tree. через app_proc().
- плагин вызывает tree_proc() с этим хендлом, с акшеном "свернуть/развернуть все узлы".
нельзя. вводить "язык" для фильтра дерева - слишком.
3 опции делать не стОит, слишком они ненужные.
>вспомнил: развернуть/свернуть ВСЕ дерево Code tree!
это делается простеньким плагином.
- плагин получает handle code-tree. через app_proc().
- плагин вызывает tree_proc() с этим хендлом, с акшеном "свернуть/развернуть все узлы".
-
- Posts: 2533
- Joined: 25.08.2021 18:15
Re: Cudatext Code tree
>что bookmarks съехали на одну строку вниз, не понял из-за чего.
я правил, после релиза 1.223.0.5, вот что:
https://github.com/Alexey-T/CudaText/issues/5925
я правил, после релиза 1.223.0.5, вот что:
https://github.com/Alexey-T/CudaText/issues/5925
Re: Cudatext Code tree
Простым выходом было бы выключить обновление Code tree с целью, чтобы не сворачивались узлы Code tree при переходе в другой.
Нашел способ:
в ~/.config/cudatext/settings/user.json
раскомментариваю и сохраняю (но после построения Code tree во вкладке.
// "ui_tree_time_fill": 2000000,
Было бы удобно переключать обновление (отключать/включать) Code tree во View или Plugins
Еще.
Баг в Code tree
CudaText 1.223.0.5, linux-x86_64-qt6, fpc 3.2.3, Лексер WikidPad
Если заголовок имеет пустой блок, например,
То при установке мышкой каретки на заголовок пустого блока
"каретка" (выделение, отметка?) в Code tree
перемещается на заголовок родительского блока, в данном случае на
Нашел способ:
в ~/.config/cudatext/settings/user.json
раскомментариваю и сохраняю (но после построения Code tree во вкладке.
// "ui_tree_time_fill": 2000000,
Было бы удобно переключать обновление (отключать/включать) Code tree во View или Plugins
Еще.
Баг в Code tree
CudaText 1.223.0.5, linux-x86_64-qt6, fpc 3.2.3, Лексер WikidPad
Если заголовок имеет пустой блок, например,
Code: Select all
+ март
lorem ipsum
++ 27.03.2025
++ 28.03.2025
lorem ipsum
Code: Select all
++ 27.03.2025
перемещается на заголовок родительского блока, в данном случае на
Code: Select all
+ март
-
- Posts: 2533
- Joined: 25.08.2021 18:15
Re: Cudatext Code tree
вот этот баг давайте в новую тему в разделе "Баги".
т.к. быстро я это неповторил. на INI лексере. вот с таким документом:
[aa]
aa=1
[bb1]
[bb2]
bb=2
а ставить Wikidpad lexer+treehelper - позже.
т.к. быстро я это неповторил. на INI лексере. вот с таким документом:
[aa]
aa=1
[bb1]
[bb2]
bb=2
а ставить Wikidpad lexer+treehelper - позже.