first commit

This commit is contained in:
chakr 2022-09-04 00:36:31 -04:00
commit e68bff0927
9 changed files with 174 additions and 0 deletions

3
.gitattributes vendored Normal file
View File

@ -0,0 +1,3 @@
# Set default behavior to automatically normalize line endings.
* text=auto

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
node_modules
*.vsix

17
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,17 @@
// A launch configuration that launches the extension inside a new window
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
"version": "0.2.0",
"configurations": [
{
"name": "Extension",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
]
}
]
}

4
.vscodeignore Normal file
View File

@ -0,0 +1,4 @@
.vscode/**
.vscode-test/**
.gitignore
vsc-extension-quickstart.md

9
CHANGELOG.md Normal file
View File

@ -0,0 +1,9 @@
# Change Log
All notable changes to the "varaq-lang" extension will be documented in this file.
Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.
## [Unreleased]
- Initial release

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# varaq-lang
Simple syntax highighting for the var'aq programming language

View File

@ -0,0 +1,29 @@
{
"comments": {
// symbols used for start and end a block comment. Remove this entry if your language does not support block comments
"blockComment": [ "(*", "*)" ]
},
// symbols used as brackets
"brackets": [
["{", "}"],
["[", "]"],
["(", ")"]
],
// symbols that are auto closed when typing
"autoClosingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
["(*", "*)"],
["\"", "\""],
["'", "'"]
],
// symbols that can be used to surround a selection
"surroundingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
["\"", "\""],
["'", "'"]
],
}

25
package.json Normal file
View File

@ -0,0 +1,25 @@
{
"name": "varaq-lang",
"displayName": "varaq-lang",
"description": "Syntax for the var'aq programming language",
"version": "0.0.1",
"engines": {
"vscode": "^1.67.0"
},
"categories": [
"Programming Languages"
],
"contributes": {
"languages": [{
"id": "varaq",
"aliases": ["var'aq", "varaq"],
"extensions": [".vq",".vqe",".vql",".vqx"],
"configuration": "./language-configuration.json"
}],
"grammars": [{
"language": "varaq",
"scopeName": "source.varaq",
"path": "./syntaxes/varaq.tmLanguage.json"
}]
}
}

View File

@ -0,0 +1,82 @@
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "var'aq",
"patterns": [
{
"include": "#keywords"
},
{
"include": "#strings"
},
{
"include": "#comments"
},
{
"include": "#numbers"
},
{
"include": "#import"
}
],
"repository": {
"keywords": {
"patterns": [{
"name": "keyword.control.varaq",
"match": "\\b(and|atan|add|bep|complain|compl|compose|contradict|cons|cos|chImmoH|cher|boq|choose|chov|chuv|clear|dup|dump|disp|div|DuD|e|exch|eval|escape|explode|forget|ghap|ghurtaH|Hotlh|Habwav|idiv|isolate|ifyes|ifno|je|jor|joq|ln|listen|loS'ar|log|log3|latlh|law'moH|law'qa'moH|maHghurtaH|mix|mi'moH|muv|mul|mod|mobmoH|mIScher|mIS|nIHghoS|name|nargh|naQmoH|numberize|or|pi|pagh'a'|pop|pong|pow|poSghoS|puS'a'|puSrap'a'|qaw|qawHa'|qojmI'|qojHa'|Qo'moH|remember|repeat|rand|rap'a'|rapbe'a'|set|split|shatter|strcut|strmeasure|strtie|tlheghrar|sub|sub1|sqrt|sin|clip|poD|smooth|Hab|howmuch|'ar|setrand|shiftright|shiftleft|SIj|teq|tam|tan|taH'a'|tlhoch|tlheghpe'|tlheghjuv|vangqa'|wIv|woD|wav|wa'teq|wa'chel|wejghurtaH|xor|'Ij|time|poH|lI'moH|gc|whereami|version|newline|tab|argv|nuqDaq_jIH|chu'tut)\\b"
},
{
"name": "keyword.operator",
"match": "le\\?|lt\\?|empty\\?|eq\\?|gt\\?|ge\\?|int\\?|ne\\?|negative\\?|number\\?|null\\?|streq\\?"
},
{
"name": "keyword.other",
"match": "chIm'a'|cha'|ghurmI'|ghobe'chugh|ghorqu'|HeHmI'|HabmI''a'|HIja'chugh|law''a'|law'rap'a'|mI''a'|pagh'a'|puS'a'|puSrap'a'|qawHa'|qojmI'|qojHa'|rap'a'|rapbe'a'|'ar|taH'a'|tlheghpe'|tlhreghrap'a'|vangqa'|tlheghrap'a'|'Ij|yu'eghHa'|woDHa'|taghDe'|pongmI'|chu'DonwI'|boq'egh"
},
{
"name":"keyword.operator.new",
"match": "~"
}]
},
"strings": {
"name": "string.quoted.double.varaq",
"begin": "\"",
"end": "\"",
"patterns": [
{
"name": "constant.character.escape.varaq",
"match": "\\\\."
}
]
},
"comments": {
"name": "comment.quoted.double.varaq",
"begin": "\\(\\*",
"end": "\\*\\)",
"patterns": [
{
"name": "constant.character.escape.varaq",
"match": "\\\\."
}
]
},
"numbers":{
"name": "constant.numeric",
"patterns":[
{
"name":"constant.numeric.varaq",
"match":"\\d"
}
]
},
"import": {
"name": "meta.preprocessor",
"patterns":[
{
"name":"meta.preprocessor.varaq",
"match":"\/\/.+\n"
}
]
}
},
"scopeName": "source.varaq"
}