This repository has been archived on 2024-02-26. You can view files and clone it, but cannot push or open issues or pull requests.
cosmos-sql-language-service/README.md
2018-11-26 10:46:04 -05:00

49 lines
2.0 KiB
Markdown

# Cosmos DB Language Service
Azure Cosmos DB Language Service for the Monaco editor
`npm install @azure/cosmos-language-service`
### Supported Cosmos DB languages
+ [Cosmos DB SQL](https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-sql-query-reference#bk_from_clause)
### Supported Features
+ Autocomplete
+ Error marks
### Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
#### Set up
1. Install antlr4 and set up environment based on the [doc](https://github.com/antlr/antlr4/blob/master/doc/getting-started.md)
2. If you are using `vscode`, hightly recommend the [antlr4 vscode plugin](https://marketplace.visualstudio.com/items?itemName=mike-lischke.vscode-antlr4)
3. Install `node`(>=v8.9.0) and `npm`(>=v5.8.0)
4. Clone the source code.(Source code repo link is https://github.com/Azure/cosmos-sql-language-service)
5. Install the dependencies:
```bash
npm install
```
#### Build and Run
1. Compile Antlr Grammar
```bash
cd $(grammar_folder)
doskey antlr4=java org.antlr.v4.Tool $*
doskey grun =java org.antlr.v4.gui.TestRig $*
antlr4 -no-listener -no-visitor -Dlanguage=JavaScript *.g4 -o ../generated
```
You can keep the lexer.js file and the parser.js file and delete others.
2. Build the package
```bash
cd $(language_service_folder)
webpack
cd $(root_folder)
npm run dev
```