GurlGurl
Home
Docs
Home
Docs
  • Documentation

    • Documentation
    • Settings
    • Environments
    • Variables
    • Run history
    • Keyboard shortcuts
    • CLI

Settings

Workspace settings live in .gurl/settings.toml as plain TOML. The file is yours to hand-edit.

The four layers

Values are merged from four files, lowest precedence first:

  1. Built-in defaults — shipped inside the app. Always participates.
  2. Global — ~/Library/Application Support/Gurl/settings.toml. Per-user. Useful for binary overrides that apply across every workspace on your machine.
  3. Workspace shared — <workspace>/.gurl/settings.toml. Committed to the repo and shared with your team.
  4. Workspace local — <workspace>/.gurl/settings.local.toml. Gitignored. Per-machine overrides for this checkout.

Merge rule: last layer wins, present overrides absent. Omitting a key in a higher layer is a non-vote, not a clear. Arrays (exclude_files, environment) replace atomically when present — restate the lower layer's contents if you want to add to them.

Keys

# Window title pattern. Substitutions: {{target}}, {{file}},
# {{file.path}}, {{folder}}, {{dirty}}, {{env.NAME}}.
title_template = "{{dirty}}Gurl - {{target}}/"

# Override the hurl + hurlfmt binaries. When omitted, Gurl resolves
# each from PATH + Homebrew fallbacks.
hurl_path    = "/opt/homebrew/bin/hurl"
hurlfmt_path = "/opt/homebrew/bin/hurlfmt"

# Globs hidden from the file tree. Toggle with ⌘⇧. at runtime.
exclude_files = ["**/.DS_Store", ".gurl/state", ".gurl/.gitignore"]

# Environments — switchable from the toolbar dropdown.
[[environment]]
name  = "Beta"
color = "#5E81AC"
files = [".env/.env.beta"]

[[environment]]
name  = "Production"
color = "#BF616A"
files = [".env/.env.production"]
KeyTypeNotes
title_templatestringSee Title-template substitutions below for the vocabulary.
hurl_pathstringAbsolute, ~/…, or relative-to-workspace-root.
hurlfmt_pathstringSame rules. Used for the inline linter.
exclude_files[string]VS Code-style globs. **/foo matches anywhere; bare names match by basename.
[[environment]]array of tablesSee Environments.

Title-template substitutions

title_template accepts a small set of substitutions that resolve at runtime — useful for telling environments apart at a glance from the window title.

TokenResolves to
{{target}} / {{folder}}The workspace folder name.
{{file}}The currently-focused tab's filename.
{{file.path}}Same, but the full path.
{{dirty}}● when the focused tab has unsaved changes, empty otherwise.
{{env.NAME}}The value of NAME from the active env files. e.g. {{env.STAGE}} if any active env file contains STAGE=production.
Prev
Documentation
Next
Environments