README
Language Servers for AWS
Language servers for integration with IDEs and Editors, which implement the protocol (LSP extensions) defined in the language-server-runtimes repo.
Where things go
- To create a new language capability, see the example hello-world-lsp server and its implementation (using our runtime), and run it.
- For a more complex (real-world) example, see the Amazon Q language server.
- To create a new protocol feature (LSP extension) for all language servers: contribute to the language-server-runtimes repo.
Structure
Monorepo
- app/ - bundled javascript runtime applications for distribution and integration into IDEs
- aws-lsp-buildspec-runtimes/ - application containing the buildspec language server
- aws-lsp-cloudformation-runtimes/ - application containing the CloudFormation language server
- aws-lsp-s3-runtimes/ - application containing the S3 language server
- client/ - Sample LSP integrations for various IDEs. Used to test out the Language Servers
- jetbrains/ - Minimal JetBrains extension to test the language server
- visualStudio/ - Minimal Visual Studio extension to test the language server
- vscode/ - Minimal vscode extension to test the language server
- core/ - contains supporting libraries used by app and server packages
- aws-lsp-core - core support code
- script - loose scripts used to create
npm foocommands in the root folder - server - packages that contain Language Server implementations
- aws-lsp-buildspec - Language Server that wraps a JSON Schema for CodeBuild buildspec
- aws-lsp-cloudformation - Language Server that wraps a JSON Schema for CloudFormation
- aws-lsp-codewhisperer - Language Server that surfaces CodeWhisperer recommendations.
- Shows recommendations through completion lists and as ghost text>
- aws-lsp-s3 - Example language server that provides S3 bucket names as completion items
- Shows a concept where credentials can be provided from an IDE
extension (See vscode and vs client readmes)
- Shows a concept where credentials can be provided from an IDE
- aws-lsp-json - Language Server that wraps a JSON Schema and provides
support for JSON format. Includes reusable code related to JSON language
service handling. - aws-lsp-yaml - Language Server that wraps a JSON Schema and provides
support for YAML format. Includes reusable code related to YAML language
service handling.
Contributing
Security
See CONTRIBUTING for more information.
License
This project is licensed under the Apache-2.0 License.