awesome-repositories.com
المدونة
MCP
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
L3MON4D3 avatar

L3MON4D3/LuaSnip

0
View on GitHub↗
4,276 نجوم·265 تفرعات·Lua·apache-2.0·6 مشاهدات

LuaSnip

LuaSnip is a scriptable text expansion framework and Lua-based snippet engine. It allows for the creation of reusable text templates and complex nested structures that expand into a buffer using triggers and jumpable tabstops.

The system distinguishes itself by using abstract syntax trees to trigger expansions based on structural code patterns rather than simple text matching. It features a multi-format importer capable of parsing snippet definitions from community standards such as LSP and SnipMate.

The framework covers dynamic code generation through Lua functions, regex-based capture grouping, and interactive choice nodes for cycling through text options. It also provides context-aware expansion based on file types and syntax tree positions, alongside postfix buffer transformations to wrap or alter existing text.

The engine supports lazy-loading of snippet collections from external files and directories to optimize memory usage.

Features

  • Neovim Snippet Engines - Ships a scriptable Lua-based snippet engine for Neovim with tabstops, dynamic content, and tree-sitter integration.
  • Structural AST Triggers - Uses abstract syntax tree patterns as triggers for snippet expansion instead of text matching.
  • AST Node Matching - Matches snippet expansions against the abstract syntax tree of the file, enabling context-sensitive completions.
  • Multi-Format Snippet Importers - Imports snippet collections from VSCode, SnipMate, and LSP formats into a unified snippet system for cross-editor compatibility.
  • Tabstop Navigation - Defines text templates with numbered placeholders for jumping through after expansion.
  • Tabstop Navigation - Moves the cursor through numbered placeholders within an expanded snippet for sequential text entry.
  • Context-Aware Triggers - Triggers snippet expansions based on abstract syntax tree patterns rather than simple text matching.
  • LSP Snippet String Parsers - Converts a string in the LSP snippet format into a LuaSnip snippet or snippet node.
  • Lua Snippet Definitions - Creates snippets programmatically using Lua code with function, dynamic, choice, and restore nodes.
  • Dynamic Snippet Content Generation - Runs Lua code at expansion time to produce snippet content that adapts to editor state or user input.
  • Choice Node Cycling - Switches between alternative text options within a choice node while editing a snippet.
  • Snippet Expanders - Expands Lua-defined text templates with tabstops and placeholders for interactive editing.
  • Auto-Trigger Snippets - Expands a snippet automatically as soon as the trigger text is typed, without a key press.
  • Snippet Templates - Defines text expansion patterns with placeholders, tabstops, and dynamic content for code insertion.
  • Snippet Syntax Parsing - Parses snippet definitions from LSP, VSCode, and SnipMate formats into a unified engine.
  • Choice Presentation Nodes - Provides interactive choice nodes that let users switch between alternative text options during snippet editing.
  • Contextual Snippet Activation - Activates specific snippet collections based on detected file type or syntax tree position.
  • Postfix Buffer Transformations - Wraps text immediately before the trigger with a template for IDE-style postfix completions.
  • Snippet Collection Loading - Reads snippet definitions from VSCode, SnipMate, or Lua files on disk and registers them for the appropriate filetypes.
  • Programmatic Snippet APIs - Provides a programmatic API to register new snippets via the add_snippets function.
  • Text Expansion Snippets - Creates text-expansion snippets by pairing a trigger pattern with a tree of nodes.
  • Lua-Based Snippet Templates - Builds reusable text templates using Lua scripting for complex, context-aware snippet generation.
  • Interactive Snippet Expansion - Navigates through tabstops, choices, and computed fields within an expanded snippet for efficient text entry.
  • Conditional Expansion Predicates - Applies Lua functions or logical conditions that must be true for a snippet to trigger.
  • Scriptable Dynamic Content - Runs Lua functions that read other snippet nodes and insert computed results dynamically.
  • Pattern-Based Triggers - Matches the text before the cursor against a Lua pattern, ECMAScript regex, or Vim regex and expands the snippet on match.
  • Regex Triggers - Fires a snippet when typed text matches a regular expression pattern.
  • VSCode-Style Snippet Creators - Reads snippet collections from VSCode-style package.json and JSON files and registers them for expansion.
  • Tree-Sitter Prefix Matchers - Expands a snippet only when a specific tree-sitter node type or query capture precedes the trigger.
  • Visual Selection Capture - Captures the current visual selection into snippet variables (TMSELECTEDTEXT, LSSELECTRAW) for use in expansions.
  • Snippet Environment Variables - Provides LSP-style variables (TMCURRENTLINE, TMSELECTEDTEXT, etc.) and custom namespaced variables inside snippet nodes.
  • Snippet - Reads LSP‑defined variables (TMCURRENTLINE, TM_FILENAME, etc.) and custom variables inside snippet functions.
  • Snippet Frameworks - Creates reusable text templates with Lua scripting, supporting dynamic content, tabstops, and interactive fields.
  • Runtime Node Evaluations - Expands snippets by evaluating a tree of nodes that can include functions, lambdas, and interactive fields at runtime.
  • Snippet Placeholder References - Inserts the content of one placeholder into another location using lambdas or function nodes.
  • Postfix Prefix Matchers - Triggers a postfix snippet only when a specific tree‑sitter node sits in front of the trigger.
  • Node Insertions - Inserts a copy of the text from a referenced node at the current position.
  • Snippet Text Repeaters - Inserts the exact content of a referenced node at the current position within a snippet.
  • State-Preserving Choice Nodes - Implements choice nodes that retain user edits in shared restore nodes when switching alternatives.
  • Event Callbacks - Ships a callback system that fires on node enter, leave, choice change, and pre-expand events.
  • Nested Snippet Sessions - Embeds one snippet inside another so expanding the inner snippet replaces a placeholder.
  • Placeholder Marker Snippet Definitions - Writes snippet bodies as strings with delimiters replaced by node objects to reduce boilerplate.
  • SnipMate Syntax Parsers - Converts a string in the SnipMate format, including backtick evaluation, into a runnable LuaSnip snippet.
  • Snippet Format Strings - Provides a format string syntax with placeholder markers to define snippet bodies more readably.
  • Lazy Snippet Loaders - Defers loading snippet collections until a buffer with a matching filetype is opened to optimize memory usage.
  • Lua File Snippet Loaders - Reads snippet collections from Lua files that return snippet tables and registers them for expansion.
  • SnipMate Collection Loaders - Imports snippet collections formatted for SnipMate, including custom .snippets files, into the snippet engine.
  • Editable Computed Text Insertions - Inserts lambda-computed text as editable nodes that users can override after expansion.
  • Computed Value Insertions - Evaluates a function once when a snippet expands and inserts the computed return value.
  • Logical Condition Combinators - Joins multiple expansion conditions with AND, OR, NOT, XOR, or XNOR operators to form complex rules.
  • Behavioral Configuration - Sets global preferences such as root linking, autosnippet enabling, update events, and filetype functions.
  • Event-Driven Callbacks - Attaches functions that run on node entry, exit, or choice changes to react to snippet lifecycle events.
  • Conditional Fallback Insertions - Inserts conditional fallback text based on whether a referenced snippet node is empty.
  • Editable Computed Text Insertions - Inserts lambda-computed text as editable nodes that users can override after expansion.
  • Node Content Conditional Insertions - Inserts text conditionally by checking a predicate against a snippet node's content.
  • Predicate-Based Conditional Insertions - Inserts text conditionally by evaluating a predicate against referenced node content.
  • Snippet Engine Configurations - Sets options like root linking, autosnippet enabling, update events, and filetype resolution in a central setup call.
  • Snippet Management - Lua-based snippet engine.

سجل النجوم

مخطط تاريخ النجوم لـ l3mon4d3/luasnipمخطط تاريخ النجوم لـ l3mon4d3/luasnip

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ LuaSnip

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع LuaSnip.
  • ms-jpq/coq_nvimالصورة الرمزية لـ ms-jpq

    ms-jpq/coq_nvim

    3,813عرض على GitHub↗

    coq_nvim is an asynchronous code completion engine for Neovim. It aggregates suggestions from multiple sources, including language servers, tag files, and local buffers, to provide non-blocking code completion. The engine distinguishes itself through a typo-resistant fuzzy completion filter and a two-stage weighted ranking system that prioritizes candidates based on recency and proximity. It utilizes an embedded SQLite database for local caching and background symbol indexing to accelerate lookups without freezing the editor interface. The project also includes a system for defining and expa

    Luacompletionneovimneovim-plugin
    عرض على GitHub↗3,813
  • saghen/blink.cmpالصورة الرمزية لـ saghen

    saghen/blink.cmp

    5,951عرض على GitHub↗
    Luaneovimneovim-lua-pluginneovim-plugin
    عرض على GitHub↗5,951
  • sirver/ultisnipsالصورة الرمزية لـ SirVer

    SirVer/ultisnips

    7,693عرض على GitHub↗

    UltiSnips is a snippet engine for the Vim text editor designed to expand text templates and manage dynamic placeholders. It provides a system for inserting predefined blocks of text and boilerplate code to automate repetitive writing tasks. The engine features a placeholder manager that enables stateful navigation between input areas and bidirectional field synchronization, which mirrors text entered in one field across all linked locations in real time. It also includes a dynamic text interpolator that executes scripts to inject calculated values or external data into snippets during expansi

    Pythonpluginsnippetsultisnips
    عرض على GitHub↗7,693
  • nvim-mini/mini.nvimالصورة الرمزية لـ nvim-mini

    nvim-mini/mini.nvim

    9,325عرض على GitHub↗

    mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls

    Lualuamini-nvimneovim
    عرض على GitHub↗9,325
عرض جميع البدائل الـ 30 لـ LuaSnip→

الأسئلة الشائعة

ما هي وظيفة l3mon4d3/luasnip؟

LuaSnip is a scriptable text expansion framework and Lua-based snippet engine. It allows for the creation of reusable text templates and complex nested structures that expand into a buffer using triggers and jumpable tabstops.

ما هي الميزات الرئيسية لـ l3mon4d3/luasnip؟

الميزات الرئيسية لـ l3mon4d3/luasnip هي: Neovim Snippet Engines, Structural AST Triggers, AST Node Matching, Multi-Format Snippet Importers, Tabstop Navigation, Context-Aware Triggers, LSP Snippet String Parsers, Lua Snippet Definitions.

ما هي البدائل مفتوحة المصدر لـ l3mon4d3/luasnip؟

تشمل البدائل مفتوحة المصدر لـ l3mon4d3/luasnip: ms-jpq/coq_nvim — coq_nvim is an asynchronous code completion engine for Neovim. It aggregates suggestions from multiple sources,… saghen/blink.cmp. sirver/ultisnips — UltiSnips is a snippet engine for the Vim text editor designed to expand text templates and manage dynamic… nvim-mini/mini.nvim — mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation,… honza/vim-snippets — vim-snippets is a library of pre-defined code templates and boilerplates for numerous programming languages designed… sergeche/emmet-sublime — This project is a Sublime Text plugin and web development editor extension that functions as a markup abbreviation…