Skip to content

Commit

Permalink
Update inbuilt function detection
Browse files Browse the repository at this point in the history
  • Loading branch information
glennsarti committed Aug 15, 2024
1 parent b1af6b5 commit 578b8bf
Show file tree
Hide file tree
Showing 9 changed files with 302 additions and 14 deletions.
15 changes: 13 additions & 2 deletions syntaxes/sentinel.tmGrammar.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions tests/snapshot/sentinel/functions.sentinel.snap
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,8 @@
> print(a) // 42
#^^^^ source.sentinel
# ^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^^ source.sentinel
# ^ source.sentinel
# ^^^ source.sentinel
# ^^ source.sentinel comment.line.double-slash.sentinel punctuation.definition.comment.sentinel
# ^^^ source.sentinel comment.line.double-slash.sentinel
> return undefined
Expand All @@ -90,7 +91,8 @@
>
>print(a) // undefined
#^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^^ source.sentinel
# ^ source.sentinel
# ^^^ source.sentinel
# ^^ source.sentinel comment.line.double-slash.sentinel punctuation.definition.comment.sentinel
# ^^^^^^^^^^ source.sentinel comment.line.double-slash.sentinel
>
Expand Down
53 changes: 53 additions & 0 deletions tests/snapshot/sentinel/inbuilt_funcs.sentinel
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# https://developer.hashicorp.com/sentinel/docs/functions

append (foo, bar)
append = "baz"
something = append

compare (foo, bar)
compare = "baz"
something = compare

delete (foo, bar)
delete = "baz"
something = delete

error (foo, bar)
error = "baz"
something = error

keys (foo, bar)
keys = "baz"
something = keys

length (foo, bar)
length = "baz"
something = length

print (foo, bar)
print = "baz"
something = print

range (foo, bar)
range = "baz"
something = range

values (foo, bar)
values = "baz"
something = values

int (foo, bar)
int = "baz"
something = int

float (foo, bar)
float = "baz"
something = float

string (foo, bar)
string = "baz"
something = string

bool (foo, bar)
bool = "baz"
something = bool
212 changes: 212 additions & 0 deletions tests/snapshot/sentinel/inbuilt_funcs.sentinel.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,212 @@
># https://developer.hashicorp.com/sentinel/docs/functions
#^ source.sentinel comment.line.number-sign.sentinel punctuation.definition.comment.sentinel
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.sentinel comment.line.number-sign.sentinel
>
>append (foo, bar)
#^^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^ source.sentinel
# ^^^^^^^^^^ source.sentinel
>append = "baz"
#^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^ source.sentinel string.quoted.double.untitled
# ^^^ source.sentinel string.quoted.double.untitled
# ^ source.sentinel string.quoted.double.untitled
>something = append
#^^^^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^^^^^^^^ source.sentinel
>
>compare (foo, bar)
#^^^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^ source.sentinel
# ^^^^^^^^^^ source.sentinel
>compare = "baz"
#^^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^ source.sentinel string.quoted.double.untitled
# ^^^ source.sentinel string.quoted.double.untitled
# ^ source.sentinel string.quoted.double.untitled
>something = compare
#^^^^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^^^^^^^^^ source.sentinel
>
>delete (foo, bar)
#^^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^ source.sentinel
# ^^^^^^^^^^ source.sentinel
>delete = "baz"
#^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^ source.sentinel string.quoted.double.untitled
# ^^^ source.sentinel string.quoted.double.untitled
# ^ source.sentinel string.quoted.double.untitled
>something = delete
#^^^^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^^^^^^^^ source.sentinel
>
>error (foo, bar)
#^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^ source.sentinel
# ^^^^^^^^^^ source.sentinel
>error = "baz"
#^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^ source.sentinel string.quoted.double.untitled
# ^^^ source.sentinel string.quoted.double.untitled
# ^ source.sentinel string.quoted.double.untitled
>something = error
#^^^^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^^^^^^^ source.sentinel
>
>keys (foo, bar)
#^^^^ source.sentinel support.function.builtin.sentinel
# ^^^ source.sentinel
# ^^^^^^^^^^ source.sentinel
>keys = "baz"
#^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^ source.sentinel string.quoted.double.untitled
# ^^^ source.sentinel string.quoted.double.untitled
# ^ source.sentinel string.quoted.double.untitled
>something = keys
#^^^^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^^^^^^ source.sentinel
>
>length (foo, bar)
#^^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^ source.sentinel
# ^^^^^^^^^^ source.sentinel
>length = "baz"
#^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^ source.sentinel string.quoted.double.untitled
# ^^^ source.sentinel string.quoted.double.untitled
# ^ source.sentinel string.quoted.double.untitled
>something = length
#^^^^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^^^^^^^^ source.sentinel
>
>print (foo, bar)
#^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^ source.sentinel
# ^^^^^^^^^^ source.sentinel
>print = "baz"
#^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^ source.sentinel string.quoted.double.untitled
# ^^^ source.sentinel string.quoted.double.untitled
# ^ source.sentinel string.quoted.double.untitled
>something = print
#^^^^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^^^^^^^ source.sentinel
>
>range (foo, bar)
#^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^ source.sentinel
# ^^^^^^^^^^ source.sentinel
>range = "baz"
#^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^ source.sentinel string.quoted.double.untitled
# ^^^ source.sentinel string.quoted.double.untitled
# ^ source.sentinel string.quoted.double.untitled
>something = range
#^^^^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^^^^^^^ source.sentinel
>
>values (foo, bar)
#^^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^ source.sentinel
# ^^^^^^^^^^ source.sentinel
>values = "baz"
#^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^ source.sentinel string.quoted.double.untitled
# ^^^ source.sentinel string.quoted.double.untitled
# ^ source.sentinel string.quoted.double.untitled
>something = values
#^^^^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^^^^^^^^ source.sentinel
>
>int (foo, bar)
#^^^ source.sentinel support.function.builtin.sentinel
# ^^^ source.sentinel
# ^^^^^^^^^^ source.sentinel
>int = "baz"
#^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^ source.sentinel string.quoted.double.untitled
# ^^^ source.sentinel string.quoted.double.untitled
# ^ source.sentinel string.quoted.double.untitled
>something = int
#^^^^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^^^^^ source.sentinel
>
>float (foo, bar)
#^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^ source.sentinel
# ^^^^^^^^^^ source.sentinel
>float = "baz"
#^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^ source.sentinel string.quoted.double.untitled
# ^^^ source.sentinel string.quoted.double.untitled
# ^ source.sentinel string.quoted.double.untitled
>something = float
#^^^^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^^^^^^^ source.sentinel
>
>string (foo, bar)
#^^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^ source.sentinel
# ^^^^^^^^^^ source.sentinel
>string = "baz"
#^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^ source.sentinel string.quoted.double.untitled
# ^^^ source.sentinel string.quoted.double.untitled
# ^ source.sentinel string.quoted.double.untitled
>something = string
#^^^^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^^^^^^^^ source.sentinel
>
>bool (foo, bar)
#^^^^ source.sentinel support.function.builtin.sentinel
# ^^^ source.sentinel
# ^^^^^^^^^^ source.sentinel
>bool = "baz"
#^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^ source.sentinel string.quoted.double.untitled
# ^^^ source.sentinel string.quoted.double.untitled
# ^ source.sentinel string.quoted.double.untitled
>something = bool
#^^^^^^^^^^ source.sentinel
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^^^^^^ source.sentinel
>
9 changes: 6 additions & 3 deletions tests/snapshot/sentinel/lists.sentinel.snap
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^^^^^^ source.sentinel support.function.builtin.sentinel
# ^^ source.sentinel
# ^ source.sentinel
# ^ source.sentinel
# ^ source.sentinel constant.numeric.number.sentinel
# ^ source.sentinel
# ^ source.sentinel constant.numeric.number.sentinel
Expand All @@ -61,7 +62,8 @@
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^^^^^^ source.sentinel support.function.builtin.sentinel
# ^^ source.sentinel
# ^ source.sentinel
# ^ source.sentinel
# ^ source.sentinel constant.numeric.number.sentinel
# ^ source.sentinel
# ^ source.sentinel constant.numeric.number.sentinel
Expand All @@ -77,7 +79,8 @@
# ^ source.sentinel keyword.operator.symbol.sentinel
# ^ source.sentinel
# ^^^^^^ source.sentinel support.function.builtin.sentinel
# ^^ source.sentinel
# ^ source.sentinel
# ^ source.sentinel
# ^ source.sentinel constant.numeric.number.sentinel
# ^ source.sentinel
# ^ source.sentinel constant.numeric.number.sentinel
Expand Down
3 changes: 2 additions & 1 deletion tests/snapshot/sentinel/logging_errors.sentinel.snap
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
# ^^^ source.sentinel
>print(one_is_zero) // false
#^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^^^^^^^^^^^^ source.sentinel
# ^ source.sentinel
# ^^^^^^^^^^^^^ source.sentinel
# ^^ source.sentinel comment.line.double-slash.sentinel punctuation.definition.comment.sentinel
# ^^^^^^ source.sentinel comment.line.double-slash.sentinel
>
3 changes: 2 additions & 1 deletion tests/snapshot/sentinel/loops.sentinel.snap
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@
> append(list, name)
#^^^^ source.sentinel
# ^^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^^^^^^^^^^^ source.sentinel
# ^ source.sentinel
# ^^^^^^^^^^^^ source.sentinel
>}
#^^ source.sentinel
>
Expand Down
6 changes: 4 additions & 2 deletions tests/snapshot/sentinel/maps.sentinel.snap
Original file line number Diff line number Diff line change
Expand Up @@ -181,12 +181,14 @@
# ^^^ source.sentinel
>keys(data) // ["b", "a"]
#^^^^ source.sentinel support.function.builtin.sentinel
# ^^^^^^^^^^^^^ source.sentinel
# ^ source.sentinel
# ^^^^^^^^^^^^ source.sentinel
# ^^ source.sentinel comment.line.double-slash.sentinel punctuation.definition.comment.sentinel
# ^^^^^^^^^^^ source.sentinel comment.line.double-slash.sentinel
>values(data) // [2, 3]
#^^^^^^ source.sentinel support.function.builtin.sentinel
# ^^^^^^^^^^^ source.sentinel
# ^ source.sentinel
# ^^^^^^^^^^ source.sentinel
# ^^ source.sentinel comment.line.double-slash.sentinel punctuation.definition.comment.sentinel
# ^^^^^^^ source.sentinel comment.line.double-slash.sentinel
>
Expand Down
Loading

0 comments on commit 578b8bf

Please sign in to comment.