Skip to content

Tree-sitter grammar for immigrant language

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-Apache-2.0
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

deltarocks/tree-sitter-immigrant

Repository files navigation

tree-sitter-immigrant

immigrant logo by https://www.behance.net/fluqua

A tree-sitter grammar for immigrant, a database schema definition language.

Installation

Neovim

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,
  },
}

Example

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;
};

Development

Building

deno task install
deno task build
deno task test
Immigrant

The main immigrant project

Tree-sitter

The parser generator framework

License

Licensed under either of:

at your option.

About

Tree-sitter grammar for immigrant language

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-Apache-2.0
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published