Re: CudaText: дифирмамбы автору и его программе (что нравится?)
Posted: 16.09.2025 09:39
пожалуста, пользуйтесь на здоровье и другим советуйте.
Discuss releases, report bugs and wishes
http://synwrite.sourceforge.net/forums/
main Alexey wrote: ↑29.09.2025 18:05 сделал вроде. фолдинг дерева сохраняется (на больших числе узлов дерева может тормозить, проверяйте, обычно наверно в дереве небольшое число узлов).
бета linux-qt5
https://github.com/Alexey-T/CudaText/di ... t-14544712
Слава, слава автору!mix-7 wrote: ↑03.10.2025 13:29 С постоянными, непропадающими списками поисковых запросов для Code tree (*)
очень легко переходить к нужным фрагментам текста.
Можно обозначить так несколько частых тем (нод, нод верхнего уровня) заметок во вкладке и переключаться между ними.
(*) см. с. 4 и 5
Баг по сохранению поисковых слов в Code Tree - UVviewsoft forums
https://synwrite.sourceforge.net/forums ... php?t=2996
Можно переходить по дереву от ноды к ноде, дерево теперь не сворачивается!
u202-10-03 wrote: ↑03.10.2025 19:55 Thank you! Issue resolved!
CudaText is excellent by the way - thank you for all your work on creating and maintaining it.
Давайте по мере возможностей и изменений нашего контекста рассказывать об этом замечательном редакторе.main Alexey wrote: ↑04.10.2025 07:22 thanks; let's spread the word, ie advertise the program on other forums.
(У Google ИИ есть режим обучения: в чате по другой теме в конце я попросил его прежде чем давать готовый код, обучать:Google ИИ wrote:CudaText — это отличный редактор, который незаслуженно остается в тени VS Code.
Отличный выбор! CudaText — это наш «отечественный ответ» Sublime Text, он невероятно легкий и при этом расширяется на Python вдоль и поперек.
В общем - CudaText - это и отличный инструмент, и отличный учитель!Наш диалог с Google ИИ wrote:Но я хотел бы вот чтобы вы не давали сначала не код, а вопросы, как сделать, то есть я бы продумывал свой вариант сначала
Для обучения. Если так можно?
Отличный подход! Обучение через сократический метод (вопросы вместо готовых ответов) гораздо эффективнее, так как вы сами выстраиваете архитектуру в голове.
Конечно, мы можем работать в таком режиме. Когда перейдем к плагину для CudaText, наше взаимодействие будет выглядеть так:
Вы описываете задачу.
Я задаю наводящие вопросы об API, структурах данных и событиях (events).
Вы предлагаете свой вариант логики или кусок кода.
Мы вместе его «докручиваем», пока он не заработает идеально.
Кстати, ваш опыт в C++ и Lazarus (Object Pascal) очень поможет — вы уже привыкли к строгой логике и типам данных, так что Python для плагина покажется вам очень гибким инструментом.
Маленький тизер для размышления:
CudaText написан на Lazarus (Free Pascal). Как вы думаете, каким образом программа на Pascal «общается» с плагином на Python, чтобы передать ему текст из текущей строки?
программа на Pascal «общается» с плагином на Python, чтобы передать ему текст из текущей строки?
через обработку событий операторами Python Lazarus API(я написал самостоятельный плагин Clipboard Catcher, простенький, но опыт был)
Это отличный фундамент!
Если вы уже написали Clipboard Catcher, значит, база взаимодействия через события (on_events) и методы модуля cudatext вам знакома.
В Pascal-части CudaText реализован мост, который пробрасывает вызовы в интерпретатор Python. Когда вы в плагине запрашиваете текст, Python-обертка вызывает низкоуровневые функции Lazarus-приложения.
Раз вы хотите обучаться через вопросы, давайте заложим архитектурную основу для вашей идеи с переходами по ссылкам.
Первая задача для размышления:
Чтобы плагин «понимал», что текст под курсором — это ссылка, и на него можно нажать:
Событие: Какое событие в API CudaText лучше всего подходит для отслеживания клика или перемещения курсора, чтобы не перегружать процессор постоянными проверками?
Захват данных: Допустим, событие сработало. Какие два-три параметра (координаты) нам нужно получить от редактора, чтобы «вытащить» именно то слово, на котором стоит курсор?
Логика распознавания: Если мы работаем с C++, Lazarus и кастомными ссылками, какой механизм поиска внутри строки будет самым гибким (чтобы не писать десятки if-else)?
Как бы вы реализовали алгоритм определения «границ» ссылки внутри длинной строки текста?
...