Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
ghaberek committed May 8, 2020
0 parents commit d3640f7
Show file tree
Hide file tree
Showing 8 changed files with 222 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.vscode-test/**
vsc-extension-quickstart.md
vscode-euphoria-*.vsix
18 changes: 18 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// 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",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
]
}
]
}
4 changes: 4 additions & 0 deletions .vscodeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.vscode/**
.vscode-test/**
.gitignore
vsc-extension-quickstart.md
31 changes: 31 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# vscode-euphoria

Euphoria language support and debugging for Visual Studio Code

## Features

### Declarative language features

- [x] Syntax highlighting
- [ ] Snippet completion
- [x] Bracket matching
- [x] Bracket autoclosing
- [x] Bracket autosurrounding
- [x] Comment toggling
- [ ] Auto indentation
- [ ] Folding

### Programmatic language features

- [ ] Hover information
- [ ] Auto completion
- [ ] Jump to definition
- [ ] Error checking
- [ ] Formatting
- [ ] Refactoring
- [ ] Folding

### 1.0.0

Initial release

Binary file added images/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 33 additions & 0 deletions language-configuration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"comments": {
// symbol used for single line comment. Remove this entry if your language does not support line comments
"lineComment": "--",
// 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": [
{ "open": "{", "close": "}" },
{ "open": "[", "close": "]" },
{ "open": "(", "close": ")" },
{ "open": "`", "close": "`", "notIn": ["string", "comment"] },
{ "open": "'", "close": "'", "notIn": ["string", "comment"] },
{ "open": "\"", "close": "\"", "notIn": ["string"] },
{ "open": "/**", "close": " */", "notIn": ["string"] }
],
// symbols that can be used to surround a selection
"surroundingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
["\"", "\""],
["'", "'"],
["`", "`"]
]
}
40 changes: 40 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"name": "vscode-euphoria",
"displayName": "Euphoria",
"version": "1.0.0",
"publisher": "openeuphoria",
"description": "Euphoria language support and debugging for Visual Studio Code",
"author": {
"name": "Greg Haberek",
"email": "ghaberek@gmail.com"
},
"categories": [
"Programming Languages"
],
"icon": "images/icon.png",
"engines": {
"vscode": "^1.45.0"
},
"bugs": {
"url": "https://github.com/OpenEuphoria/vscode-euphoria/issues",
"email": "github@openeuphoria.org"
},
"repository": {
"type": "git",
"url": "https://github.com/OpenEuphoria/vscode-euphoria.git"
},
"homepage": "https://github.com/OpenEuphoria/vscode-euphoria/blob/master/README.md",
"contributes": {
"languages": [{
"id": "euphoria",
"aliases": ["Euphoria", "euphoria"],
"extensions": [".e","*.eu","*.ew",".ex","*.exu","*.exw"],
"configuration": "./language-configuration.json"
}],
"grammars": [{
"language": "euphoria",
"scopeName": "source.euphoria",
"path": "./syntaxes/euphoria.tmLanguage.json"
}]
}
}
93 changes: 93 additions & 0 deletions syntaxes/euphoria.tmLanguage.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "Euphoria",
"patterns": [
{ "include": "#comments" },
{ "include": "#keywords" },
{ "include": "#strings" }
],
"repository": {
"comments": {
"patterns": [
{
"name": "comment.line.double-dash.euphoria",
"match": "((--).*)$"
},
{
"name": "comment.block.euphoria",
"begin": "/\\*",
"end": "\\*/"
}
]
},
"keywords": {
"patterns": [
{
"name": "keyword.control.euphoria",
"match": "\\b(break|case|continue|do|else|elsif|entry|exit|for|goto|if|label|loop|retry|return|switch|then|until|while)\\b"
},
{
"name": "keyword.operator.euphoria",
"match": "\\b(!|and|not|or|xor)\\b"
},
{
"name": "keyword.other.euphoria",
"match": "\\b(as|by|constant|elsedef|elsifdef|end|enum|fallthru|ifdef|include|namespace|routine|to|with|without)\\b"
},
{
"name": "storage.modifier.euphoria",
"match": "\\b(export|global|override|public)\\b"
},
{
"name": "storage.type.euphoria",
"match": "\\b(enum|constant|function|procedure|type)\\b"
},
{
"name": "support.function.euphoria",
"match": "\\b(abort|and_bits|append|arctan|c_func|c_proc|call|call_func|call_proc|clear_screen|close|command_line|compare|cos|date|delete|delete_routine|equal|find|find_from|floor|get_key|getc|getenv|gets|hash|head|include_paths|insert|length|log|machine_func|machine_proc|match|match_from|mem_copy|mem_set|not_bits|open|option_switches|or_bits|peek|peek2s|peek2u|peek4s|peek4u|peek_string|peeks|platform|poke|poke2|poke4|position|power|prepend|print|printf|puts|rand|remainder|remove|repeat|replace|routine_id|sin|splice|sprintf|sqrt|system|system_exec|tail|tan|task_clock_start|task_clock_stop|task_create|task_list|task_schedule|task_self|task_status|task_suspend|task_yield|time|trace|xor_bits)\\b"
},
{
"name": "support.type.euphoria",
"match": "\\b(atom|integer|object|sequence)\\b"
}
]
},
"strings": {
"patterns": [
{
"name": "string.quoted.single.euphoria",
"begin": "'",
"end": "'",
"patterns": [
{
"name": "constant.character.escape.euphoria",
"match": "\\\\."
}
]
},
{
"name": "string.quoted.double.euphoria",
"begin": "\"",
"end": "\"",
"patterns": [
{
"name": "constant.character.escape.euphoria",
"match": "\\\\."
}
]
},
{
"name": "string.quoted.triple.euphoria",
"begin": "\"\"\"",
"end": "\"\"\""
},
{
"name": "string.quoted.other.euphoria",
"begin": "`",
"end": "`"
}
]
}
},
"scopeName": "source.euphoria"
}

0 comments on commit d3640f7

Please sign in to comment.