Installation#

Homebrew#

brew install codingconcepts/tap/edg

Install script#

curl -fsSL https://raw.githubusercontent.com/codingconcepts/edg-releases/main/install.sh | sh

Download binary#

Pre-built binaries for Linux, macOS, and Windows are available on the releases page.

Docker#

Pull the Docker image:

docker pull codingconcepts/edg:latest

Images are published for both linux/amd64 and linux/arm64. Pass flags and mount your config file:

docker run --rm \
  -v $(pwd)/examples/tpcc:/config \
  codingconcepts/edg:latest all \
  --driver pgx \
  --config /config/workload.edg \
  --url "postgres://root@host.docker.internal:26257?sslmode=disable"

See the Docker and Kubernetes pages for more examples.

VSCode Extension#

A VSCode extension is available for .edg files, providing syntax highlighting, embedded SQL highlighting, bracket matching, auto-closing, comment toggling, and LSP features (completions, hover docs, go-to-definition).

Install from the command line:

code --install-extension RobReid.edg-lang

Or search for “edg-lang” in the VSCode Extensions panel (Ctrl+Shift+X / Cmd+Shift+X).

Locating the edg binary#

The LSP features run edg lsp, so the extension needs to find the edg binary. It looks in this order:

  1. The edg.path setting, if set.
  2. Each directory on PATH.
  3. Common install locations: /opt/homebrew/bin, /usr/local/bin, /usr/bin, ~/go/bin, ~/.local/bin, ~/bin, ~/dev/bin.

The fallback locations matter because editors launched from the Finder or Dock don’t inherit a login shell’s PATH, so a Homebrew or go install binary can be invisible to the extension.

If edg.path points at something that isn’t executable, the extension warns and falls back to the search above. Set it explicitly when you have multiple installs:

{
  "edg.path": "/opt/homebrew/bin/edg"
}