Skip to content

File Associations

On this page

zolo associate is a command-line tool that registers the .zex and .zar extensions with the operating system — Windows, macOS, and Linux. Once run, double-clicking a .zex file automatically invokes zolo run "<file>" %*, making the executable behave like a natively installed application.

By default, registration is per-user (on Windows, written to HKCU; on macOS/Linux, to per-user handlers). Use --system to register at the machine level — this option requires administrator or root privileges.

The four operating modes are:

  • zolo associate — installs the associations for the current user.
  • zolo associate --status — shows what is currently registered, without changing anything.
  • zolo associate --uninstall — removes only the entries created by associate.
  • zolo associate --system — registers for all users (requires elevation).

Inline documentation of the zolo associate command: install, check status, uninstall, and system-wide OS registration.

01-associate.zolo
// Feature: register OS file associations — `zolo associate`

// Syntax: `zolo associate [--uninstall] [--status] [--system]`

// When to use: make double-clicking a `.zex` run it, and give

//   `.zex`/`.zar` files the Zolo icon, on Windows / macOS / Linux.


// This is a CLI command, not in-language syntax — there is nothing to

// `zolo run` here. The commands:

//

//   zolo associate              # install for the current user

//   zolo associate --status     # show what is currently registered

//   zolo associate --uninstall  # remove associations this command created

//   zolo associate --system     # apply for all users (needs admin/root)

//

// After installing, double-clicking a .zex invokes:

//   "<path>/zolo(.exe)" run "%1" %*

// so a standalone .zex (31-distribution/03) behaves like a native app.

//

// Per-user by default (Windows: HKCU; macOS/Linux: per-user handlers).

// Pass --system to register machine-wide.


print("Run `zolo associate` from a terminal — see this file's header.")

// expected: the line above (this file is documentation for the command).

Requires the Zolo CLI/host — open in the playground or run locally.

After associating the files, combine this with a .zex generated by the distribution flow (chapter 31) so that your application behaves like any other installed program, without requiring the user to know about zolo run.

Search Zolo

9 results

enespt-br