Skip to content

Commit

Permalink
Merge branch 'main' into feat/language-server
Browse files Browse the repository at this point in the history
  • Loading branch information
adriantam authored Aug 4, 2023
2 parents 566b33b + aa16faa commit e138ef7
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 140 deletions.
172 changes: 32 additions & 140 deletions language-configuration.json
Original file line number Diff line number Diff line change
@@ -1,145 +1,37 @@
{
"language": {
"defaultToken": "",
"tokenPostfix": ".openfga",
"keywords": [],
"operators": [],
"identifiers": {},
"comments": {
"lineComment": "#",
"comments": {
"lineComment": "#",
},
"brackets": [
["{", "}"],
["[", "]"],
["(", ")"]
],
"autoClosingPairs": [
{ "open": "{", "close": "}" },
{ "open": "[", "close": "]" },
{ "open": "(", "close": ")" },
],
"surroundingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
],
"indentationRules": {

},
"onEnterRules": [
{
"beforeText": "^model$",
"action": { "indent": "indent" }
},
"brackets": [
["{", "}"],
["[", "]"],
["(", ")"]
],
"autoClosingPairs": [
{ "open": "{", "close": "}" },
{ "open": "[", "close": "]" },
{ "open": "(", "close": ")" },
],
"surroundingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
],
"indentationRules": {
"indentNextLinePattern": "^model$",
"increaseIndentPattern": "^((type\\s+.*+)|(\\s{2}relations)|(\\s{4}define.*?))$",
"decreaseIndentPattern": "^\\s{2}schema 1\\.[01]$"
{
"beforeText": "^\\s*relations$",
"action": { "indent": "indent" }
},

"onEnterRules": [
{
"beforeText": "^\\s*(?:type|relations|model|define).*?:\\s*$",
"action": { "indent": "indent" },
},
{
"beforeText": "^\\s{2}schema 1\\.[01]$",
"action": { "indent": "outdent" },
}
],
"tokenizer": {
"root": [
{ "include": "@whitespace" },
[{}, "comment"],
[
{},
[
"@brackets",
"@whitespace",
"type.type-restrictions.value",
"@whitespace",
"@brackets"
]
],
[
{},
[
"comma.type-restrictions.delimiter",
"@whitespace",
"type.type-restrictions.value",
"@whitespace",
"@brackets"
]
],
[
{},
[
"@brackets",
"@whitespace",
"type.type-restrictions.value",
"@whitespace",
"comma.type-restrictions.delimiter"
]
],
[{}, "@brackets"],
[{}, ["schema.keyword", "@whitespace", "schema.value"]],
[{}, ["type.keyword", "@whitespace", "name.type.value"]],
[{}, ["define.keyword", "@whitespace", "name.relation.value"]],
[{}, ["union.operator", "@whitespace", "computed.relation.value"]],
[
{},
["intersection.operator", "@whitespace", "computed.relation.value"]
],
[{}, ["exclusion.operator", "@whitespace", "computed.relation.value"]],
[{}, ["as.keyword", "@whitespace", "computed.relation.value"]],
[
{},
["colon.define.delimiter", "@whitespace", "computed.relation.value"]
],
[
{},
[
"computed.tupletouserset.relation.value",
"@whitespace",
"from.keyword",
"@whitespace",
"tupleset.tupletouserset.relation.value"
]
],
[
{},
[
"type.type-restrictions.value",
"hashtag.type-restrictions.delimiter",
"relation.type-restrictions.value"
]
],
[
{},
[
"type.type-restrictions.value",
"colon.type-restrictions.delimiter",
"wildcard.type-restrictions.value"
]
],
[":", "colon.define.delimiter"],
[",", "comma.type-restrictions.delimiter"],
["but not", "exclusion.operator"],
["self", "self.keyword"],
[
{},
{
"cases": {
"and": "intersection.operator",
"or": "union.operator",
"type": "type.keyword",
"relations": "relations.keyword",
"define": "define.keyword",
"from": "from.keyword",
"as": "as.keyword",
"model": "model.keyword",
"schema": { "token": "schema.keyword" },
"@default": "tupleset.tupletouserset.relation.value"
}
}
]
],
"whitespace": [
[{}, "white"],
[{}, "comment"]
]
{
"beforeText": "^\\s{2}schema 1\\.[01]$",
"action": { "indent": "outdent" },
}
}
]
}
6 changes: 6 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,12 @@
"configuration": "./language-configuration.json"
}
],
"snippets": [
{
"language": "openfga",
"path": "./snippets.json"
}
],
"grammars": [
{
"language": "openfga",
Expand Down
28 changes: 28 additions & 0 deletions snippets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"model": {
"prefix": "model",
"body": [
"model",
" schema 1.$0"
]
},
"type": {
"prefix": "type",
"body": [
"type $0"
]
},
"relations": {
"prefix": "relations",
"body": [
"relations",
"\tdefine $1: $0"
]
},
"define": {
"prefix": "define",
"body": [
"define $1: $0"
]
}
}

0 comments on commit e138ef7

Please sign in to comment.