Skip to main content

Crate reovim_module_snippet

Crate reovim_module_snippet 

Source
Expand description

Snippet expansion module for reovim (#136).

Provides TextMate/LSP-compatible snippet expansion with intelligent tab stop navigation, placeholder mirroring, variable resolution, regex transforms, and choice support.

§Architecture

  • ast - Snippet element types (full EBNF grammar coverage)
  • parser - Recursive descent parser (full TextMate/LSP grammar)
  • engine - Active snippet tracking with position updates
  • transform - Regex transform execution with case modifiers
  • variables - Built-in variable resolver (TM_FILENAME, etc.)
  • provider - Snippet provider trait and registry
  • loader - JSON file loader (VSCode-compatible format)
  • resolver - Mode key resolver for snippet navigation mode
  • state - Per-client session extension state
  • command - Command handlers (expand, jump next/prev, cancel)

§Commands

  • snippet:expand (<C-s> in insert mode) - Expand snippet at cursor
  • snippet:jump-next (<Tab> in snippet mode) - Next tab stop
  • snippet:jump-prev (<S-Tab> in snippet mode) - Previous tab stop
  • snippet:cancel (<Esc> in snippet mode) - Cancel snippet navigation

Modules§

ast
Snippet AST types covering the full VSCode/LSP EBNF grammar (#136).
command
Snippet command handlers (#136, #529).
engine
Active snippet engine (#136).
ids
Command and mode ID constants for the snippet module (#136).
inheritance
Filetype inheritance for snippet resolution (#529).
loader
JSON snippet file loader (#136).
loader_friendly
Friendly-snippets provider (#529).
parser
Recursive descent snippet parser (#136).
project
Project root detection for project-local snippets (#529).
provider
Snippet provider trait and registry (#136, #529).
resolver
Snippet mode key resolver (#136).
state
Per-client snippet session state (#136).
transform
Regex transform execution for snippet tab stops and variables.
variables
Variable resolution for snippet expansion (#136, Phase 3).

Structs§

SnippetModule
Snippet expansion module.

Functions§

build_registry
Build a snippet registry from the module data directory.