Stable v2.0

📄 facsimile

Terminal text editor written in modern Fortran with LSP integration

A sophisticated text editor built entirely in Fortran 2003+, demonstrating that Fortran can handle modern application development. Features VSCode-style keybindings, gap buffer text storage, multi-pane editing, full LSP support, and a git-aware file tree. No external UI dependencies - pure ANSI escape sequences for rendering.

🎯 RPM Available 🏛️ AUR Available

Features

Installation

RPM (Fedora/RHEL/CentOS)

terminal
$sudo dnf config-manager --add-repo https://repos.musicsian.com/musicsian.repo
$sudo dnf install facsimile

AUR (Arch Linux)

terminal
$yay -S facsimile

Homebrew (macOS)

terminal
$brew tap FortranGoingOnForty/fortran
$brew install facsimile

Build from Source

terminal
$git clone https://github.com/FortranGoingOnForty/facsimile.git
$cd facsimile
$make
$sudo make install

Build Dependencies: gfortran (or flang-new)

Binary name: fac

Quick Start

Open a File

terminal
$fac main.f90

Open a Directory (Workspace Mode)

terminal
$fac ~/projects/myapp

Opens the directory as a workspace with persistent state. Press Ctrl+B to toggle the file tree.

Launch with Fortress Navigator

terminal
$fac
Fortress - Workspace Navigator ────────────────────────────── Recent Workspaces: 1. ~/projects/myapp 2. ~/src/facsimile 3. ~/documents/notes Favorites: * ~/projects/myapp (pinned) [j/k] Navigate [Enter] Open [f] Toggle favorite [q] Quit

Essential Keybindings

Action Keybinding
Save Ctrl+S
Open file browser Ctrl+O
Toggle file tree Ctrl+B
Search/Replace Ctrl+F
Go to line Ctrl+G
Command palette Ctrl+P
Show help Ctrl+/
Quit Ctrl+Q

LSP Setup

facsimile automatically detects and connects to language servers. Install the appropriate server for your language:

Language Server
Python pip install python-lsp-server
Rust rustup component add rust-analyzer
JavaScript/TypeScript npm i -g typescript-language-server
Go go install golang.org/x/tools/gopls@latest
Fortran pip install fortls