ubiklabs

Blocks · Files

The folder beside the terminal, and the file in it.

A folder's tree and the file you pick: code with colours and folds, Markdown rendered, images previewed. Edit a text file and ⌘S saves it to the host.

← BlocksAvailableBy Ubiklabs

New Block → Files

The folder's tree beside the file. Code with colours and folds, Markdown rendered, and an edit saved straight to the host.

The folder's tree beside the file.

New Block (⇧⌘T) → Files opens the focused terminal's folder on the right. Pick a file in the tree and it shows beside it.

Open Files, pick and keep files, copy a path, then hide what .gitignore names.
Knows git
Folders first in natural order, files .gitignore names dimmed, and .git hidden.
Hide what you skip
Hide Ignored Files and Hide Excluded Files in Settings → Extensions → Files; the second reads file_scan_exclusions from .zed/settings.json.
Preview and kept tabs
A pick opens in a preview tab the next pick replaces; a double-click keeps it.
Copy a path
Right-click a row for Copy Path or Copy Relative Path.

Code with colours, folds and the git gutter.

It reads like an editor with nothing to set up: colours from tree-sitter, folds from indentation.

Colours and gutter marks for uncommitted lines, then folds closed and opened from the keyboard.
Fifteen languages
Rust, Go, Python, TypeScript, JavaScript, C, Swift, Bash, HTML, CSS, JSON, TOML, YAML, Markdown and more are coloured.
Folds
A chevron in the gutter or ⌥⌘[ folds around the line, and ⌥⌘] opens one level at a time.
Changes in the gutter
Lines added or changed since the last commit get a bar and deleted ones a notch, unsaved edits included; staged ones are hollow.

Find in the file as you type.

⌘F opens a search bar under the path, starting from the selection, the word last clicked or the last search.

Find as you type, step to the next match, then switch to a regular expression.
Every match marked
Matches light up in the text and down the scrollbar, with a count such as 3/12.
Case, words, regex
⌥⌘C, ⌥⌘W and ⌥⌘X switch match case, whole words and regular expressions.
Step through
Enter and ⇧Enter, or ⌘G and ⇧⌘G, go to the next or previous match, opening a fold that hides it.

Edit the file. ⌘S saves it to the host.

A text file can be edited as soon as it shows: no Edit button, no mode. ⌘S writes it back to the host, where the shell sees it.

Type, save to the host, see the disk change under a draft, and closing asks first.
Unsaved, visible
A dot replaces the tab's ×, and the path row says Edited, then Saving….
Changed on disk
Your draft stays, and the bar offers Copy My Changes or Discard My Changes.
Nothing closes unsaved
Closing asks Save, Don't Save or Cancel, and Unsaved Files… lists every draft in the window.

Markdown rendered, with diagrams and images.

Markdown files open rendered; the button at the right of the path row switches to the source and back.

A design note rendered with its diagram, table and tasks, then its diagram code and its source.
Like a README
Tables, task lists, alerts, footnotes, code fences with Copy, and badges are drawn.
Mermaid
A mermaid fence shows as a diagram in your theme, with Diagram and Code tabs.
Images
PNG, JPEG, GIF, WebP, BMP and ICO open fitted to the block.

Jump to any file by name.

⌘P searches the folder's files and opens the one you pick in Files.

⌘-click a path in the shell, then Go to File by name and line.
To the line
Type main.rs:42 and it opens on line 42.
Where it opens
Open in, in the footer, puts it to the right, left, above, below or in a new tab.
From the terminal
⌘-click a path:line in the terminal's output, or run max open path:line.

What it does.

A tree that knows git
Folders first, ignored files dimmed, and a git gutter on files in a repository.
Reads like an editor
Syntax colours, folds and indent guides, with no language server to set up.
Edits save to the host
Edit as soon as a file shows and ⌘S writes it to the host. Nothing unsaved closes without asking.
Go to File
⌘P finds a file under the folder and opens it beside the current one.

Start on this machine.

The desktop app comes with a local host. Add a remote one when you need it.