• Fresh – när terminaln möter det moderna kodverktyget

    Terminaln har länge varit utvecklarens snabbaste verktyg – men också ett av de mest avskalade. Med Fresh utmanas den bilden. Den nya öppna textredigeraren kombinerar terminalns effektivitet med moderna funktioner som annars hör hemma i grafiska IDE:er. Resultatet är ett kraftfullt kodverktyg som körs helt i textläge, men ändå erbjuder en strukturerad, visuell och förvånansvärt bekväm utvecklingsmiljö.

    Fresh – när terminaln möter det moderna kodverktyget

    I takt med att allt fler utvecklare söker snabbare, lättare och mer fokuserade arbetsflöden har intresset för terminalbaserade verktyg fått en tydlig renässans. Samtidigt vill få ge upp de bekvämligheter som moderna utvecklingsmiljöer erbjuder. Här kliver Fresh in – en ny öppen källkodsbaserad textredigerare som försöker förena två världar som länge setts som motsatser: den klassiska terminaln och den grafiska kodeditorn.

    Fresh är en så kallad TUI-editor (Text-based User Interface), skriven i programmeringsspråket Rust. Det innebär att hela programmet körs i ett vanligt terminalfönster, utan att använda grafiska ramverk som GTK eller Qt. Trots detta lyckas Fresh leverera en upplevelse som ligger mycket nära den man förknippar med moderna grafiska program.

    Ett grafiskt tänk – helt i textläge

    Vid första anblick kan Fresh nästan uppfattas som en traditionell grafisk editor. Den innehåller menyer, paneler, delade vyer, filutforskare och en integrerad terminal, allt uppbyggt med terminalns egna möjligheter. Musstöd finns från start, tillsammans med snabbkommandon, kontextmenyer och en kommandopalett där användaren kan söka efter funktioner på samma sätt som i moderna IDE:er.

    I stället för att arbeta direkt med filer använder Fresh buffertar. Flera filer och terminalsessioner kan vara öppna samtidigt och visas sida vid sida i horisontella eller vertikala split-vyer. En permanent statusrad längst ner visar relevant information som filnamn, markörposition och aktuell Git-branch.

    Kraftfull redigering utan begränsningar

    Trots sitt terminalbaserade format saknar Fresh inte avancerade redigeringsfunktioner. Programmet erbjuder stöd för flera markörer, avancerade textmarkeringar samt obegränsad ångra- och gör om-funktionalitet. All redigering sparas i en fullständig historik, vilket gör att användaren tryggt kan experimentera utan risk att förlora arbete.

    Navigeringen förbättras ytterligare genom positionshistorik och inbyggt stöd för Language Server Protocol. Detta gör det möjligt att hoppa till definitioner, navigera mellan symboler och få kodintelligens som annars förknippas med fullskaliga grafiska utvecklingsmiljöer.

    Filhantering utan att lämna editorn

    Fresh innehåller en inbyggd filutforskare som låter användaren navigera i projektets katalogstruktur direkt i editorn. Den är helt anpassad för tangentbord, men fungerar även med mus. Som standard respekteras .gitignore-filer, vilket hjälper till att hålla fokus på relevanta filer i projektet. Filer kan öppnas, bytas och skapas utan att man behöver lämna editorn eller använda externa verktyg.

    Terminaln som en integrerad del av arbetsflödet

    En av de mest utmärkande funktionerna i Fresh är den inbyggda terminalemulatorn. Terminaler öppnas som vanliga buffertar och kan delas upp i flera flikar. Användaren kan växla mellan inmatningsläge och scroll-läge, söka i terminalutdata och kopiera text med samma kommandon som används i redigeraren.

    En särskilt ovanlig funktion är att terminalsessioner kan bevaras mellan omstarter. Pågående processer och hela scrollback-historiken finns kvar, vilket suddar ut gränsen mellan editor och kommandoskal.

    Kodintelligens med resurskontroll

    Fresh har inbyggt stöd för Language Server Protocol och erbjuder diagnostik, kodkomplettering och symbolinformation i realtid. Rust, JavaScript, TypeScript och Python fungerar direkt, medan ytterligare språk kan konfigureras manuellt via en JSON-baserad inställningsfil.

    En detalj som särskiljer Fresh från många andra editorer är möjligheten att sätta gränser för CPU- och minnesanvändning hos språkservrar. Detta förhindrar att resurskrävande LSP-processer påverkar systemets prestanda negativt.

    Ett pluginsystem byggt för framtiden

    Fresh är konstruerat med utbyggbarhet i fokus. Redigeraren använder ett pluginsystem baserat på TypeScript, vilket gör det relativt lätt att skapa egna tillägg. Flera plugins följer med som standard, bland annat för att markera TODO-kommentarer och utföra Git-baserade sökningar.

    För C- och C++-utveckling finns även ett särskilt Clangd-hjälpplugin. Plattformsspecifika detaljer, till exempel för macOS, är tydligt dokumenterade för att underlätta installation och användning.

    Samlad och tydlig konfiguration

    All konfiguration i Fresh sker via en enda config.json-fil som lagras på ett standardiserat sätt beroende på operativsystem. I denna fil styrs allt från teman och tangentbindningar till språkservrar, plugins och resursbegränsningar. Tanken är att ge användaren full kontroll utan att sprida inställningar över flera filer.

    Stöd för alla större operativsystem

    Fresh är officiellt stödd på Linux, macOS och Windows. För den som vill prova finns färdiga binärer, men även installationsalternativ via Homebrew, Arch User Repository, .deb- och .rpm-paket, npm, crates.io eller manuell kompilering från källkod. På Windows fungerar Fresh i moderna terminaler, och det går även att köra via WSL för en mer Linux-lik upplevelse.

    Terminalns nästa steg

    Fresh visar tydligt att terminalbaserade verktyg inte längre behöver vara spartanska eller svåranvända. Genom att kombinera hög prestanda, moderna gränssnittsidéer och ett tydligt fokus på utvecklarens arbetsflöde pekar Fresh mot en framtid där terminaln inte är ett alternativ till grafiska verktyg – utan ett fullvärdigt hem för dem.

    Bild ifrån projektets hemsida

    Linux.se:s åsikt

    Efter att ha testat Fresh är helhetsintrycket mycket lovande, även om den senaste versionen ännu inte verkar finnas tillgänglig som .deb-paket. Känslan för tankarna tillbaka till DOS-eran, fast i en modern tappning.

    För den som i dag snabbt vill redigera filer direkt på en server är alternativen oftast nano eller emacs/vi. Både emacs och vi är kraftfulla verktyg, men de har också en relativt hög inlärningströskel, vilket kan avskräcka många användare.

    En funktion som skulle vara mycket uppskattad i framtida versioner av Fresh är stöd för emacs-liknande Ctrl-kommandon. För användare som har dessa tangentkombinationer djupt inpräntade i muskelminnet är det svårt att ”lära gamla hundar att sitta”. Dessutom kan Ctrl-kommandon i vissa situationer vara snabbare och mer effektiva, exempelvis vid sparande och navigering.

    Trots detta framstår Fresh som ett tydligt positivt tillskott. Det fyller ett tomrum mellan enkla terminalredigerare och mer komplexa redigeringsmiljöer, och har potential att bli ett naturligt val för modern server- och terminalbaserad utveckling.

    Läs mer på :

    https://sinelaw.github.io/fresh

    FAKTARUTA
    Fresh – terminaleditor med IDE-känsla
    • Typ: Öppen källkod, TUI (Text-based UI) i terminal
    • Språk: Rust
    • Gränssnitt: Paneler, split-vyer, filutforskare, musstöd
    • Utvecklarstöd: LSP (diagnostik, completion, symboler)
    • Extra: Inbyggd terminal som buffert med flikar och scroll-läge
    • Utbyggbart: Pluginsystem (TypeScript) och central config.json
    • Plattformar: Linux, macOS, Windows (även via WSL)
    Tips: Passar dig som vill stanna i terminaln men ändå ha moderna IDE-funktioner.

Etikett: TUI

  • Fresh – när terminaln möter det moderna kodverktyget

    Terminaln har länge varit utvecklarens snabbaste verktyg – men också ett av de mest avskalade. Med Fresh utmanas den bilden. Den nya öppna textredigeraren kombinerar terminalns effektivitet med moderna funktioner som annars hör hemma i grafiska IDE:er. Resultatet är ett kraftfullt kodverktyg som körs helt i textläge, men ändå erbjuder en strukturerad, visuell och förvånansvärt…