explaingit

sinelaw/fresh

7,142RustAudience · developerComplexity · 2/5Setup · easy

TLDR

A terminal text editor built in Rust that works without a graphical desktop, designed to feel like VS Code with the same keyboard shortcuts, plus code completion, go-to-definition, and TypeScript plugin support.

Mindmap

mindmap
  root((repo))
    What it does
      Terminal text editor
      VS Code key bindings
      LSP code intelligence
    Tech stack
      Rust
      TypeScript plugins
      LSP protocol
    Use cases
      Remote SSH editing
      Large file handling
      Plugin extensions
    Audience
      Developers
      Terminal power users
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Edit code on a remote server over SSH using an editor that behaves like VS Code with no graphical desktop needed.

USE CASE 2

Open and edit multi-gigabyte log or data files that would crash or slow other editors.

USE CASE 3

Extend the editor with custom TypeScript plugins to add project-specific commands and workflows.

USE CASE 4

Use a familiar VS Code-style editor in a containerized or headless Linux environment.

Tech stack

RustTypeScriptLSP

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

Fresh is a text editor that runs inside a terminal window, meaning it works without a graphical desktop environment. It is designed to feel familiar to anyone who has used VS Code or Sublime Text, using the same keyboard shortcuts and mouse behavior those editors offer. The goal is that you can open it and start working without reading a manual or changing any settings. The editor includes features that developers typically associate with full IDEs: code completion, go-to-definition, finding references, error highlighting, and rename support through a standard protocol called LSP that many programming languages support. It also has multi-cursor editing, split panes, a built-in file explorer, a command palette for running commands by name, and a theme browser. You can extend it with plugins written in TypeScript. One stated design point is performance with large files. The README notes the editor can handle multi-gigabyte files with low memory use and consistent response times regardless of file size. Fresh is built with Rust and runs on Windows, macOS, and Linux. It can be installed through a one-line shell command, or through platform-specific package managers including brew, winget, apt, rpm, flatpak, npm, and cargo. Prebuilt binaries are available for most platforms so you do not need a Rust toolchain to use it. This repository is where the source code lives. The project has a documentation site and a Discord community linked from the README. The README is primarily aimed at people installing or contributing to the editor.

Copy-paste prompts

Prompt 1
How do I install a TypeScript plugin in the Fresh terminal editor and what API does the plugin have access to?
Prompt 2
How do I configure Fresh to use a specific LSP server for Python or Go to get code completion and go-to-definition?
Prompt 3
Show me how to set up split panes and open the built-in file explorer in the Fresh terminal editor.
Prompt 4
How do I open a multi-gigabyte log file in Fresh and navigate it efficiently without the editor slowing down?
Prompt 5
What is the keyboard shortcut for the command palette in Fresh and how does it compare to the VS Code equivalent?
Open on GitHub → Explain another repo

← sinelaw on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.