LINUX.ORG.RU

Выпуск редактора CudaText 1.188.0

 , , , ,

Выпуск редактора CudaText 1.188.0

1

3

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

Редактор подойдет продвинутым пользователям и программистам (доступно больше 300 синтаксических лексеров). Некоторые возможности IDE доступны в виде плагинов. Репозитории проекта находятся на GitHub. Для запуска в Linux есть сборки на основе GTK 2 и Qt 5 (возможна сборка для Qt 6, но она не опубликована). CudaText отличается относительно быстрым запуском (около 0,2 секунды на CPU Core i3).

За 4 месяца с предыдущего анонса реализовано много улучшений, они кратко перечислены на англоязычном форуме:

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



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

Ответ на: комментарий от Rootlexx

А если попробовать поменять опцию

"font_quality__linux"

? Более идей нет. Видимо антиалиасинг как-то отключается.

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

Видимо антиалиасинг как-то отключается.

Дело точно не в этом, поскольку на снимках видно, что сам антиалиасинг работает: вокруг шрифтов присутствуют пиксели сглаживания в оттенках серого.

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

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

А какую ОС вы пробуете, какой дистрибутив

Дистрибутив здесь неважен, ибо мне без проблем удалось воспроизвести это в Debian stable, Debian unstable и Fedora 37.

Однако кое-что я натыкал: если переключиться на сессию Xorg, то масштабирование интерфейса в Qt-версии приложения отключается (иконки становятся мелкими), однако проблема с шрифтами исчезает: https://ibb.co/x2PySZ6.

Видимо, под Wayland Qt старается отмасштабировать весь интерфейс, однако компонент редактора рендерится так, что Qt имеет доступ лишь к уже отрендеренному содержимому, и посему просто увеличивает его в 2 раза как картинку.

Стоит заметить, что тот же DoubleCommander-Qt ведёт себя в этой ситуации нормально.

У вас собственный компонент редактора, и его отрисовкой вы управляете самостоятельно?

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

У вас собственный компонент редактора, и его отрисовкой вы управляете самостоятельно?

Да, верно.

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

«ui_buffered__linux»: false

Да, это исправило проблему. Спасибо!

Rootlexx ★★★★★
()

Хороший редактор, спасибо!
Часто нужен просто блокнотик с подстветкой синтаксиса, VSCode тут вообще не при чем, там открыт проект в отдельном окне.
Только не понял, как тему на тёмную поменять, кроме как вручную выставлять палитру.

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

Только не понял, как тему на тёмную поменять,

Меню: Options/ Select color theme…

Alexey_Tor_
() автор топика

как поддержка java там?

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

Судя по тому, что этот вопрос всплывает регулярно, может, стоит задуматься о том, чтобы функциональность Project Manager в основном тексте программы запилить, а не в плагине?

hobbit ★★★★★
()

Автор, вы молодец. На первый взгляд текстовый редактор действительно неплохой.

Но все же есть несколько вопросов: бинарник, выложенный на SF, статически слинкован? 12 Мбайт это как-то сильно.

Второй вопрос уже более социальный: зачем он нужен, когда есть vim и Emacs? Я сначала работал в vim. Потом перешел на Emacs. Ни одного редактора, который бы мог столько, сколько может Emacs я не видел никогда.

Третий вопрос: зачем Паскаль? При всем уважении к Паскалю и его значению в роли индустрии, зачем он нужен сейчас? Точнее тут дело даже в Паскале как таковом. Вопрос в fpc. Это единственный живой свободный компилятор Паскаля, который ужасен. (Можете посмотреть у них на форуме дебаты были. Один человек доказывал, что SeekEof делает не то, что надо. И до тех пор, пока он не ткнул носом разработчиков fpc в официальную документацию Borland Turbo Pascal 7.0 они на отрез отказывались признавать факт неверно работающей функции.)

А в целом, еще раз повторюсь, с вида программа очень даже ничего. Успехов)

zx_gamer ★★
()

Настройки полезны для выбора, требуемой функциональности.

Для редактора разработано много плагинов и ныне пользователь должен знать о них и использовать.

ИМХО было бы много проще настроить среду работы, если бы редактор
при анализе настроек сам подгружал нужные плагины.

------------------------------------
Некоторые редакторы предлагают выбрать предпочитаемый набор клавиатурных сочетаний.

Так как существует много разных редакторов, то и клавиатурные наборы разнятся.

Так привычки менять сложно, то можно существенно упростить
настройку клавиатурных сочетаний для пользователей иных редакторов.

------------------------------------
Обеспечить возможность ввода текста с любой позиции любой строки.

Ни один редактор пока такую возможность редактирования не предоставляет.

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

Не вижу смысла обсуждать паскаль. Почему не Emacs/Vim? Мне не нравятся они оба. Сублиме мне тоже не зашло.

Alexey_Tor_
() автор топика

Есть такой легендарный на ЛОРе редактор tea. И ещё есть очень шустрый featherpad от разработчика LXQt. Кто-нибудь сравнивал этот проект с данными редакторами?

gtk222
()
Ответ на: комментарий от zx_gamer

Вопрос в fpc. Это единственный живой свободный компилятор Паскаля, который ужасен.

Вы забыли про ABC.NET -но то скорее учебное пособие,уже несколько раз ломали совместимость.А так да, смесь не пойми с чем.Лично сталкивался с тем что кроссплатформенный графический код работает на офтопике и не чего не выводит под линем....
Но если писать консольные проекты-очень подтянули,уже не тот ужас 4 мгб привет мир....

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

Потому что это не Паскаль. Это какое-то говно с сборкой мусора.

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

Да масса способов: Scintilla/Lexilla, tree-sitter, …

Примеры:

https://github.com/dail8859/NotepadNext

https://github.com/zrax/qtextpad - зависит от KDE.

https://github.com/magiblot/turbo - консольный

https://github.com/craigbarnes/dte - консольный, не зависит от curses, свой инкрементальный парсинг

И т.д.

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

Если вам нужен freebasic, оставьте github issue, и прикрепите пару файлов.

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

Ни одного редактора, который бы мог столько, сколько может Emacs я не видел никогда.

Emacs не умеет не тормозить, он тормозит хуже IDE на Java, и хуже VSCode на Electron, особенно если использовать не чистый Emacs, а поставить хотя бы два плагина. А еще у него язык из 60х годов, тормозной и убогий, у CudaText есть Python.

Теперь про Vim, он тоже тормозит так как в линуксе нету быстрых терминалов которые не являются приветом из 90х без нормальной прокрутки.

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

Emacs не умеет не тормозить

У меня не тормозит. Использую company и eglot.

А еще у него язык из 60х годов, тормозной и убогий, у CudaText есть Python.

Lisp функциональный язык, Python – процедурный и объектно-ориентированный.

Сравнивать их некорректно в принципе. Это такая же глупость как сравнивать какой-нибудь perl и ассемблер.

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

Теперь про Vim, он тоже тормозит так как в линуксе нету быстрых терминалов которые не являются приветом из 90х без нормальной прокрутки.

Использовал konsole, mate-terminal и xterm. Все работало отлично.

zx_gamer ★★
()

Кстати, он умеет tcl анализировать?

zx_gamer ★★
()

Object Pascal

Это очень странно, когда в современном мире кто-то пишет на паскале. Отдельная секция для объявления переменных, мммм… Ручное управление памятью, но для строк есть исключение. Мы такие за статическую типизацию, но у нас нет типизированных коллекций. И т.д.

расширения на Python

Кто-то пишет на анально огороженом паскале, а потом прикручивает плагины на динамически типизированном питоне. Из огня да в полымя 🤷‍♂️

metalbeaver
()
Ответ на: комментарий от zx_gamer

Lisp функциональный язык, Python – процедурный и объектно-ориентированный.

Циклы из лиспа и функции высшего порядка из питона сейчас такие: ну да, ну да, пошли мы…

metalbeaver
()
Ответ на: комментарий от zx_gamer

У меня не тормозит.

Однопоточный редактор с убогим интерпретатором без асинхронности не тормозит?

Сравнивать их некорректно в принципе.

Корректно, ведь задачи одни, скриптовать редактор.

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

Корректно, ведь задачи одни, скриптовать редактор.

Для Emacs это не скрипты – это сам редактор. Можете посмотреть код: там есть часть кода на Си – это интерпретатор Emacs Lisp (+библиотеки и привязки к ОС), а сам редактор целиком написан на Lisp. Это во-первых.

А во-вторых от задач это не зависит. По такой логике можно выкинуть все языки проектные языки кроме Си, ведь задачи они решают одинаковые. Ведь все остальные языки будут проигрывать Си буквально во всем. Да и Си тоже можно выкинуть. На ассемблере можно еще сильнее оптимизировать. Но тем не менее ассемблер и Си в один ряд не ставят, и Си не ставят в один рад с Си++, и Си++ не ставят в один ряд Лиспом. Это все инструменты разного порядка.

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

Да, и фраза какого-то тролля «вы написали на паскаль+питон, из огня да в полымя» - неверна. Ядро редактора на паскале, скриптование - на питоне.

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

Чисто просмотра кода это сценарий, когда тебе нужно минимальное количество визуального шума, и в этом плане CudaText сильно позади

Кнопку-гамбургер я видимо уберу пока показано верхнее меню (сейчас это обсудим с юзерами в гитхаб).

Хочется сравнения скриншотов - где было бы видно что в Куд есть лишний визуальный шум, а в Сублиме его нет. Лучше поставить тему ‘sub’ в Куд. чтобы темное сравнивалась с темным.

Это даст толчок к убиранию «шума».

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

Для Emacs это не скрипты – это сам редактор.

Как и JS в VSCode.

По такой логике можно выкинуть все языки проектные языки кроме Си, ведь задачи они решают одинаковые.

Нет, задачи разные. Для сайтов не используют Си, для скриптового языка не используют Ассемблер, а для низкоуровневых частей не используют PHP.

Ведь все остальные языки будут проигрывать Си буквально во всем.

Нет, например в С меньше безопасности по сравнению с Rust, меньше производительность программиста по сравнению с PHP если нужно делать сайт, меньше интерактивности по сравнению с JS.

Это все инструменты разного порядка.

Ну даже если принять твою точку зрения, возьмем к примеру JS, он вполне является функциональным языком программированию, и как язык явно превосходит Elisp.

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

Нет, задачи разные. Для сайтов не используют Си, для скриптового языка не используют Ассемблер, а для низкоуровневых частей не используют PHP.

Ну это неправда. Сайты на Си очень даже писали (и кто-то пишет до сих пор). Гуглите про CGI и FastCGI. Замечу, что явление это было вполне массовое, потому что Си и Си++ заставляли Perl и PHP нервно курить в сторонке. (И относительно недавно, разница в скорости работы интерпретируемых и компилируемых языков решала) Неужели вы думаете что какой-нибудь «Яндекс» написан на PHP? (Спойлер там Си++)

Нет, например в С меньше безопасности по сравнению с Rust, меньше производительность программиста по сравнению с PHP если нужно делать сайт, меньше интерактивности по сравнению с JS.

Как вы меня задолбали, фанатики раста. Какая нафиг безопасность в языке программирования?

Во-первых это зависит от архитектуры. Например в процессорах «Эльбрус» есть 128-битный защищенный режим и 3 аппаратных стека. Эксплуатация «уязвимостей» типичных для x86 (x86_64) вроде выход за пределы буфера невозможна на аппаратном уровне.

Во-вторых (о откровение!) написать код, без работы с памятью невозможно в принципе. Этим будет заниматься или интерпретатор, или контейнеры какой-нибудь библиотеки, или вы сами. Следовательно «безопасность» – это когда неумелого программиста не подпускают к прямой работе с памятью.

Ну даже если принять твою точку зрения, возьмем к примеру JS, он вполне является функциональным языком программированию, и как язык явно превосходит Elisp.

Чем он «явно превосходит»? Тем что веб-макаки написали килотонны говнокода на нем?

Да, JS можно считать функциональным языком, впрочем, как и Си++, но покажите мне хоть одну программу написанную в функциональном стиле на JS. Почти всегда это процедурный код, иногда объектно-ориентированный.

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

Неужели вы думаете что какой-нибудь «Яндекс» написан на PHP? (Спойлер там Си++)

Потому что такая задача, делать поиск на том железе что есть. Неужели ты думаешь что сайты блоги делают на С а не на Wordpress?

Как вы меня задолбали, фанатики раста. Какая нафиг безопасность в языке программирования?

Через проверки компилятора, вот например в asm ошибок можно допустить намного больше чем в С.

Во-вторых (о откровение!) написать код, без работы с памятью невозможно в принципе.

Одно дело работать с void* и sbrk(), а другое со списками лиспа.

Следовательно «безопасность» – это когда неумелого программиста не подпускают к прямой работе с памятью.

Глупое мышление, лучше разработать такие инструменты, что бы даже самые глупые и неумелые (определение?) программисты могли выполнять работу, так все и идет, раньше программировать было сложно, сейчас есть зерокодинг.

Чем он «явно превосходит»?

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

Да, JS можно считать функциональным языком

Напоминаю что JS по задумке это Scheme с Си подобным синтаксисом. Можешь посмотреть на React приложения.

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

Потому что такая задача, делать поиск на том железе что есть.

Никакого железа не хватит обрабатывать такое количество запросов в секунду, если не писать языке, на котором можно хорошо оптимизировать программу (т.е. на относительно низкоуровневом языке). Даже Google (чтоб они сдохли!) изобрели свой велосипед: Go. В современных реалиях решение весьма сомнительное, даже если не брать в расчет технофашизм гугла с телеметрией (в компиляторе, блин!) и форматом проектов. Язык неотделим от своей «стандартной библиотеки» и повязан на так называемом «планировщике». В прочем это их инструмент, и их дело как его использовать. Однако сам факт, что даже Google стала создавать свой язык показывает, насколько их не устраивает имевшийся на тот момент шлак.

Неужели ты думаешь что сайты блоги делают на С а не на Wordpress?

Сейчас, да, на PHP движках в основном. Потому что это проще, и когда сайтом пользуются 1,5 юзера это роли не играет.

Через проверки компилятора, вот например в asm ошибок можно допустить намного больше чем в С.

Все зависит от компетенцией. Сам я пишу код на Си, которые в 90% случаев с первого раза начинает работать, в то время как в вижу что кто-то правильно строчку из функции не может вернуть и часами это дебажит.

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

Глупое мышление, лучше разработать такие инструменты, что бы даже самые глупые и неумелые (определение?) программисты могли выполнять работу, так все и идет, раньше программировать было сложно, сейчас есть зерокодинг.

И что мы получили? Дилетанты не знающие ни алгоритмов, ни структур данных пишут «код», а потом мы удивляемся «А как же так? На 2х ядерном процессоре уже нельзя гипертекстовую страничку без тормозов отредерить» (А я напомню, с этим когда и первый Pentium на отлично справлялся).

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

Я ни разу не видел, чтобы JavaSCRIPT использовали по назначению: то бишь для скриптования. Все что я видел на текущий момент – это попытки замедлить браузеры клиентов и «челики по приколу пишут бэк на ЖС».

Напоминаю что JS по задумке это Scheme с Си подобным синтаксисом.

Си по задумке его авторов должен был быть «кроссплатформенным ассемблером». Во что его превратил ANSI и ISO?

Можешь посмотреть на React приложения.

Еще бы предложили говна на лопате поесть. Почему постеснялись?

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

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

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

Интересно - МОРКОВКА дает четкие агрументы, против оппонента. А оппонент в ответ просто начинает РАССУЖДАТЬ о том или этом, и даже не опровергая…

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

Я такое на РФ-ском зомбо-ТВ видел. Два гостя. Один дает четкие аргументы и говорит прямо и четко. Например про футбольные команды и игроков. Второй гость задавливает первого просто МАССОЙ СЛОВ.

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

Мне кажется я вполне аргументированно отвечаю + пишу выводы, которые доказывают точку зрения.

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

Что считать современным языком для начала?

Си (официально) с 89 года; JS 1996; Python 89-91; Ну и так и далее, понятно, в общем.

было придумано и улучшено

Что было улучшено? Веб-страницы стали намного тяжелее, их набили всякими ненужными скриптами.

Софт преимущественно пишется дилетантами, которые не знают что у компьютера вообще есть память, опять же.

Раздут пузырь с ML. (Вам это не напоминает Flash?)

Всякие дебилы стали использовать виртуализацию не по назначению (привет юзверям Docker)

Единственное (что я заметил), что поменялось в лучшую сторону: стал массово применяться CSS, в C++ появилась move семантика, появился Vulkan.

Так что же СТАЛО лучше, а не написано в прописных истинах Википедии об «улучшениях»?

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

Rust, Typescript, Python - вполне можно считать современными языками, при этом они довольно просты, не в плане сложности, а в плане идей. Ты приводишь даты публикации первого стандарта С, но ведь даже такой консервативный язык уже прошел через C99, C11, C17, C23, в проектах на нем появились санитайзеры, тесты, CI, итд. Python позволяет более быстро писать прототипы. Веб-страницы теперь могут использовать WASM, вебсокеты, файловую систему, ShadowDOM, появились реактивные фреймворки которые опять же позволяют ускорить и упростить разработку сложных интерактивных приложений, начали использоваться контейнеры, разработчики больше не должны тратить время на настройку окружения под каждый проект, разворачивать все вручную или с помощью самописных скриптов.

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

Во-первых скрипты в браузере – зло. Соответственно JS, TS, WebAssembly и все что из этого вытекает.

Rust – настоящее уродство. Очень странная работа с памятью. Писать нормальные приложения на нем буквально больно. Надо весь код усыпать блоками «unsafe», чтобы получить нормальный ассемблерный выхлоп на выходе, и почему бы тогда сразу не писать на Си?

Python – язык для скриптования. Почему какие-то дебилы стали писать на нем конечные программы – загадка.

По поводу контейнеров: это средство виртуализации, а не пакетного менеджмента. Или современные веб-макаки уже с APT справиться не могут?

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

Дайте еще проблемных С++ файлов, пож-та.

Даже VassistX иногда в окне «code tree» не показывает ссылки на структуры и функции (к счастью не часто).

Что касаемо лексеров, то безусловно в них также бывают недоработки.

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

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

Проекты в редакторе должны быть поддержаны нативно, а не с использованием плагинов.

Если б я делал сначала, то может быть послушал бы это. Может быть. А сейчас уже все, написан вагон кода на питоне (proj manager). И хорошо что на питоне - тормозов от питона мало, и потенциал pull requests

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