Skip to content
Fe 26.0 is not production-ready. This is an initial release of a new compiler. Learn more

Editor Setup

Fe ships with a built-in language server (fe lsp) that provides diagnostics, go-to-definition, find references, and more. Editor plugins connect to it automatically when fe is on your PATH.

Install the Fe extension from a .vsix file:

  1. Download the latest .vsix from the releases page

  2. In VS Code, open the command palette (Ctrl+Shift+P) and run Extensions: Install from VSIX…, then select the downloaded file.

    Or from the command line:

    Terminal window
    code --install-extension fe-language-*.vsix

Provides syntax highlighting, diagnostics, go-to-definition, and find references.

The Fe extension for Zed is available as a dev extension:

  1. Clone the repo: git clone https://github.com/fe-lang/zed-fe
  2. In Zed, open Extensions > Install Dev Extension and select the cloned directory

The nvim-fe plugin provides tree-sitter highlighting, indentation, and LSP integration.

With lazy.nvim:

{
"https://github.com/fe-lang/nvim-fe",
config = function() require("nvim_fe").setup() end,
}

With packer.nvim:

use({
"https://github.com/fe-lang/nvim-fe",
config = function() require("nvim_fe").setup() end,
})

Requires Neovim 0.9+ and a C compiler (GCC or Clang) for the tree-sitter parser.

The emacs-fe package provides tree-sitter highlighting, indentation, imenu, and LSP auto-registration.

(use-package fe
:vc (:url "https://github.com/fe-lang/emacs-fe"
:branch "main"))

To auto-start the language server with Eglot:

(setq fe-mode-eglot-auto t)

Requires Emacs 29.1+ and a C compiler for the tree-sitter grammar.

All editor plugins require fe on your PATH. If you installed via feup, make sure ~/.fe/bin is in your PATH:

Terminal window
source ~/.fe/env

You can also set the FE_PATH environment variable to point to the fe binary directly.

The Fe language server currently provides:

  • Diagnostics — errors and warnings as you type
  • Go-to-definition — jump to where a symbol is defined
  • Find references — find all usages of a symbol
  • Completions — context-aware code completion