Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>YAMMMNew to Visual Studio Code? Get it now.
YAMMM

YAMMM

Simon Lentz

|
4 installs
| (0) | Free
Language support for YAMMM schema files
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

YAMMM Language Support for VS Code

This extension provides language support for YAMMM (Yet Another Meta-Meta Model) schema files.

Features

  • Syntax Highlighting: Full TextMate grammar for .yammm files
  • IntelliSense: Completions for keywords, types, and snippets
  • Diagnostics: Real-time error checking as you type
  • Go to Definition: Navigate to type definitions
  • Hover Information: View type details and documentation
  • Document Symbols: Outline view and breadcrumbs
  • Formatting: Automatic code formatting
  • Snippets: Quick templates for common patterns
  • Markdown Embedded Blocks: Full language support for yammm code blocks in Markdown files

Markdown Support

YAMMM code blocks in Markdown files receive full language support:

  • Syntax highlighting via TextMate injection grammar
  • Real-time diagnostics (parse errors, semantic errors)
  • Hover information with type details
  • Completions for keywords, types, and snippets
  • Go-to-definition for type references
  • Document symbols for outline and breadcrumbs

Each code block is analyzed independently as a standalone schema. Use fenced code blocks with the yammm language identifier:

```yammm
schema "example"

type Person {
    id String primary
    name String required
}
```

Limitations: Imports are not supported in markdown blocks (produces a diagnostic). Formatting is disabled for markdown files. Code blocks are analyzed in isolation with no cross-block references. Files must use .yammm, .md, or .markdown extensions to receive LSP support — manually setting a file's language in VS Code (e.g., on a .txt file) does not activate LSP features; rename the file to use a supported extension.

Requirements

The extension requires the yammm-lsp language server binary. You can either:

  1. Use bundled binary: The extension includes pre-built binaries for common platforms
  2. Configure custom path: Set yammm.lsp.serverPath in settings

Extension Settings

  • yammm.lsp.serverPath: Path to the yammm-lsp binary (optional)
  • yammm.lsp.logLevel: Log level for the language server (error, warn, info, debug, trace)
  • yammm.lsp.moduleRoot: Override the module root for import resolution
  • yammm.trace.server: Trace communication between VS Code and the server

Supported Platforms

Pre-built binaries are included for:

  • macOS (Apple Silicon / arm64)
  • macOS (Intel / amd64)
  • Linux (amd64)
  • Linux (arm64)
  • Windows (amd64)
  • Windows (arm64)

Snippets

Prefix Description
schema Schema declaration
import Import statement
type Type declaration
abstract Abstract type
part Part type
propstring String property
propint Integer property
assocone One-to-one association
assocmany One-to-many association
compone Composition (one)
compmany Composition (many)
invariant Invariant constraint

Development

Requires Node.js >= 20 (pinned in .nvmrc).

# Install dependencies
npm install

# Compile TypeScript
npm run compile

# Run grammar snapshot tests
npm run test:grammar

# Package extension
npm run package

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft