digitalcora / sublime-text-gleam

Gleam syntax support for Sublime Text

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sublime Text + Gleam

Gleam syntax support for Sublime Text.

light screenshot dark screenshot

Installation

This package is available on Package Control. To install:

  1. Open the command palette (Ctrl/Cmd+Shift+P)
  2. Select Package Control: Install Package
  3. Select Gleam

LSP Integration

The LSP package enables improved autocomplete, go-to-definition, formatting, "hover docs", compiler errors and warnings in the editor, and more. To set it up, install the package and open its settings (Preferences: LSP Settings in the command palette), then add this config:

{
  "clients": {
    "gleam": {
      "enabled": true,
      "command": ["gleam", "lsp"],
      "selector": "source.gleam"
    }
  },
  "lsp_format_on_save": true
}
  • If you don't want format-on-save, leave out the global lsp_format_on_save option (the default is false) and instead use LSP: Format File in the command palette, or bind this to a keyboard shortcut.

  • If you have Gleam installed using asdf or a similar version manager, the command should instead be e.g. ["~/.asdf/shims/gleam", "lsp"].

  • If Sublime Text and Gleam are installed in different environments (e.g. Sublime on Windows and Gleam on WSL), the LSP package unfortunately won't work, since it does not support path translation. Note in the specific case of WSL2 you can install Sublime inside the Linux environment and use it that way, at the cost of some UI quirks.

Fmt Integration

The LSP package (see above) includes code formatting in the editor, but if you don't want to or can't use the LSP, you can still get formatting using the Fmt package. Follow the instructions to install it and open the package settings, then add this rule:

{
  "rules": [
    {
      "selector": "source.gleam",
      "cmd": ["gleam", "format", "--stdin"],
      "format_on_save": true,
      "merge_type": "diff",
    },
  ],
}
  • If you don't want format-on-save, leave out the format_on_save option and instead use Fmt: Format Buffer in the command palette. See the Fmt README for instructions on binding this to a keyboard shortcut.

  • If you have Gleam installed using asdf or a similar version manager, the cmd should be modified in the same way as the LSP instructions, above. This approach also works with WSL (prepend "wsl") or other cases where Gleam and Sublime are installed in different environments.

Compatibility

This package is developed for Sublime Text 4+, and is not available in Package Control on older versions. It can be installed manually in Sublime Text 3, but this is unsupported, and bugs that only appear in ST3 will not be fixed.

Manual Installation

  1. Download the .zip for the desired version from the GitHub Releases page
  2. Rename this file (without unzipping it) to Gleam.sublime-package
  3. Place the file in your Sublime Text "Installed Packages" directory

"Installed Packages" can be found using Preferences → Browse Packages within Sublime Text (go up one level from the directory this opens).

About

Gleam syntax support for Sublime Text

License:Apache License 2.0


Languages

Language:Gleam 99.6%Language:Shell 0.4%