A tree-sitter grammar for immigrant, a database schema definition language.
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
parser_config.immigrant = {
install_info = {
url = "https://github.com/deltarocks/tree-sitter-immigrant",
files = { "src/parser.c" },
branch = "main",
},
used_by = { "schema" },
}
require'nvim-treesitter.configs'.setup {
ensure_installed = { "immigrant" },
highlight = {
enable = true,
},
}scalar user_id = sql"INTEGER" @index;
scalar post_id = sql"INTEGER" @index;
scalar email = sql"TEXT";
scalar timestamp = sql"TIMESTAMP";
scalar plaintext = sql"TEXT";
enum user_group {
admin "superuser";
normal;
};
table User {
user_id @primary_key;
user_group;
email @unique;
created_at: timestamp @default(now());
};
table Post {
post_id @primary_key;
user_id ~ User;
title: plaintext;
};- Immigrant
-
The main immigrant project
- Tree-sitter
-
The parser generator framework
Licensed under either of:
-
Apache License, Version 2.0 (LICENSE-Apache-2.0)
-
MIT license (LICENSE-MIT)
at your option.