mirror of
https://github.com/pnx/tree-sitter-dotenv
synced 2026-08-30 17:18:13 +02:00
Compare commits
No commits in common. "c0570dec1d2f99b81d7c38d3fc8d76323a6abfc9" and "1f5baa64dd97ab3c4bbb2eaa6f27b42e634b4fd4" have entirely different histories.
c0570dec1d
...
1f5baa64dd
11 changed files with 7 additions and 146 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
cmake_minimum_required(VERSION 3.13)
|
cmake_minimum_required(VERSION 3.13)
|
||||||
|
|
||||||
project(tree-sitter-dotenv
|
project(tree-sitter-dotenv
|
||||||
VERSION "1.0.1"
|
VERSION "1.0.0"
|
||||||
DESCRIPTION "Dotenv grammar for tree-sitter"
|
DESCRIPTION "Dotenv grammar for tree-sitter"
|
||||||
HOMEPAGE_URL "https://github.com/pnx/tree-sitter-dotenv"
|
HOMEPAGE_URL "https://github.com/pnx/tree-sitter-dotenv"
|
||||||
LANGUAGES C)
|
LANGUAGES C)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
[package]
|
[package]
|
||||||
name = "tree-sitter-dotenv"
|
name = "tree-sitter-dotenv"
|
||||||
description = "Dotenv grammar for tree-sitter"
|
description = "Dotenv grammar for tree-sitter"
|
||||||
version = "1.0.1"
|
version = "1.0.0"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
keywords = ["incremental", "parsing", "tree-sitter", "dotenv"]
|
keywords = ["incremental", "parsing", "tree-sitter", "dotenv"]
|
||||||
|
|
|
||||||
2
Makefile
generated
2
Makefile
generated
|
|
@ -2,7 +2,7 @@ ifeq ($(OS),Windows_NT)
|
||||||
$(error Windows is not supported)
|
$(error Windows is not supported)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
VERSION := 1.0.1
|
VERSION := 1.0.0
|
||||||
|
|
||||||
LANGUAGE_NAME := tree-sitter-dotenv
|
LANGUAGE_NAME := tree-sitter-dotenv
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,6 @@
|
||||||
|
|
||||||
To use this parser in neovim, configure [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter).
|
To use this parser in neovim, configure [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter).
|
||||||
|
|
||||||
For minimal, ready-to-run local test configs (both `main` and legacy `master`), see
|
|
||||||
[test/nvim/README.md](../test/nvim/README.md).
|
|
||||||
|
|
||||||
### nvim-treesitter `main` (new API)
|
### nvim-treesitter `main` (new API)
|
||||||
|
|
||||||
Use this if you are on the rewritten `main` branch (Neovim 0.12+):
|
Use this if you are on the rewritten `main` branch (Neovim 0.12+):
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "tree-sitter-dotenv",
|
"name": "tree-sitter-dotenv",
|
||||||
"version": "1.0.1",
|
"version": "1.0.0",
|
||||||
"description": "Dotenv grammar for tree-sitter",
|
"description": "Dotenv grammar for tree-sitter",
|
||||||
"repository": "github:pnx/tree-sitter-dotenv",
|
"repository": "github:pnx/tree-sitter-dotenv",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
|
||||||
[project]
|
[project]
|
||||||
name = "tree-sitter-dotenv"
|
name = "tree-sitter-dotenv"
|
||||||
description = "Dotenv grammar for tree-sitter"
|
description = "Dotenv grammar for tree-sitter"
|
||||||
version = "1.0.1"
|
version = "1.0.0"
|
||||||
keywords = ["incremental", "parsing", "tree-sitter", "dotenv"]
|
keywords = ["incremental", "parsing", "tree-sitter", "dotenv"]
|
||||||
classifiers = [
|
classifiers = [
|
||||||
"Intended Audience :: Developers",
|
"Intended Audience :: Developers",
|
||||||
|
|
|
||||||
2
src/parser.c
generated
2
src/parser.c
generated
|
|
@ -1329,7 +1329,7 @@ TS_PUBLIC const TSLanguage *tree_sitter_dotenv(void) {
|
||||||
.metadata = {
|
.metadata = {
|
||||||
.major_version = 1,
|
.major_version = 1,
|
||||||
.minor_version = 0,
|
.minor_version = 0,
|
||||||
.patch_version = 1,
|
.patch_version = 0,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
return &language;
|
return &language;
|
||||||
|
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
# Neovim test configs
|
|
||||||
|
|
||||||
This directory contains minimal Neovim configs for testing `tree-sitter-dotenv` with both
|
|
||||||
legacy and rewritten `nvim-treesitter`.
|
|
||||||
|
|
||||||
## Files
|
|
||||||
|
|
||||||
- `init-main.lua` → `nvim-treesitter` `main` (new API)
|
|
||||||
- `init-master.lua` → `nvim-treesitter` `master` (legacy API)
|
|
||||||
|
|
||||||
## Run
|
|
||||||
|
|
||||||
From the repository root, use isolated app names so test state does not mix:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
NVIM_APPNAME=ts-dotenv-main nvim -u "$(pwd)/test/nvim/init-main.lua"
|
|
||||||
NVIM_APPNAME=ts-dotenv-master nvim -u "$(pwd)/test/nvim/init-master.lua"
|
|
||||||
```
|
|
||||||
|
|
||||||
## Install parser
|
|
||||||
|
|
||||||
Run:
|
|
||||||
|
|
||||||
```vim
|
|
||||||
:TSUpdate
|
|
||||||
:TSInstall dotenv
|
|
||||||
```
|
|
||||||
|
|
||||||
## Verify
|
|
||||||
|
|
||||||
Open a `.env` file and check:
|
|
||||||
|
|
||||||
```vim
|
|
||||||
:echo &filetype
|
|
||||||
```
|
|
||||||
|
|
||||||
Expected output: `dotenv`.
|
|
||||||
|
|
||||||
### Show the syntax tree
|
|
||||||
|
|
||||||
```vim
|
|
||||||
:InspectTree
|
|
||||||
```
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
||||||
local script_dir = vim.fn.fnamemodify(debug.getinfo(1, "S").source:sub(2), ":p:h")
|
|
||||||
local repo_root = vim.fn.fnamemodify(vim.fn.fnamemodify(script_dir, ":h"), ":h")
|
|
||||||
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
||||||
if not vim.loop.fs_stat(lazypath) then
|
|
||||||
vim.fn.system({
|
|
||||||
"git",
|
|
||||||
"clone",
|
|
||||||
"--filter=blob:none",
|
|
||||||
"https://github.com/folke/lazy.nvim.git",
|
|
||||||
"--branch=stable",
|
|
||||||
lazypath,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
vim.opt.runtimepath:prepend(lazypath)
|
|
||||||
|
|
||||||
require("lazy").setup({
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
branch = "main",
|
|
||||||
lazy = false,
|
|
||||||
config = function (_, opts)
|
|
||||||
require("nvim-treesitter").setup({})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("User", {
|
|
||||||
pattern = "TSUpdate",
|
|
||||||
callback = function()
|
|
||||||
require("nvim-treesitter.parsers").dotenv = {
|
|
||||||
install_info = {
|
|
||||||
path = repo_root,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.filetype.add({
|
|
||||||
filename = { [".env"] = "dotenv" },
|
|
||||||
pattern = { [".env%..+"] = "dotenv" },
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
pattern = "dotenv",
|
|
||||||
callback = function()
|
|
||||||
pcall(vim.treesitter.start)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
local script_dir = vim.fn.fnamemodify(debug.getinfo(1, "S").source:sub(2), ":p:h")
|
|
||||||
local repo_root = vim.fn.fnamemodify(vim.fn.fnamemodify(script_dir, ":h"), ":h")
|
|
||||||
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
||||||
if not vim.loop.fs_stat(lazypath) then
|
|
||||||
vim.fn.system({
|
|
||||||
"git",
|
|
||||||
"clone",
|
|
||||||
"--filter=blob:none",
|
|
||||||
"https://github.com/folke/lazy.nvim.git",
|
|
||||||
"--branch=stable",
|
|
||||||
lazypath,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
vim.opt.runtimepath:prepend(lazypath)
|
|
||||||
|
|
||||||
require("lazy").setup({
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
branch = "master",
|
|
||||||
lazy = false,
|
|
||||||
build = ":TSUpdate",
|
|
||||||
opts = {
|
|
||||||
highlight = { enable = true },
|
|
||||||
},
|
|
||||||
config = function(_, opts)
|
|
||||||
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
|
|
||||||
parser_config.dotenv = {
|
|
||||||
install_info = {
|
|
||||||
url = repo_root,
|
|
||||||
files = { "src/parser.c", "src/scanner.c" },
|
|
||||||
},
|
|
||||||
filetype = "dotenv",
|
|
||||||
}
|
|
||||||
|
|
||||||
vim.filetype.add({
|
|
||||||
filename = { [".env"] = "dotenv" },
|
|
||||||
pattern = { [".env%..+"] = "dotenv" },
|
|
||||||
})
|
|
||||||
end
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"description": "Dotenv grammar for tree-sitter",
|
"description": "Dotenv grammar for tree-sitter",
|
||||||
"authors": [
|
"authors": [
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue