← Kód máme venku

Textida

Textový editor pro Windows a macOS, který otevře a prohledá i soubor větší než paměť počítače. Zatím vychází jako náhledová verze 0.1.0.

Náhled Textida

Log stažený ze serveru nebo výpis databáze mívá desítky gigabajtů. Editor, který soubor načte celý do paměti, na něm skončí dřív, než ukáže první řádek, a nástroje jako less nebo grep v něm zase umí jen číst a hledat. Textida soubor do paměti nenačítá: mapuje ho po stránkách a čte jen tu část, která je zrovna vidět. Úpravy drží zvlášť ve stromu kusů (piece tree), takže vložený znak nepřepisuje zbytek souboru.

Nový editor ve stopách PSPadu

Inspirací byl PSPad, editor, který řada vývojářů a správců léta používá na Windows. Textida je ale nový program: kód, data ani zdroje PSPadu nepoužívá a instalátor na nainstalovaný PSPad nesahá, takže oba editory můžou být na jednom počítači vedle sebe. Proti předloze běží i na macOS a jako náhled na Linuxu. Jméno Textida je zatím pracovní.

Co Textida umí s velkými soubory

Čísla pocházejí z README a byla změřena na referenčním virtuálním stroji s Windows, 4 jádry a 16 GiB paměti. Přiložený benchmark bench/NksHub.Textida.Bench si testovací soubory vygeneruje sám a každé z nich přeměří.

První obrazovka 50GiB souboru za desítky milisekund

Soubor o velikosti 50 GiB ukáže první obrazovku za 1,8 ms s teplou cache a za 19,5 ms při studeném startu. Editor přitom zabírá asi 110 MiB vlastní paměti. Index řádků se staví na pozadí a u 50GiB souboru trval úplný průchod 3,7 minuty; mezitím jde souborem listovat a skočit na offset nebo na procento délky.

Úprava bez přepisování celého souboru

První úprava souboru o 100 MiB trvá do 40 ms (95. percentil) a přidá nejvýš 1,2 MiB paměti. Vložení znaku stojí asi 1 µs. Počty řádků zůstávají po úpravách správné, aniž by se soubor procházel znovu. Při ukládání se nezměněné úseky zapíší zpět bajt po bajtu a testy výsledek porovnávají s otiskem SHA-256 nezávisle sestaveného souboru.

Hledání rychlejší než ripgrep

Hledání textu i regulárních výrazů jde kdykoli přerušit. Na 4 jádrech mu stačí 1 až 60 % času, který na stejných datech potřebuje rg --json, a najde stejný počet shod. Hledání a nahrazování ve složce ukáže změny předem a dávku vede v žurnálu, takže se po pádu dokončí, nebo vrátí.

Kódování bez hádání

Editor pozná kódování podle BOM, ověří UTF-8 (paralelně, rychlostí 15 GB/s na 4 jádrech), rozpozná UTF-16 bez BOM a jinak sáhne po CP1250, tedy českém kódování Windows. Soubor jde znovu přečíst v jiném kódování nebo do něj převést; před ztrátou znaků Textida varuje a konce řádků normalizuje jen na výslovný pokyn.

Editor pro každodenní práci

Okno je postavené na Avalonii 12 a vydání se překládá přes NativeAOT, takže na cílovém počítači není potřeba běhové prostředí .NET. Verze 0.1.0 má české menu, karty, paletu příkazů a stavový řádek. Rozepsanou práci jistí žurnál relace a zálohy jsou oddělené od automatického ukládání. Vedle textu umí:

  • šestnáctkový pohled s úpravami, inspektorem dat a skokem na offset zadaný výrazem, přepínatelný s textovým nad tímtéž souborem,
  • režim CSV a TSV s úpravou buněk a filtrem,
  • u Markdownu tři režimy: Čtení s vykresleným dokumentem, Úpravy a Zdroj,
  • vlastní inkrementální zvýrazňování syntaxe a přehled symbolů v souboru (Code Explorer).
Okno Textidy s českým menu a otevřeným souborem README.md v režimu Čtení: vykreslené nadpisy, odrážky a bloky kódu, nad textem přepínač režimů Čtení, Úpravy a Zdroj
Soubor README.md v režimu Čtení, kde se Markdown vykreslí jako dokument. Přepínač nad textem vede do režimů Úpravy a Zdroj.

Pluginy a propojení s AI

S programem se dodává devět vestavěných pluginů: Code Explorer, Emmet, formátovače, Git, JSON, podpora LSP, textové nástroje, webová data a wiki. Pluginy běží jako samostatné procesy, mají vlastní oprávnění a spravují se ve správci pluginů. Distribuce obsahuje i program textida-mcp: klient MCP, například AI asistent, ho spustí a on ho přes místní rouru propojí se serverem MCP běžícího editoru. Když editor neběží nebo uživatel server vypne, spojení nevznikne.

Pro koho to je

  • Pro správce, kteří potřebují otevřít a prohledat log nebo výpis databáze o desítkách gigabajtů přímo na svém počítači.
  • Pro vývojáře, kteří přecházejí z PSPadu a chtějí podobný editor i na Macu, s Gitem, LSP a Emmetem v základu.
  • Pro každého, kdo pracuje s českými soubory v CP1250 a nechce, aby je editor při uložení převedl.
  • Pro ty, kdo potřebují vedle textu nahlédnout do binárního souboru nebo upravit CSV bez tabulkového procesoru.

Zásahy do systému a aktualizace

Instalátor pro Windows nepotřebuje práva správce. Instalátor i nastavení umí přidat do místní nabídky Průzkumníka položku pro otevření v Textidě a přiřadit jí typy souborů; program tyto položky zapisuje jen pod HKCU\Software\Classes. Odinstalace je uklidí a nastavení smaže jen na požádání. Kontrola aktualizací je v kódu připravená a ve výchozím stavu vypnutá: jeden dotaz na statický zdroj podepsaný ECDSA P-256 a kontrola otisku SHA-256 balíčku. Adresa zdroje a veřejný klíč jsou ale zatím prázdné, takže sestavení 0.1.0 nic nekontroluje.

Stav projektu a plány

Textida je v rané fázi vývoje a 0.1.0 je náhledová verze. Jádro pro velké soubory má změřená čísla výše; aplikace kolem něj se teprve přejímá. Podle TODO.md se v první použitelné verzi soubory do 50 GiB čtou a prohledávají a ve stránkovaném režimu se upravuje text do 100 MiB; úpravy obřích souborů přímo v aplikaci jsou naplánované do pozdější etapy. Přejímkou zatím neprošla minimapa, víc kurzorů, porovnání textů, sada pro tvorbu vlastních pluginů ani přístupnost pro čtečky obrazovky a zadávání přes IME. Linuxové balíčky nikdo nevyzkoušel na skutečném desktopu.

Ke stažení

Náhledová verze 0.1.0 vyšla 29. října 2026 jako předběžné vydání. V Microsoft Storu ani v Mac App Storu Textida není. Soubory nejsou podepsané certifikátem vydavatele, Windows SmartScreen i macOS Gatekeeper proto při prvním spuštění varují. Kontrolní součty jsou v souboru SHA256SUMS.txt.

  • Windows 10 22H2 a 11 (x64): instalátor TextidaSetup-0.1.0-win-x64.exe pro aktuálního uživatele, s tichým režimem pro skripty, nebo přenosný ZIP.
  • macOS 14 a novější: DMG a ZIP zvlášť pro Apple Silicon a pro Intel, zatím bez notarizace.
  • Linux x64 jako náhled: balík .deb pro Debian 12 a Ubuntu 22.04 nebo novější a archiv .tar.gz s instalačním skriptem do ~/.local.

Balík .deb je i v apt repozitáři https://repo.nks-hub.cz/textida/, podepsaném klíčem NKS Dev; nové verze pak přijdou s apt upgrade. Postup přidání repozitáře je v README. Ze zdrojů se editor sestaví příkazem dotnet build s .NET SDK 10.0.402.

Kdo hledá jednodušší editor poznámek jen pro Mac, s ovládáním podle Poznámkového bloku z Windows, najde ho v MacPadu.

Zdrojový kód

Kód je na GitHubu v repozitáři nks-hub/textida pod licencí MIT. Úkoly pro všechny etapy vývoje vede repozitář česky v souboru TODO.md, chyby se hlásí v GitHub Issues.

← Zpět na přehled