LINUX.ORG.RU

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

 , , ,

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

3

1

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

Редактор подойдет продвинутым пользователям и программистам (доступно больше 200 синтаксических лексеров). Некоторые возможности IDE доступны в виде плагинов. Репозитории проекта находятся на GitHub. Для запуска в Linux есть сборки на GTK2 и Qt5. CudaText отличается относительно быстрым запуском (около 0.3 секунды на CPU Core i3).

За 3 месяца с предыдущего анонса реализованы следующие улучшения:

  • Парсер исходных кодов теперь многопоточный, что дает сильное ускорение парсинга и убирает паузы раскраски на больших файлах. Работа велась последние 2 месяца, версия 1.133 с многопоточным парсером имела десяток релиз-кандидатов. К текущей версии ошибки многопоточного движка на 95% найдены и исправлены.

  • Сторонним пользователем было сделано несколько полезных плагинов:

    • Terminal Plus: терминал, по возможностям примерно равный плагину Terminal Plus из Atom.
    • Runner: запускатель внешних процессов, поддерживает «системы сборки» от Sublime Text 3.
    • LSP Client: поддержка протокола Microsoft LSP, плагин уже хорошо работает с серверами для Python, C++, C#, CSS/SCSS/LESS, JavaScript/TypeScript, Go, Rust.
    • Авто-дополнение в панели Консоль.
  • Улучшена логика Undo (Отмены). Теперь, например, одна правка с 50 каретками считается за «одно действие» и откатывается за один шаг. То же и с заменами: «Заменить все» с 50 вхождениями откатывается за один шаг. Видимо, именно такая логика Отмен используется в самых популярных редакторах.

  • Опция затемнения неактивных редакторов. Опция для разрешения темизации полос прокрутки в редакторе.

  • Tree-helpers для некоторых языков переписаны с Питона на Паскале и встроены в программу.

  • Программа может сохранять файлы даже в системные каталоги под Linux (запускается стандартный pkexec, спрашивающий рут-пароль).

  • Проведена, в который раз, оптимизация работы с большими файлами и работы с гигантскими строками в десятки миллионов символов (например, однострочный XML дамп).

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



Проверено: Shaman007 ()
Последнее исправление: CYB3R (всего исправлений: 5)

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

редактирование конфликтов сделаны просто, но удобно. По моему удобнее чем во многих «настоящих IDE»

посмотрел видео на ютубе. да, хорошо сделано. боюсь что это замедлит открытие Куды на больших файлах - 1) проверять папку .git во всех надпапках, 2) читать контент и искать в нем строки конфликта. так что лучше не делать это в редакторе, но можно конечно плагином. можете написать feature request на мой Github issues. не я буду писать.

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

Запилите пожалуйста ЛСП для Nim lang из коробки, чтобы попасть в этот список

просто вот такой конфиг работает, проверили сегодня, settings/lsp_nim.json:

{
    "name": "nim-lsp",
    "lexers": {
        "Nim": "nim"
    },
    "cmd_unix": [
      "~/.nimble/bin/nimlsp"
    ]
}
Alexey_Tor_
() автор топика
Ответ на: комментарий от Alexey_Tor_

Мне кудатекст не нужен.
VS Code хватает.

Я чисто из гуманитарных соображений объяснял как оно может выглядеть

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

сомневаюсь. Т.к. мне нужен не бинарник питона а его libpython3.x.so файл, и иногда он может называться немного по другому (без цифр или с окончанием .1.0), и иногда оно лежит немного в другом месте (зависит от дистро).

Если задачу нельзя решить в общем случае, это не значит, что её не надо решать для частных.

Облегчите задачу 90% пользователей, а любители понастраивать экзотику, может, ещё и довольны останутся.

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

Geany стопорится при работе с длинными строками без переводов каретки. Это основная причина, почему мне пришлось перейти на ручной перенос строк. А еще в Geany не нравится, что дерево каталогов с файлами всегда развернуто до уровня файлов, а у меня их там много. Как с этим дела обстоят в Вашем редакторе?

anonymous
()

Приветствую. У меня всего лишь один вопрос: Почему данной программы нет в официальных «репозитариях» например GNU/Linux Arch?

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

Geany стопорится при работе с длинными строками без переводов каретки. Это основная причина, почему мне пришлось перейти на ручной перенос строк. А еще в Geany не нравится

  1. очень длинные строки работают хорошо вплоть до строоки длиной 40 М.

  2. второй вопрос не понял, да и просто попробуйте. ‘File / Open folder’ (после настройки питона). будет Project manager.

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

В целом альтернатива хорошая, я даже использовал как-то, но гуи прям совсем архаичен. Даже ST4 обновил его и сминимизировал. Есть куда расти.

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

а что архаичное? то что нет анимации на табах? или нет скругления уголков? по сути это как Сублиме - причем в Суб нету sidebar а тут есть.

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

А в текущей версии редактора можно включить автозакрытие HTML-тега после нажатия «>»?

<html>
     
     ^
     |
     +-- Вот когда я набрал эту скобку должно появится </html>
MOPKOBKA ★★★
()
Ответ на: комментарий от MOPKOBKA

можно включить автозакрытие HTML-тега после нажатия «>»?

тут это так работает: вы пишите <h , Ctrl+Space, появляется autocompletion, вы выбираете <html>, Enter – это вставит пару тегов.

или через плагин Snippets: html, TAB.

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

С этим я разобрался, но неудобно каждый раз жать такие сочетания.

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

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

В Sublime Text насколько я помню авто-закрытия нету, но есть плагин:

https://github.com/sh4nks/sublime-text-plugin-autoclose/blob/master/auto_clos...

Спасибо.

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

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

код сделан, фича будет в следующем обновлении (без опции).

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

VS Code подсветка и редактирование конфликтов сделаны просто, но удобно. По моему удобнее чем во многих

Окей. нашелся человек который за день сделал плагин. плагин опубликован в аддонах - ‘Git Conflict Solver’. https://github.com/halfbrained/cuda_git_conflict/tree/main/readme

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

Нет, но даже если и так? JavaScript, например, не имеет никакого отношения к Java.

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

Спасибо, попробую по возможности. Имелось в виду следующее: если исходники лежат в разных каталогах, то Geany слева от области редактирования предлагает древовидную структуру, где указан каталог, где лежит исходник и снизу от каталога - путь к исходнику (навигация по открытым файлам). При этом дерево каталога можно свернуть, нажав на «-» - останется только сам каталог. Надеюсь, понятно написал. Это удобно, но когда число открытых файлов - несколько десятков, то удобнее изначально иметь свернутое дерево, где есть только каталоги, которые можно развернуть, нажав на «+». Проблема в том, что Geany после каждого запуска предлагает всегда развернутое дерево, и это, насколько понимаю, не настраивается.

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

Проблема в том, что Geany после каждого запуска предлагает всегда развернутое дерево, и это, насколько понимаю, не настраивается.

в CudaText project manager при открытии проекта показыват каталоги свернутыми. и это не настраивается. никто не просил настроек. картинка - https://ibb.co/jkY94YH

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

возможно) просто я сильно избалован минималистичностью вима, простите

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

иконки разных цветов?

потому что это два разных бара (тулбар, сайд бар) - у них и цвета в «теме» разные.

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

Не понимаю зачем в названии своей проги использовать видоизмененное название CUDA? Сразу создается впечатление, что для понтов, раскрутки, так как больше нечем заинтересовать пользователя. В топку за название (неприятные ощущения, как будто фишинг какой-то, или еще какой лохотрон).

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

Да ладно, в сербском вон даже песни поют с словом cuda, вот после этой песни я и захотел это слово– Marina Viskovic - Alisa u zemlji cuda // OFFICIAL VIDEO 2013

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

С одной стороны, свой текстовый редактор только ленивый не написал, а как начинаешь искать годные — выбора-то и не так много…

Я пока не написал. И даже не планирую ...

Владимир

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

Только думаю, дай посмотрю, а ебилдов, то и нету. А руками лень что-то собирать.

Это шиза, просто гентушная шиза.

Attila ★★
()

Не красивый, джупитер в яндекс браузере лучше

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

Пистонова библиотека ищется на раз: find /usr/lib* -name libpython3*so

Даже после прогона пункта меню для нахождения питона, при рестарте все равно в текстовой рыбе имеем
NOTE: No Python 3 engine found. Python plugins don’t work now
При этом меню уже рабочее.

9 собственных уникальных зависимостей это будет попоболь для мейнтейнеров пакетов в дистрах. Я бы подумал о объединении их в один пакет типа cudatext-libs.

И в linux нет папок, папки остались в оффтопике. Ну и имена файлов с пробелами типа lexer Bash script.json это, конечно, best practice (нет).

Сам редактор вроде шустрый, надо пощупать.

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

Пистонова библиотека ищется на раз: find /usr/lib* -name libpython3*so

что дает нам список имен, а не одно конкретное имя. пара имен там симлинки или левое что-то.

Даже после прогона пункта меню для нахождения питона, при рестарте все равно в текстовой рыбе имеем NOTE: No Python 3 engine found.

спасибо что заметили, теперь рыба ‘welcome’ не будет писаться в сессию. fixed.

9 собственных уникальных зависимостей это будет попоболь для мейнтейнеров пакетов в дистрах. Я бы подумал о объединении их в один пакет типа cudatext-libs.

в Лазарусе так не принято, и мне как потом работать с этим «одним пакетом» я не знаю. Git sub-repos тоже мне неудобны.

имена файлов с пробелами типа lexer Bash script.json это, конечно, best practice (нет).

не вижу тут никаких проблем, даже в Линукс.

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

что дает нам список имен, а не одно конкретное имя. пара имен там симлинки или левое что-то.

Не что-то левое, а список библиотек третьего пистона, пусть даже симлинками. Берем первое попавшееся и юзаем.
Что может быть левого с маской libpython3*so ?

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

Не что-то левое, а список библиотек третьего пистона, пусть даже симлинками. Берем первое попавшееся

У меня такие-

user@PC:~$ find /usr/lib* -name libpython3*so
/usr/lib/x86_64-linux-gnu/libpeas-1.0/loaders/libpython3loader.so
/usr/lib/x86_64-linux-gnu/libpython3.8.so
/usr/lib/python3.8/config-3.8-x86_64-linux-gnu/libpython3.8.so

первое уже левое что-то, а второе или 3ее брать, я не знаю.

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

Первое можно убрать изменив маску на libpython3\.*so
Одно из второго или третьего скорее всего симлинк на другое
Имхо можно брать первое попавшееся, должно работать.

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

Автоматом детектить боюсь,будут сбои, не все так однозначно. Потому уже есть пункт меню ‘plugins / Find python library’.

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

пасцаль мертв

а вот на аде можно было бы переписать //fixed for the great justice

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