LINUX.ORG.RU

Выпуск CudaText 1.198.0

 , , , ,

Выпуск CudaText 1.198.0

1

1

Тихо обновился текстовый редактор CudaText.

За 5 месяцев с предыдущего анонса реализовано много улучшений, они кратко перечислены на англоязычном форуме: Перечисление. Самое заметное изменение - доработка движка регулярных выражений, теперь лучше поддерживаются look-ahead, look-behind.

Редактор поддерживает расширения на Python и имеет несколько особенностей, заимствованных из Sublime Text. На wiki-странице проекта перечисляются преимущества над Sublime Text.

Доступны сборки для Linux (amd64, arm, aarch64), сборки для Gtk2 и Qt5. Gtk3-сборка все еще невозможна. Qt6-сборка возможна, но не выложена.

Название редактора происходит от сербского слова, означающего «чудо» и не связано с технологией CUDA.

>>> Страница программы



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 3)

Интересный проект, могу помочь с проблемами его работы под *BSD если надо. Под OpenBSD готовые сборки точно не работали в прошлый релиз.

alex0x08 ★★★
()
Ответ на: комментарий от Alexey_Tor_

Доберусь до дома - напишу точно, сейчас уже 7.3 стоит но в прошлый релиз наверное я еще не обновился и была 7.2.

alex0x08 ★★★
()
Ответ на: комментарий от alex0x08

OpenBSD 7.2. скачал архив версии 1.197, распаковал, запустил. Редактор работает! Что у вас? может в терминале ошибки про какие-то .so которые не находятся? ошибки с .so бывают, помогают симлинки.

Alexey_Tor_
() автор топика
Ответ на: комментарий от Alexey_Tor_

Я ж не работаю только из под OpenBSD ;)

Давайте тогда завтра отпишусь сюда с тестом запуска под NetBSD, OpenBSD и FreeBSD. С симлинками ок, но вроде последний раз был segmentation fault.

alex0x08 ★★★
()

Тихо обновился

Тихо и незаметно!

Оспади, што за поколение: уже готовы в гроб в кроссовках лечь - никакого уважения к традициям! :)

pihter ★★★★★
()

Название редактора происходит от сербского слова, означающего «чудо» и не связано с технологией CUDA.

Может, пора уже писать его название правильно тогда — ČudaText?

AP ★★★★★
()
Ответ на: комментарий от AP

— ČudaText?

Это мне придется все время копипаст слова делать, во все места проекта, неудобно. И потом название Skoda пишут через S.

Alexey_Tor_
() автор топика
Ответ на: комментарий от Alexey_Tor_

Вообщем первый багрепорт для 1.197 версии на FreeBSD: не дает открыть никакие файлы из home юзера.

Во FreeBSD /home это симлинк на /usr/home , что видимо и не нравится редактору.

При повторном запуске падает из-за невозможности создать папку с настройками в ~/.config

alex0x08 ★★★
()
Ответ на: комментарий от Alexey_Tor_
Mon Sep 04 [19:28:57] _cuda $ ./cudatext 
ld.so: cudatext: can't load library 'libpthread.so.22.0'
Killed
  • не был исполняемым сам файл cudatext (проверял версию 1.197 для i386).
tt
()
Последнее исправление: tt (всего исправлений: 1)
Ответ на: комментарий от tt

не был исполняемым сам файл cudatext (проверял версию 1.197 для i386).

Наверно при распаковке .tar.xz атрибут X сбросился. Проверил при распаковке OpenBSD-версии на Линукс, атрибут на cudatext есть.

Alexey_Tor_
() автор топика
Ответ на: комментарий от Alexey_Tor_

FreeBSD burzum 13.2-RELEASE-p2 FreeBSD 13.2-RELEASE-p2 #6 releng/13.2-n254627-4341433a673f-dirty: Sat Aug 26 13:30:58 MSK 2023 alex@burzum:/usr/obj/usr/src/amd64.amd64/sys/ALEXS amd64

Грязная сборка ;) Я могу и сам причину подсказать, такое уже видел. Как починю напишу.

alex0x08 ★★★
()
Ответ на: комментарий от Alexey_Tor_

Нет, это точно баг, видел уже такое поведение в другом ПО под фрей. Просто не помню в петоне или в диалоге gtk, попробую покопать исходники.

alex0x08 ★★★
()
Ответ на: комментарий от Alexey_Tor_

Это мне придется все время копипаст слова делать, во все места проекта, неудобно.

(Мимокрокодил)

Для таких вещей есть Compose.

Rootlexx ★★★★★
()
Ответ на: комментарий от alex0x08

Вот тут Куд дает ошибку на вашем скрине

  //support command line key -s=folder
  AppDir_Settings:= AppDirSettingsFromCommandLine;
  if AppDir_Settings='' then
    AppDir_Settings:= OpDirLocal+DirectorySeparator+'settings';

  if not DirectoryExistsUTF8(AppDir_Settings) then
    if not CreateDirUTF8(AppDir_Settings) then
    begin
      MsgStdout(msgCannotCreateDir+' '+AppDir_Settings, true);
      Halt;
    end;  

OpDirLocal вычисляет вот тут

    bAppPortable:= DirectoryExists(OpDirExe+'/data/lexlib') and
      not SBeginsWith(OpDirExe, '/opt/');
    if not bAppPortable then
    begin
      HomeConfig:= GetEnvironmentVariable('XDG_CONFIG_HOME');
      if HomeConfig='' then
        HomeConfig:= AppDir_Home + '.config/'
      else
        HomeConfig:= IncludeTrailingPathDelimiter(HomeConfig);

      OpDirLocal:= HomeConfig+'cudatext';
      CreateDirUTF8(OpDirLocal);

из двух переменных окружения - HOME, XDG_CONFIG_HOME. у вас эти переменные есть, хоть одна?

Alexey_Tor_
() автор топика
Последнее исправление: Alexey_Tor_ (всего исправлений: 1)
Ответ на: комментарий от AP

Да человек там инженера Шкоду вспомнил. А про сербов и латиницей... Это уж как-то по-хорватски получается :)

gns ★★★★★
()
Последнее исправление: gns (всего исправлений: 2)

Ого, уже текстовые редакторы на видеокарте пускают. Nvidia драйвера какие-то определенные нужны или просто можно последние ставить?

slyjoeh ★★★
()

Что-то не нашел нигде упоминания поддержки global/gtags и clang-format'a. Низачот пока что.

gns ★★★★★
()
Ответ на: комментарий от gns
  1. global/gtags - можно наверное Питон tree-helper написать, если я верно понял и это система поиска ф-ций и классов.

  2. clang-format - можно наверное форматтер к CudaFormatter написать. по примеру https://sourceforge.net/projects/cudatext/files/addons/formatters/

Alexey_Tor_
() автор топика
Ответ на: комментарий от slyjoeh

Есть подозрение, что тут на фреймворк надежда. Если Qt цепляет какую-нибудь Mes'у c OpenGL'м, то и ладно. А на что там все эти OpenGL'и опираться будут, так это уже их дело.

gns ★★★★★
()
Ответ на: комментарий от Alexey_Tor_

Написать все можно, даже на питоне. Только работать когда? :За настройку редакторов денег не платють :)

gtags - это база данных тегов. По сути, это такой умный греп. Типа индексируешь дерево проекта (или иерархию деревьев), далее тыкаешь в редакторе на произвольный символ в твоей программе и редактор в отдельном окне показывает, где символ определен, кто, где и сколько раз функцию дергает и все такое прочее. Все эти ctags/gtags много кто знает.

Я в емаксе это все пользую, но, как бы, давно ищу емаксу альтернативу, но что-то пока не находится. Был у меня опыт использования SlickEdit, мне понравилось, но он был купленый и остался там, где его купили.

gns ★★★★★
()
Ответ на: комментарий от gns

gtags - в Куд есть примерно две примерно-альтернативы. 1) code-tree от лексеров и от tree-helper-ов. Это просто показ тегов в панели слева и прыжки на теги. Не полная альтернатива gtags. 2) LSP.

При наличии этих 2х вы будете упрекать что в Куд нету gtags? А спроса нету на них. Вы первый публично захотели.

Alexey_Tor_
() автор топика
Ответ на: комментарий от Alexey_Tor_

Ну вот «панель справа» хотелось бы не иметь. :), и так места на экране мало. Это фича не такая частоиспользуемая, что весь кросс-референс нужно перед глазами иметь постоянно. Я не упрекаю никого. Пока я только не нашел в этом IDE привычных мне инструментов. Так это не вина IDE отнюдь. LSP — штука хорошая, если ее адекватно настроить. Если кишкам этого Чуда удалось хорошо переварить LSP, то оно и славно. В емаксе что-то не всегда это хорошо работает. Ну, то есть, с Хаскелем хорошо, а вот с С/С++ уже хуже, половину хидеров не находит. Я понимаю, что это проблемы конфигурации, их как-то можно решить, но вот у меня не получается. Емакс большой, какое расширение там с каким проинтерферировало не есть понятно.

Да и размер этой «панели справа» в проекте размером с ядро линукса тоже будет таким, что найти в нем что-то глазами будет отдельной тратой времени. В студии, помню, было быстрее открыть нужный файл и найти в нем символ поиском, чем искать глазами что-то слева в дереве проекта.

gns ★★★★★
()
Ответ на: комментарий от gns

Я не упрекаю никого. Пока я только не нашел в этом IDE привычных мне инструментов. Так это не вина IDE отнюдь.

Извините но моя зачада, автора, это сам редактор. не IDE и не плагины а ядро редактора. Все плагины это уже обвязка и задача менее важная. хотя я ее частично тоже решаю, плагины мои есть.

Alexey_Tor_
() автор топика
Последнее исправление: Alexey_Tor_ (всего исправлений: 1)
Ответ на: комментарий от gns

А про сербов и латиницей… Это уж как-то по-хорватски получается :)

Вовсе нет. У них кириллица преимущественно на дорожных указателях, табличках с названиями улиц и в официальных документах. Ну ещё на вывесках некоторых. Практически для всего остального используется латиница.

AP ★★★★★
()
Ответ на: комментарий от AP

Ну и хорошо, что за буквы воевать перестали.

gns ★★★★★
()
Ответ на: комментарий от Alexey_Tor_

Да и удачи Вам, если Ваш труд востребован, то они и хорошо. Я же просто увидел некий инструмент, подумал о том, что я в своей работе использую «вотпрямщас» в соседнем окне. Не нашел пока. Может когда и попробую поработать Вашим инструментом. А так в добрый путь, развивайтесь!

gns ★★★★★
()
Ответ на: комментарий от rechnick

почему не ищет абзац \r\n в версии 1.88? Хотя показывает CRLF

Не пойму что именно вы ввели в диалог поиска? и это RegEx или нет?

Хотел посмотреть как оно в новой, но показа unprinted chars ваще не нашёл.

Показ unprinted задается диалогом «Options / Unprinted chars» который есть просто GUI к опции «unprinted_content».

Alexey_Tor_
() автор топика
Ответ на: комментарий от rechnick

почему не ищет абзац \r\n

Аааа. Понял. Надо вводить только \n, так как буфер переводит все line breaks в LF.

Alexey_Tor_
() автор топика
Последнее исправление: Alexey_Tor_ (всего исправлений: 2)
Ответ на: комментарий от gns

подумал о том, что я в своей работе использую «вотпрямщас» в соседнем окне.

А почему вы не можете использовать code-tree? оно показывает ф-ции которые вам нужны? в чем его слабость, не дает показ «где используется тег во всех местах»?

Alexey_Tor_
() автор топика
Ответ на: комментарий от Alexey_Tor_

Оно, это code tree, большое. Закачайте в редактор ядро линкукса и посмотрите, с какой скоростью это все будет работать. Прелесть тегов в том, что изначально у меня в редакторе открыто ну пять файлов, ну десять. А когда я ищу что-то по тегам, редактор открывает мне дополнительные буфера (фреймы, табы, окна, whatever) c файлами, где он этот тег нашел. И то, если ткну в соответствующею строку в окне поиска. Насколько я понимаю, Project Tree требует, что бы все файлы были открыты к моменту построения дерева. Опять же, у меня есть один проект — мой, типа пишу модуль ядра. У него свои символы и свои теги в своем дереве каталогов. Если я переключаюсь на просмотр кода ядра для справки, то редактор уже ориентируется на проиндексированное ядро (в другой директории, не связанной иерархией с моим проектом). Как бы, может существовать несколько иерархий проектов и редактор будет искать базу тегов от текущего файла вверх своей по иерархии. И как найдет, так и покажет.

Возможно Ваш редактор работает не так, я не знаю, не пробовал. Но если Code Tree строится в редакторе, то редактор должен иметь доступ ко всем файлам кода на момент построения Code Tree. База тегов строится вне редактора вообще отдельной тулзой. Редактор запускается и пользователь ему говорит: — ты тут поищи в базе, где определен символ nlmsg_put, к примеру. Ок, говорит, редактор, на пару уровней выше вашего файла я нашел файл GTAGS, и из него мне стало ясно, что символ используется в файлах

global -v --result=grep --color=always --path-style=shorter --from-here=914:include/net/netlink.h -- nlmsg_put
crypto/crypto_user_base.c:163:	nlh = nlmsg_put(skb, NETLINK_CB(in_skb).portid, info->nlmsg_seq,
crypto/crypto_user_stat.c:274:	nlh = nlmsg_put(skb, NETLINK_CB(in_skb).portid, info->nlmsg_seq,
drivers/connector/connector.c:100:	nlh = nlmsg_put(skb, 0, msg->seq, NLMSG_DONE, size, 0);
drivers/infiniband/core/netlink.c:134:	*nlh = nlmsg_put(skb, 0, seq, RDMA_NL_GET_TYPE(client, op), len, flags);
drivers/infiniband/core/nldev.c:1032:	nlh = nlmsg_put(msg, NETLINK_CB(skb).portid, nlh->nlmsg_seq,
drivers/infiniband/core/nldev.c:1116:	nlh = nlmsg_put(skb, NETLINK_CB(cb->skb).portid, cb->nlh->nlmsg_seq,
drivers/infiniband/core/nldev.c:1176:	nlh = nlmsg_put(msg, 
.....

Вам какой файл открыть и на какой строке?

gns ★★★★★
()
Последнее исправление: gns (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

Доколе?

Тебе для запуска под Wayland? Используй версию Qt, либо запускай с помощью XWayland. Что страшного в том, чтобы 1-2 программы пускать через XWayland?

posixbit ★★
()

Потенциальная замена почти мёртвому проприетарному Sublime Text. Только плагинов слишком мало. Хотя я всё равно предпочитаю NeoVim.

posixbit ★★
()
Ответ на: комментарий от gns

Спасибо за пояснение. я понял что теги нужны из многих файлов и даже из надпапок. Да. code-tree такое не может (оно учитывает только один файл). Извините но увы.

Alexey_Tor_
() автор топика
Ответ на: комментарий от gns

Да, поле, но я бы хотел работать над ядром и еще поддерживать текущие плаги - а вот до ctags не дойду. Как не дошел я и до Breadcrumbs (написал программист из другой страны) и Runner (аналогично) и ExTermimal (аналогично).

Alexey_Tor_
() автор топика
Ответ на: комментарий от Alexey_Tor_

Ну запишите в коллективное TODO, story или где вы там разработку ведете. Может кто и осилит, фича полезная.

gns ★★★★★
()
Ответ на: комментарий от gns

Мог бы дать донат в 50уе за такой плагин. но проблема - я сам не умею пользоваться ctags/gtags в других прогах. и не смогу оценить что плагин «работает как надо». можем получить малополезную поделку.

Alexey_Tor_
() автор топика
Ответ на: комментарий от Alexey_Tor_

Vi с емаксом это умеют. Редакторы и IDE, ориентированные на проект (Visual Studio и иже с ней, ну и XCode до кучи), обычно, нет. Какой-нибудь Eclipse требует создания воркспейса, а в нем надо размещать проекты. Типа проектов вне воркспейса не существует. Тоже так себе подход. Что он там ищет по воркспейсу я так и не понял. Все мои попытки что-то сделать в Эклипсе окончились крахом. Хотя коллеги-джавайцы им активно пользовались и довольны. Кто еще это умеет — не ведаю. А, ну вот древний nedit (сейчас xnedit), но им вообще пользоваться нельзя. Бо старый морально устарел, а новый «глючнОй и падает» :(

Тут, как бы, или ориентация на проект, или теги.

gns ★★★★★
()
Ответ на: комментарий от gns

CudaText - ориентация на проект. но можно и не пользоваться плагом project manager и приделать «теги». я не смогу оценить плагин для тегов. потому я пас.

Alexey_Tor_
() автор топика
Ответ на: комментарий от gns

VSCode индексирует через clang-овый плагин. команда называется «Go to Symbol in Workspace», работает не моментально, но корректно даже на достаточно большом (4K+ файлов исходников) проекте.

AlexM ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.