Fork of zed-extensions/vue
  • Rust 77.1%
  • Tree-sitter Query 22.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
zed-zippy[bot] 2cc84708aa
Update CI workflows to 3183c04 (#113)
This PR updates the CI workflow files from the main Zed repository
based on the commit
zed-industries/zed@3183c04515

The update includes a new version of the extension CLI which adds
validation for semantic token rules for languages

Co-authored-by: zed-zippy[bot] <234243425+zed-zippy[bot]@users.noreply.github.com>
2026-03-25 18:55:27 +00:00
.github/workflows Update CI workflows to 3183c04 (#113) 2026-03-25 18:55:27 +00:00
languages/vue Allow themes to style Vue directives separately (#103) 2026-03-18 17:27:48 +00:00
src Pin vue-language-server to v3.2.1 to avoid upstream crash (#107) 2026-03-18 18:28:03 +01:00
.gitignore Allow PnP users to specify TypeScript SDK location (#11) 2025-01-29 22:18:19 -05:00
Cargo.lock Bump version to 0.3.2 (#111) 2026-03-18 17:30:34 +00:00
Cargo.toml Bump version to 0.3.2 (#111) 2026-03-18 17:30:34 +00:00
extension.toml Bump version to 0.3.2 (#111) 2026-03-18 17:30:34 +00:00
LICENSE Apply post-extraction changes 2024-10-18 13:46:15 -04:00
README.md Document Vue LSP settings options in README (#87) 2026-03-09 15:18:45 -04:00

Zed Vue

A Vue extension for Zed.

Development

To develop this extension, see the Developing Extensions section of the Zed docs.

Initialization Options

Specifying location of TypeScript SDK

By default, this extension assumes that you are working in a project with a node_modules directory, and searches for the TypeScript SDK inside that directory.

This may not always be true; for example, when working in a project that uses Yarn PnP, there is no node_modules. For editor support, the documented approach is to run something like yarn dlx @yarnpkg/sdks. In that case, you can provide the following initialization options in your Zed settings:

{
  "lsp": {
    "vue": {
      "initialization_options": {
        "typescript": {
          "tsdk": ".yarn/sdks/typescript/lib"
        }
      }
    }
  }
}

Settings Options

lsp.vue.settings is passed through to the Vue language server (Volar / vuejs/language-tools). The following settings are enabled by default:

{
  "lsp": {
    "vue": {
      "settings": {
        // Display inlay hints for the `$event` parameter in inline event handlers.
        "vue.inlayHints.inlineHandlerLeading": true,
        // Display hints when required component props are missing in templates.
        "vue.inlayHints.missingProps": true,
        // Display inlay hints for patterns that wrap component options.
        "vue.inlayHints.optionsWrapper": true,
        // Display inlay hints related to `v-bind` shorthand (`:`).
        "vue.inlayHints.vBindShorthand": true,
      },
    },
  },
}

You can find the upstream settings configuration schema here.

Note

Some settings (e.g. vue.editor.focusMode) may not take effect.