From 77c6930b6df81e9295f51dce95c3721fdca30154 Mon Sep 17 00:00:00 2001 From: ph1losof Date: Wed, 7 Jan 2026 17:51:01 +0100 Subject: [PATCH] feat(edf): add parser and queries --- lua/nvim-treesitter/parsers.lua | 8 +++++++ runtime/queries/edf/folds.scm | 6 +++++ runtime/queries/edf/highlights.scm | 37 ++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 runtime/queries/edf/folds.scm create mode 100644 runtime/queries/edf/highlights.scm diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index b7037d245..f53ad6ff1 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -447,6 +447,14 @@ return { maintainers = { '@ValdezFOmar' }, tier = 2, }, + edf = { + install_info = { + revision = 'c983376fc85491d06b7c2b7fdd945bc157c414ed', + url = 'https://github.com/ph1losof/tree-sitter-edf', + }, + maintainers = { '@ph1losof' }, + tier = 2, + }, eds = { install_info = { revision = '26d529e6cfecde391a03c21d1474eb51e0285805', diff --git a/runtime/queries/edf/folds.scm b/runtime/queries/edf/folds.scm new file mode 100644 index 000000000..2c8794279 --- /dev/null +++ b/runtime/queries/edf/folds.scm @@ -0,0 +1,6 @@ +; Folds for EDF + +[ + (double_quoted_string) + (single_quoted_string) +] @fold diff --git a/runtime/queries/edf/highlights.scm b/runtime/queries/edf/highlights.scm new file mode 100644 index 000000000..b0ee1b466 --- /dev/null +++ b/runtime/queries/edf/highlights.scm @@ -0,0 +1,37 @@ +; Highlighting queries for EDF (Ecolog Dotenv File Format) + +; Comments +(comment) @comment +(comment_content) @comment +(inline_comment) @comment + +; Export keyword +(export_keyword) @keyword + +; Keys (variable names) +(key) @property + +; String values +(single_quoted_string) @string +(single_quoted_content) @string +(double_quoted_string) @string +(double_quoted_content) @string +(unquoted_content) @string + +; Escape sequences in double-quoted strings +(escape_sequence) @string.escape + +; Variable expansion ${VAR} and ${VAR:-default} +(variable_expansion) @variable + +; Simple variable $VAR +(simple_variable) @variable + +; Command substitution $(command) and `command` +(command_substitution) @function.macro +(backtick_substitution) @function.macro + +; Operators and punctuation +"=" @operator +"'" @punctuation.delimiter +"\"" @punctuation.delimiter