diff --git a/README.md b/README.md index 54494ef..eda253d 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,32 @@ -# Stimulus Intellisense +# Stimulus LSP -Intelligent Stimulus JS tooling for Visual Studio Code - -Heavily documented sample code for https://code.visualstudio.com/api/language-extensions/language-server-extension-guide +Intelligent Stimulus tooling for Visual Studio Code ## Functionality -This Language Server works for plain text file. It has the following language features: -- Completions -- Diagnostics regenerated on each file change or configuration change +This Language Server works for HTML and ERB files. It has the following language features: + +### Completions + +* Data Attributes +* Completions for controller identifiers +* Completions for controller actions +* Completions for controller targets +* Completions for controller values +* Completions for controller classes + +### Diagnostics + +* Missing controllers (`stimulus.controller.invalid`) +* Missing controller actions (`stimulus.action.invalid`) +* Missing controller targets (`stimulus.controller.target.missing`) +* Missing controller values (`stimulus.controller.value.missing`) +* Invalid action descriptions (`stimulus.action.invalid`) +* Controller values type mismatches (`stimulus.controller.value.type_mismatch`) + +### Quick-Fixes -It also includes an End-to-End test. +* Create unknown controllers (`stimulus.controller.create`) ## Structure @@ -18,7 +34,6 @@ It also includes an End-to-End test. . ├── client // Language Client │ ├── src -│ │ ├── test // End to End tests for Language Client / Server │ │ └── extension.ts // Language Client entry point ├── package.json // The extension manifest. └── server // Language Server @@ -26,7 +41,7 @@ It also includes an End-to-End test. └── server.ts // Language Server entry point ``` -## Running the Sample +## Running the extension locally - Run `yarn install` in this folder. This installs all necessary npm modules in both the client and server folder - Open VS Code on this folder. @@ -35,6 +50,5 @@ It also includes an End-to-End test. - Select `Launch Client` from the drop down. - Run the launch config. - If you want to debug the server as well use the launch configuration `Attach to Server` -- In the [Extension Development Host] instance of VSCode, open a document in 'plain text' language mode. - - Type `j` or `t` to see `Javascript` and `TypeScript` completion. - - Enter text content such as `AAA aaa BBB`. The extension will emit diagnostics for all words in all-uppercase. +- In the [Extension Development Host] instance of VSCode, open a HTML file. + - Type `
`, place your cursor where the `|` is, hit Ctrl+Space and you should see completions. diff --git a/client/package.json b/client/package.json index 3953a6a..e7c4077 100644 --- a/client/package.json +++ b/client/package.json @@ -1,13 +1,13 @@ { - "name": "stimulus-intellisense-client", - "description": "Intelligent Stimulus JS tooling for Visual Studio Code", + "name": "vscode-stimulus", + "description": "Intelligent Stimulus tooling for Visual Studio Code", "author": "Marco Roth", "license": "MIT", "version": "0.1.0", "publisher": "Marco Roth", "repository": { "type": "git", - "url": "https://github.com/marcoroth/stimulus-intellisense" + "url": "https://github.com/marcoroth/stimulus-lsp" }, "engines": { "vscode": "^1.52.0" diff --git a/package.json b/package.json index 27de12a..997d9fa 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "stimulus-intellisense", + "name": "stimulus-lsp", "displayName": "Stimulus LSP", - "description": "Intelligent Stimulus JS tooling for Visual Studio Code", + "description": "Intelligent Stimulus tooling", "license": "MIT", "pricing": "Free", "version": "0.1.0", @@ -23,7 +23,7 @@ "sponsor": { "url": "http://github.com/sponsors/marcoroth" }, - "repository": "https://github.com/marcoroth/stimulus-intellisense", + "repository": "https://github.com/marcoroth/stimulus-lsp", "engines": { "vscode": "^1.43.0" }, diff --git a/server/package.json b/server/package.json index e9dcd65..b13f184 100644 --- a/server/package.json +++ b/server/package.json @@ -1,13 +1,13 @@ { - "name": "stimulus-intellisense-server", - "description": "Intelligent Stimulus JS tooling for Visual Studio Code", + "name": "stimulus-language-server", + "description": "Intelligent Stimulus tooling", "version": "0.1.0", "author": "Marco Roth", "license": "MIT", "engines": { "node": "*" }, - "repository": "https://github.com/marcoroth/stimulus-intellisense", + "repository": "https://github.com/marcoroth/stimulus-lsp", "scripts": {}, "dependencies": { "@hotwired/stimulus": "https://github.com/hotwired/dev-builds/archive/refs/tags/@hotwired/stimulus/8cbca6d.tar.gz",