Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion editors/vscode/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"author": "N/A",
"repository": "https://github.com/trilogydata/trilogy-language-server",
"license": "MIT",
"version": "0.1.26",
"version": "0.1.27",
"publisher": "trilogydata",
"engines": {
"vscode": "^1.73.0"
Expand Down
7 changes: 7 additions & 0 deletions editors/vscode/src/test/grammar/comments.test.preql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# SYNTAX TEST "source.trilogy" "comments syntax highlighting"

# This is a hash comment
# <---------------------- comment.line.hash.trilogy

// This is a double-slash comment
# <----------------------------- comment.line.double-slash.trilogy
29 changes: 29 additions & 0 deletions editors/vscode/src/test/grammar/concepts.test.preql
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# SYNTAX TEST "source.trilogy" "concept types syntax highlighting"

# Test: Concept declaration types (standalone)
KEY
# <-- storage.type.concept.trilogy
METRIC
# <----- storage.type.concept.trilogy
PROPERTY
# <------- storage.type.concept.trilogy
PARAMETER
# <-------- storage.type.concept.trilogy
PARAM
# <---- storage.type.concept.trilogy
CONST
# <---- storage.type.concept.trilogy
CONSTANT
# <------- storage.type.concept.trilogy
UNIQUE
# <----- storage.type.concept.trilogy

# Test: Case insensitivity
key
# <-- storage.type.concept.trilogy
metric
# <----- storage.type.concept.trilogy
property
# <------- storage.type.concept.trilogy
const
# <---- storage.type.concept.trilogy
145 changes: 145 additions & 0 deletions editors/vscode/src/test/grammar/functions.test.preql
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
# SYNTAX TEST "source.trilogy" "functions syntax highlighting"

# Test: Mathematical functions
ABS
# <-- support.function.math.trilogy
SQRT
# <--- support.function.math.trilogy
ROUND
# <---- support.function.math.trilogy
FLOOR
# <---- support.function.math.trilogy
CEIL
# <--- support.function.math.trilogy
LOG
# <-- support.function.math.trilogy
MOD
# <-- support.function.math.trilogy
RANDOM
# <----- support.function.math.trilogy

# Test: String functions
UPPER
# <---- support.function.string.trilogy
LOWER
# <---- support.function.string.trilogy
SPLIT
# <---- support.function.string.trilogy
STRPOS
# <----- support.function.string.trilogy
SUBSTRING
# <-------- support.function.string.trilogy
CONTAINS
# <------- support.function.string.trilogy
TRIM
# <--- support.function.string.trilogy
REPLACE
# <------ support.function.string.trilogy
CONCAT
# <----- support.function.string.trilogy
REGEXP_EXTRACT
# <------------ support.function.string.trilogy
REGEXP_CONTAINS
# <------------- support.function.string.trilogy
REGEXP_REPLACE
# <------------ support.function.string.trilogy
HASH
# <--- support.function.string.trilogy

# Test: Array functions
ARRAY_SUM
# <-------- support.function.array.trilogy
ARRAY_DISTINCT
# <------------- support.function.array.trilogy
ARRAY_TO_STRING
# <-------------- support.function.array.trilogy
ARRAY_SORT
# <--------- support.function.array.trilogy
ARRAY_TRANSFORM
# <-------------- support.function.array.trilogy
ARRAY_FILTER
# <----------- support.function.array.trilogy
GENERATE_ARRAY
# <------------- support.function.array.trilogy
UNNEST
# <----- support.function.array.trilogy
UNION
# <---- support.function.array.trilogy
ARRAY_AGG
# <-------- support.function.array.trilogy

# Test: Map functions
MAP_KEYS
# <------- support.function.map.trilogy
MAP_VALUES
# <--------- support.function.map.trilogy

# Test: Generic functions
CAST
# <--- support.function.generic.trilogy
COALESCE
# <------- support.function.generic.trilogy
NULLIF
# <----- support.function.generic.trilogy
LEN
# <-- support.function.generic.trilogy

# Test: Aggregate functions
COUNT
# <---- support.function.aggregate.trilogy
COUNT_DISTINCT
# <------------- support.function.aggregate.trilogy
SUM
# <-- support.function.aggregate.trilogy
AVG
# <-- support.function.aggregate.trilogy
MAX
# <-- support.function.aggregate.trilogy
MIN
# <-- support.function.aggregate.trilogy
BOOL_AND
# <------- support.function.aggregate.trilogy
BOOL_OR
# <------ support.function.aggregate.trilogy

# Test: Date/time functions (those that don't overlap with date parts)
DAY_NAME
# <------- support.function.date.trilogy
MONTH_NAME
# <--------- support.function.date.trilogy
FORMAT_TIME
# <---------- support.function.date.trilogy
PARSE_TIME
# <--------- support.function.date.trilogy
DATE_TRUNC
# <--------- support.function.date.trilogy
DATE_TRUNCATE
# <------------ support.function.date.trilogy
DATE_PART
# <-------- support.function.date.trilogy
DATE_ADD
# <------- support.function.date.trilogy
DATE_SUB
# <------- support.function.date.trilogy
DATE_DIFF
# <-------- support.function.date.trilogy
DATE_SPINE
# <--------- support.function.date.trilogy

# Test: Constant functions
CURRENT_DATE
# <----------- support.function.constant.trilogy
CURRENT_DATETIME
# <--------------- support.function.constant.trilogy
CURRENT_TIMESTAMP
# <---------------- support.function.constant.trilogy

# Test: Window functions
ROW_NUMBER
# <--------- support.function.window.trilogy
RANK
# <--- support.function.window.trilogy
LAG
# <-- support.function.window.trilogy
LEAD
# <--- support.function.window.trilogy
159 changes: 159 additions & 0 deletions editors/vscode/src/test/grammar/keywords.test.preql
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
# SYNTAX TEST "source.trilogy" "keywords syntax highlighting"

# Test: Query keywords
SELECT
# <----- keyword.control.select.trilogy
FROM
# <--- keyword.control.flow.trilogy
WHERE
# <---- keyword.control.flow.trilogy
HAVING
# <----- keyword.control.flow.trilogy
ORDER
# <---- keyword.control.flow.trilogy
LIMIT
# <---- keyword.control.flow.trilogy
BY
# <- keyword.control.flow.trilogy

# Test: Multi-select keywords
MERGE
# <---- keyword.control.flow.trilogy
ALIGN
# <---- keyword.control.flow.trilogy
DERIVE
# <----- keyword.control.flow.trilogy
ROWSET
# <----- keyword.control.flow.trilogy
WITH
# <--- keyword.control.flow.trilogy

# Test: Persist and data operation keywords
PERSIST
# <------ keyword.control.flow.trilogy
APPEND
# <----- keyword.control.flow.trilogy
OVERWRITE
# <-------- keyword.control.flow.trilogy
INTO
# <--- keyword.control.flow.trilogy
COPY
# <--- keyword.control.flow.trilogy
CSV
# <-- keyword.control.flow.trilogy
JSON
# <--- keyword.control.flow.trilogy
PARQUET
# <------ keyword.control.flow.trilogy

# Test: Datasource keywords
datasource
# <--------- keyword.control.flow.trilogy
GRAIN
# <---- keyword.control.flow.trilogy
ADDRESS
# <------ keyword.control.flow.trilogy
QUERY
# <---- keyword.control.flow.trilogy
FILE
# <--- keyword.control.flow.trilogy
FRESHNESS
# <-------- keyword.control.flow.trilogy
COMPLETE
# <------- keyword.control.flow.trilogy
ROOT
# <--- keyword.control.flow.trilogy
PARTITION
# <-------- keyword.control.flow.trilogy
INCREMENTAL
# <---------- keyword.control.flow.trilogy
STATE
# <---- keyword.control.flow.trilogy
PUBLISHED
# <-------- keyword.control.flow.trilogy
UNPUBLISHED
# <---------- keyword.control.flow.trilogy

# Test: Statement keywords
RAW_SQL
# <------ keyword.control.flow.trilogy
VALIDATE
# <------- keyword.control.flow.trilogy
MOCK
# <--- keyword.control.flow.trilogy
PUBLISH
# <------ keyword.control.flow.trilogy
UNPUBLISH
# <-------- keyword.control.flow.trilogy
CREATE
# <----- keyword.control.flow.trilogy
SHOW
# <--- keyword.control.flow.trilogy
TYPE
# <--- keyword.control.flow.trilogy
DROP
# <--- keyword.control.flow.trilogy

# Test: Chart keywords
CHART
# <---- keyword.control.flow.trilogy
LINE
# <--- keyword.control.flow.trilogy
BAR
# <-- keyword.control.flow.trilogy
BARH
# <--- keyword.control.flow.trilogy
POINT
# <---- keyword.control.flow.trilogy
AREA
# <--- keyword.control.flow.trilogy
HEADLINE
# <------- keyword.control.flow.trilogy
DONUT
# <---- keyword.control.flow.trilogy
HEATMAP
# <------ keyword.control.flow.trilogy
BOXPLOT
# <------ keyword.control.flow.trilogy
TREEMAP
# <------ keyword.control.flow.trilogy

# Test: CASE/WHEN conditional keywords
CASE
# <--- keyword.control.conditional.trilogy
WHEN
# <--- keyword.control.conditional.trilogy
THEN
# <--- keyword.control.conditional.trilogy
ELSE
# <--- keyword.control.conditional.trilogy
END
# <-- keyword.control.conditional.trilogy

# Test: Filter and window keywords
FILTER
# <----- keyword.control.filter.trilogy
OVER
# <--- keyword.control.filter.trilogy

# Test: Ordering keywords
ASC
# <-- keyword.other.order.trilogy
DESC
# <--- keyword.other.order.trilogy
NULLS
# <---- keyword.other.order.trilogy
FIRST
# <---- keyword.other.order.trilogy
LAST
# <--- keyword.other.order.trilogy

# Test: Import keywords
IMPORT
# <----- keyword.control.import.trilogy
AS
# <- keyword.control.import.trilogy

# Test: Function definition
DEF
# <-- storage.type.function.trilogy
Loading