A fost publicată versiunea beta a managerului de fișiere f4 0.3.0. Proiectul reproduce interfața, comportamentul și structura internă a Far Manager și far2l, dar este scris de la zero în limbajul Go, folosind metodologia „camerei curate”. Codul este distribuit sub licența BSD și este scris cu ajutorul asistenților AI. Revizuirea manuală înlocuiește un set mare de teste automate, care sunt rulate în CI pe mai multe sisteme de operare și arhitecturi. Versiunile finale sunt disponibile pentru Linux, Windows (inclusiv o versiune separată pentru Windows 7/8/8.1), ReactOS, macOS, FreeBSD, OpenBSD, NetBSD, DragonFly BSD și Android (Termux). Suport experimental este oferit pentru Illumos și Solaris, fiind în curs de portare pe Redox, GNU Hurd și Haiku.
Funcționalități principale:
- Livrarea se face ca un singur fișier executabil static, fără dependențe externe (compilare fără CGO). Sunt suportate arhitecturile x86-64, x86, ARM64, ARMv7, RISC-V, LoongArch, MIPS și POWER.
- Funcționează în terminal sau într-o fereastră grafică separată. În terminal, sunt suportate protocolul kitty și Win32 Input Mode, așa că combinațiile de taste precum Ctrl+Enter și Shift+Tab sunt diferite. Pentru modul grafic, există backend-uri X11, Wayland, Win32 GDI, Cocoa, Ebitengine și gogpu cu accelerație hardware.
- Terminal încorporat sub panouri, ca în far2l. În Windows funcționează atât prin ConPTY, cât și fără acesta, prin Windows Console API.
- Editor încorporat cu evidențiere a sintaxei (Colorer și Chroma) și vizualizator cu modul de vizualizare a dump-urilor hexaziale. Fișierele mari se deschid fără a fi încărcate complet în memorie.
- VFS asincron, care permite lucrul cu arhive (inclusiv încorporate), SFTP/FTP, S3, WebDAV, Google Drive, Yandex Disk, registrul Windows, dispozitive Android (prin ADB) și iPhone (prin AFC). Orice VFS poate fi montat prin FUSE ca un director obișnuit.
- Protocolul FISH+ dezvoltă ideea FISH din Midnight Commander. Căutarea, indexarea și operațiile îndelungate se efectuează pe partea serverului, fișierele putând fi copiate direct între servere. serverPluginurile funcționează ca procese separate și comunică cu nucleul prin MessagePack prin stdin/stdout, astfel că pot fi scrise în orice limbaj. Se suportă pluginuri pe Lua (API în stilul Far3/far2m) și WebAssembly, iar pentru distribuția lor există un catalog PlugRing.
- Macrocomenzi pe Lua, paletă de comenzi (Ctrl+Shift+P), remapare a tastelor, colorare flexibilă a fișierelor, modul portabil.
- Client SQLite încorporat și foi de calcul în stilul DOS Navigator, vizualizator de imagini, player audio, metadate despre fișiere media, comparare și sincronizare de directoare, panou AI.
- Client SQLite încorporat și foaie de calcul în stil DOS Navigator, vizualizarea imaginilor, player audio, informații despre fișiere media, comparare și sincronizare de directoare, panou AI.
- Interfața a fost tradusă în 23 de limbi. Este acceptată introducerea de text cu BiDi și clustere de grafeme complexe.
- Autoreînnoirea cu comanda „f4 --update”, pachete pentru Homebrew, Nix (flake și modul Home Manager) și Termux. Pentru rutere și hardware mai slab există o variantă lite ușurată.
Diferente față de alte manageri de fișiere:
- Far Manager funcționează doar pe Windows. f4 transferă interfața și combinațiile cunoscute de taste pe Linux, macOS, BSD și Android. Pluginurile binare Far (DLL) nu sunt acceptate, dar API-ul Lua pentru pluginuri este construit după modelul Far3/far2m.
- far2l – portul Far 2 pe Linux, macOS și BSD, scris în C++ sub licența GPLv2. f4 nu este un port, ci o nouă implementare în Go sub licența BSD. Pe lângă sistemele Unix-like, f4 funcționează și pe Windows și ReactOS, fără a depinde de wxWidgets sau biblioteci de sistem, iar pluginurile pot fi scrise în orice limbaj.
- Midnight Commander este scris în C (GPLv3), destinat sistemelor Unix-like și urmează modelul său de lucru și layout-ul tastei. f4 repetă comportamentul Far/far2l, are un mod grafic și funcționează nativ pe Windows. Arhiva cu buildul pentru Linux x86-64 ocupă aproximativ 35 MB, în timp ce mc – câțiva mega.
- M-Commander este un fork mc în C și Lua (GPLv3+). Are panouri conectabile (Git, Docker, Kubernetes, MongoDB, S3 etc.), iar în loc de subshell folosește un terminal PTY încorporat. M-Commander păstrează interfața mc și este disponibil sub formă de pachete pentru Linux și macOS. f4 se dezvoltă în direcții similare (panouri extensibile, terminal încorporat), dar cu interfața Far, suport pentru Windows și BSD, livrat ca un singur fișier binar.

Sursa: opennet.ro
