62 lines · 1.5 KB · Markdown
RawDownload

Shell Scripts

Shell Scripts (bash, zsh, dash, sh) are supported natively by Zed.

Settings

You can configure various settings for Shell Scripts in your Zed User Settings (~/.config/zed/settings.json) or Zed Project Settings (.zed/settings.json):

  "languages": {
    "Shell Script": {
      "tab_size": 2,
      "hard_tabs": false
    }
  }

Formatting

Zed supports auto-formatting Shell Scripts using external tools like shfmt.

  1. Install shfmt:
brew install shfmt            # macos (homebrew)
sudo apt-get install shfmt    # debian/ubuntu
dnf install shfmt             # fedora
yum install shfmt             # redhat
pacman -Sy shfmt              # archlinux
choco install shfmt           # windows (chocolatey)
  1. Ensure shfmt is available in your path and check the version:
which shfmt
shfmt --version
  1. Configure Zed to automatically format Shell Scripts with shfmt on save:
  "languages": {
    "Shell Script": {
      "format_on_save": "on",
      "formatter": {
        "external": {
          "command": "shfmt",
          // Change `--indent 2` to match your preferred tab_size
          "arguments": ["--filename", "{buffer_path}", "--indent", "2"]
        }
      }
    }
  }

See also:

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t