Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions website/docs/guides/editor-setup.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
---
title: "Editor setup"
sidebar_position: 6
description: Connect your editor to heph's language server for completion, hover, go-to-definition, and formatting.
description: Connect your editor to heph's language server for diagnostics, completion, hover, go-to-definition, and formatting.
---

# Editor setup

heph ships a language server that connects to any editor supporting the Language
Server Protocol. It provides completion, hover documentation, go-to-definition,
and document formatting.
Server Protocol. It provides diagnostics, completion, hover documentation,
go-to-definition, and document formatting.

## What it provides

| Feature | What you get |
|---------|-------------|
| Diagnostics | Flags a `target()` or `provider_state()` call that's missing a required field — a base field like `name`, or, once `driver`/`provider` is set, a field required by that driver or provider. |
| Completion | `target`, `file`, `glob`, `struct`, `provider_state`, `heph.core.*`, and every provider function complete with their signatures and inline docs. Address strings (`//pkg:name`) complete packages and target names as you type. Inside a `target(driver="exec", …)` call, the driver's accepted fields complete with types and descriptions. |
| Hover | Signature and documentation for any builtin or provider function. Hover a `target()` call to see the addresses it produced. |
| Hover | Signature and documentation for any builtin or provider function. Hover a `target()` call to see the addresses it produced and, once its `driver` is set, that driver's config fields with their types and descriptions. |
| Go-to-definition | Jump to the BUILD file that defines an address — both `//pkg:name` and relative `:name` forms. |
| Formatting | Format-on-save rewrites the open BUILD file to canonical style. Uses the same rules as [`heph tool build-fmt`](/docs/guides/formatting-build-files), respecting the workspace `indent` setting and the `# heph:fmt skip-file` directive. |

Expand Down
Loading