CudaText – Кофти име, божествена функционалност
Обновена на: March 24, 2022Днес – и не знам как така не по-рано – открих CudaText. Защо това е важно (за мен, но вероятно и за теб)?
Преди няколко години беше вълнуващо, че LimeText екипът се опитваше да направи клонинг на SublimeText – който голяма бройка хора знаем и обичаме – посредством server-client архитектура. Идеята им беше да се направи енджин, а фронтендите след това биха могли да бъдат както уеб, така и терминални, или дори с десктоп фреймуърк като Qt. Всичко изглеждаше страшно обещаващо. Дори Monokai изглеждаше категорично като оригинала. Ще ползвам думата “клонинг”, понеже ми е по-лесно.
Лаймтекст умря. И от Gittera, и от комитите е ясно (ха-ха. Комити. Патреотизан). Всъщност, проектът е мъртъв от поне три години по мои сметки. Да, Гитхъб решиха да навлязат в пазара със своя Atom – и имаха големи успехи. Но също съгрешиха, понеже вече е нормализирано да се ползват Electron-редактори. Или текстови редактори, които са базирани на шибан браузър. Не ме разбирай погрешно – казвам, че някои хора са окей да зареждат цял един браузър, за да редактират файлове. За мен е безумие, но толкова са свикнали, че дори не им прави впечатление. VSCode е другият пример. Мога да се аргументирам колко си искам, щото т’ва е блог, но няма да го направя. Достатъчно е да се каже, че 120-мегабайтов пакет за текстов редактор, който работи в собствен уеб браузър, звучи смешно.
Съблайм винаги е бил сериозно оптимален. При работа с големи файлове, с инстантен регекс сърч, дори с пакетния мениджър. Алтернативните редактори като KDevelop (брои ли се? Жоро го ползва, затова реших да го спомена), Komodo, Brackets, че дори Notepad++ са немалко адекватни, ако свикнеш с тях. Но за хора, които N-време са ползвали или ползват Sublime, да минеш на нещо с различна парадигма не само е трудоемко, но и често досадно. Така че аз, Принтер, който искам FOSS алтернативен редактор, последно се бях спрял на Micro. Работи не-зле. Но не е в никакъв случай перфектният заместител на Съблайм.
Защо изобщо търсим перфектен заместител? Основно понеже не ни се плащат $80. Не че не можем да ползваме “безплатната” версия (чети стил WinRAR), но ни кара да се чувстваме малко или много изцапани. Може би леко миризливи. Никак не на последно място един редактор с отворен код предоставя безкрайно повече възможности за поддръжка и живот. Та сумирано, искам алтернатива на Съблайм, понеже искам да е FOSS и да не се притеснявам, че ще се накичи с ненужна функционалност, или че утре може нещо да липсва от безплатната версия. Сигурност, да кажем.
И тук почвам да говоря за Куда. Името е безумно – не мога да повярвам колко хора приемат, че има нещо общо с nVidia. Няма. Просто е име.
Редакторът е почти 1:1 със Съблайм. Така ще кажа. 99.9% същият експириънс е. Настройките в по-голямата част са JSON файлове, лейаута на менютата е подобен. Абе да не кажа същия. Ctrl+Shift+P дава същия Command palette. Ако минеш от Съблайм на чиста Куда, вероятността да продължиш да работиш, без да сменяш каквито и да е настройки, е 60%. На мен ми се наложи да сменя някои от настройките, за да получа не просто същия Съблайм експириънс, а (смея да кажа) дори по-добър.
Имах неразбирания с хайлайтинга на търсенето. Излиза, че по подразбиране инстантното търсене (като при Съблайм) е лимитирано до файлове с 1000 реда. Лесно се променя, при мен с 3000 няма абсолютно никакви проблеми. Но приемам, че авторът е решил да се подсигури, че програмата ще е бърза на всякакви конфигурации. Което ме навежда на следващия параграф.
Колко забавно е, че софтуерът е писан на Lazarus! Тоест, идеята, че някой руснак (съжалявам, ако не е руснак, но за момента Алексей на такъв ми прилича) е решил, че е крайно време сам да се заеме да свърши тоя труд – вероятно основно за себе си, хванал е Lazarus, понеже естествено – те харесват Delphi – и демонстрира мощта на този стек; има билдове както за Win, Lin, Mac, така и за BSDтата. Е просто сладка. Окуражаваща и inspiring за мен. Брутално впечатлен съм, че цялата тази перфектно репликирана функционалност се събира в под 6MB за Unix билд. Около 13 за Уинбоз, понеже трябва да се включат и питонските библиотеки. Абе, чудесен вторник е днес.
Моите редакции по настройките – като изключим ремапа на някой шорткъти – е следния. Ремапинга, между другото, не се прави директно в JSON като при Съблайм. Вместо това ползваш Command palette-a, за да стигнеш до фукцията, след което удряш F9, което ти позволява да мапнеш ключ. По-нататък можеш пак наръка да си редактираш JSONа в паката с настройки, но през интерфейса това не се поддържа.
{
“ui_sidebar_show” : false,
“ui_theme” : “Dracula”,
“ui_theme_syntax” : “Dracula”,
“show_mouse_sel_frame”: false,
“minimap_show” : true,
“minimap_char_width” : 150,
“minimap_sel_always”: true,
“minimap_tooltip_show”: true,
“minimap_tooltip_width”: 35,
“find_hi_max_lines” : 3000,
“ui_tab_button_layout”: “v”,
}
Много съм надъхан да напиша автоматизация за конвертиране на теми от Съблайм към Куда. Мисля, че е възможно, въпреки че двете програми позлват сериозно различен синтаксис и колове за цветове и прочие.