add El LSP skeleton — language server, VSCode extension, syntax highlighting

Implements a Language Server Protocol server for El files over stdin/stdout
JSON-RPC. Provides completions (builtins + keywords + document functions),
hover documentation, go-to-definition, and full document sync.

Also adds a VSCode extension that launches the binary as a child process and
a TextMate grammar for .el syntax highlighting.

NOTE: el-lsp.el calls __read_n(n: Int) -> String, a seed primitive not yet
in el_runtime.c. Build.sh documents the required C implementation; the seed
agent must add it before the binary will link.
This commit is contained in:
Will Anderson
2026-05-03 15:52:10 -05:00
parent 9d0e1f64d4
commit cefff5b891
6 changed files with 1245 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
{
"name": "el-language",
"displayName": "El Language",
"description": "El language support — syntax highlighting, completions, hover, go-to-definition",
"version": "0.1.0",
"publisher": "neuron-technologies",
"license": "MIT",
"engines": {
"vscode": "^1.75.0"
},
"categories": [
"Programming Languages"
],
"keywords": [
"el",
"el-lang",
"language-server"
],
"activationEvents": [
"onLanguage:el"
],
"contributes": {
"languages": [
{
"id": "el",
"aliases": [
"El",
"el"
],
"extensions": [
".el"
],
"configuration": "./language-configuration.json"
}
],
"grammars": [
{
"language": "el",
"scopeName": "source.el",
"path": "./syntaxes/el.tmGrammar.json"
}
]
},
"main": "./extension.js",
"dependencies": {
"vscode-languageclient": "^8.1.0"
},
"devDependencies": {
"@types/vscode": "^1.75.0"
},
"scripts": {
"vscode:prepublish": "echo 'no build step required'",
"package": "vsce package"
}
}