diff --git a/README.md b/README.md index cc58797faa..6ebeb0428e 100644 --- a/README.md +++ b/README.md @@ -434,6 +434,7 @@ If your language supports mixed multi-language servers, it is recommended to che | Racket | [racket-langserver](https://github.com/jeapostrophe/racket-langserver) | | | React | [typescript](https://github.com/microsoft/TypeScript) | `npm i -g typescript` | | | [typescript-language-server](https://github.com/typescript-language-server/typescript-language-server) | `npm i -g typescript-language-server` | +| Rego | [regal](https://github.com/StyraInc/regal) | | | Robot | [vscode-rf-language-server](https://github.com/tomi/vscode-rf-language-server) | `pip install robotframework --user` | | Ruby | [solargraph](https://github.com/castwide/solargraph) | | | Rust | [rust-analyzer](https://github.com/rust-lang/rust-analyzer) | | diff --git a/README.zh-CN.md b/README.zh-CN.md index 524b834049..7862f64c94 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -429,6 +429,7 @@ lsp-bridge 针对许多语言都提供 2 个以上的语言服务器支持, | Racket | [racket-langserver](https://github.com/jeapostrophe/racket-langserver) | | | React | [typescript](https://github.com/microsoft/TypeScript) | `npm i -g typescript` | | | [typescript-language-server](https://github.com/typescript-language-server/typescript-language-server) | `npm i -g typescript-language-server` | +| Rego | [regal](https://github.com/StyraInc/regal) | | | Robot | [vscode-rf-language-server](https://github.com/tomi/vscode-rf-language-server) | `pip install robotframework --user` | | Ruby | [solargraph](https://github.com/castwide/solargraph) | | | Rust | [rust-analyzer](https://github.com/rust-lang/rust-analyzer) | | diff --git a/langserver/regal.json b/langserver/regal.json new file mode 100644 index 0000000000..9510c40e34 --- /dev/null +++ b/langserver/regal.json @@ -0,0 +1,8 @@ +{ + "name": "regal", + "languageId": "rego", + "command": [ + "regal" + ], + "settings": {} +} diff --git a/lsp-bridge.el b/lsp-bridge.el index 5e27632a46..72c8049baa 100644 --- a/lsp-bridge.el +++ b/lsp-bridge.el @@ -583,6 +583,7 @@ Possible choices are basedpyright_ruff, pyright_ruff, pyright-background-analysi (solidity-mode . "solidity") (gleam-ts-mode . "gleam") (ada-mode . "ada-language-server") + (rego-mode . "regal") (puppet-mode . "puppet-languageserver") (nxml-mode . "lemminx") (robot-mode . "vscode-rf-language-server") @@ -700,6 +701,7 @@ Possible choices are basedpyright_ruff, pyright_ruff, pyright-background-analysi solidity-mode-hook gleam-ts-mode-hook ada-mode-hook + rego-mode-hook puppet-mode-hook nxml-mode-hook robot-mode-hook @@ -771,6 +773,7 @@ you can customize `lsp-bridge-get-workspace-folder' to return workspace folder p (raku-mode . raku-indent-offset) ; Perl6/Raku (erlang-mode . erlang-indent-level) ; Erlang (ada-mode . ada-indent) ; Ada + (rego-mode . lsp-bridge-indent-two-level) ; Rego (puppet-mode . puppet-indent-level) ; Puppet (nxml-mode . lsp-bridge-indent-two-level) ; XML (robot-mode . robot-mode-basic-offset) ; Robot diff --git a/todo.md b/todo.md index a7328e8f0f..25edeba547 100644 --- a/todo.md +++ b/todo.md @@ -4,74 +4,72 @@ Below LSP server haven't supported, PR are welcome. ;) 2. **PowerShell**: [github.com/PowerShell/PowerShellEditorServices](https://github.com/PowerShell/PowerShellEditorServices) (need env to test start command) -3. **Rego**: [github.com/StyraInc/regal](https://github.com/StyraInc/regal) +3. **Apache Camel**: [github.com/camel-tooling/camel-language-server](https://github.com/camel-tooling/camel-language-server) -4. **Apache Camel**: [github.com/camel-tooling/camel-language-server](https://github.com/camel-tooling/camel-language-server) +4. **Cucumber (Gherkin)**: cucumber/language-server -5. **Cucumber (Gherkin)**: cucumber/language-server +5. **Snyk**: [github.com/snyk/snyk-ls](https://github.com/snyk/snyk-ls) -6. **Snyk**: [github.com/snyk/snyk-ls](https://github.com/snyk/snyk-ls) +6. **LanguageTool**: [github.com/valentjn/ltex-ls](https://github.com/valentjn/ltex-ls) -7. **LanguageTool**: [github.com/valentjn/ltex-ls](https://github.com/valentjn/ltex-ls) +7. **JS/TS + PHP + Python + Java**: [github.com/SonarSource/sonarlint-language-server](https://github.com/SonarSource/sonarlint-language-server) -8. **JS/TS + PHP + Python + Java**: [github.com/SonarSource/sonarlint-language-server](https://github.com/SonarSource/sonarlint-language-server) +8. **Gauge**: [github.com/getgauge/gauge](https://github.com/getgauge/gauge) -9. **Gauge**: [github.com/getgauge/gauge](https://github.com/getgauge/gauge) +9. **Coq**: coq-lsp -10. **Coq**: coq-lsp +10. **Delphi**: Embarcadero (Proprietary - DelphiLSP) -11. **Delphi**: Embarcadero (Proprietary - DelphiLSP) +11. **BibTeX**: [github.com/oncomouse/citation-langserver](https://github.com/oncomouse/citation-langserver) -12. **BibTeX**: [github.com/oncomouse/citation-langserver](https://github.com/oncomouse/citation-langserver) +12. **JSON-LD**: [github.com/ajuvercr/jsonld-lsp](https://github.com/ajuvercr/jsonld-lsp) -13. **JSON-LD**: [github.com/ajuvercr/jsonld-lsp](https://github.com/ajuvercr/jsonld-lsp) +13. **Ballerina**: [github.com/ballerina-platform/ballerina-lang/tree/master/language-server](https://github.com/ballerina-platform/ballerina-lang/tree/master/language-server) -14. **Ballerina**: [github.com/ballerina-platform/ballerina-lang/tree/master/language-server](https://github.com/ballerina-platform/ballerina-lang/tree/master/language-server) +14. **Langium**: [github.com/langium/langium](https://github.com/langium/langium) -15. **Langium**: [github.com/langium/langium](https://github.com/langium/langium) +15. **Odin**: [github.com/DanielGavin/ols](https://github.com/DanielGavin/ols) -16. **Odin**: [github.com/DanielGavin/ols](https://github.com/DanielGavin/ols) +16. **Xtext** (Any Language): [github.com/eclipse/xtext-core](https://github.com/eclipse/xtext-core) -17. **Xtext** (Any Language): [github.com/eclipse/xtext-core](https://github.com/eclipse/xtext-core) +17. **ActionScript3**: [github.com/BowlerHatLLC/vscode-nextgenas/tree/master/language-server](https://github.com/BowlerHatLLC/vscode-nextgenas/tree/master/language-server) -18. **ActionScript3**: [github.com/BowlerHatLLC/vscode-nextgenas/tree/master/language-server](https://github.com/BowlerHatLLC/vscode-nextgenas/tree/master/language-server) +18. **Raku**: [github.com/bscan/RakuNavigator](https://github.com/bscan/RakuNavigator) -19. **Raku**: [github.com/bscan/RakuNavigator](https://github.com/bscan/RakuNavigator) +19. **Flux**: [github.com/influxdata/flux-lsp](https://github.com/influxdata/flux-lsp) -20. **Flux**: [github.com/influxdata/flux-lsp](https://github.com/influxdata/flux-lsp) +20. **SPARQL**: [github.com/stardog-union/stardog-language-servers/tree/master/packages/sparql-language-server](https://github.com/stardog-union/stardog-language-servers/tree/master/packages/sparql-language-server) -21. **SPARQL**: [github.com/stardog-union/stardog-language-servers/tree/master/packages/sparql-language-server](https://github.com/stardog-union/stardog-language-servers/tree/master/packages/sparql-language-server) +21. **Turtle**: [github.com/stardog-union/stardog-language-servers/tree/master/packages/turtle-language-server](https://github.com/stardog-union/stardog-language-servers/tree/master/packages/turtle-language-server) -22. **Turtle**: [github.com/stardog-union/stardog-language-servers/tree/master/packages/turtle-language-server](https://github.com/stardog-union/stardog-language-servers/tree/master/packages/turtle-language-server) +22. **Common Workflow Language (CWL)**: Rabix/Benten -23. **Common Workflow Language (CWL)**: Rabix/Benten +23. **Smalltalk/Pharo**: [github.com/badetitou/Pharo-LanguageServer](https://github.com/badetitou/Pharo-LanguageServer) -24. **Smalltalk/Pharo**: [github.com/badetitou/Pharo-LanguageServer](https://github.com/badetitou/Pharo-LanguageServer) +24. **DreamMaker**: [github.com/SpaceManiac/SpacemanDMM/tree/master/crates/dm-langserver](https://github.com/SpaceManiac/SpacemanDMM/tree/master/crates/dm-langserver) -25. **DreamMaker**: [github.com/SpaceManiac/SpacemanDMM/tree/master/crates/dm-langserver](https://github.com/SpaceManiac/SpacemanDMM/tree/master/crates/dm-langserver) +25. **Grain**: [github.com/grain-lang/grain](https://github.com/grain-lang/grain) -26. **Grain**: [github.com/grain-lang/grain](https://github.com/grain-lang/grain) +26. **V**: [github.com/vlang/v-analyzer](https://github.com/vlang/v-analyzer) -27. **V**: [github.com/vlang/v-analyzer](https://github.com/vlang/v-analyzer) +27. **TTCN-3**: [github.com/nokia/ntt](https://github.com/nokia/ntt) -28. **TTCN-3**: [github.com/nokia/ntt](https://github.com/nokia/ntt) +28. **Red**: [github.com/bitbegin/redlangserver](https://github.com/bitbegin/redlangserver) -29. **Red**: [github.com/bitbegin/redlangserver](https://github.com/bitbegin/redlangserver) +29. **Fennel**: [git.sr.ht/~xerool/fennel-ls](https://git.sr.ht/~xerool/fennel-ls) -30. **Fennel**: [git.sr.ht/~xerool/fennel-ls](https://git.sr.ht/~xerool/fennel-ls) +30. **Erg**: [github.com/erg-lang/erg/tree/main/crates/els](https://github.com/erg-lang/erg/tree/main/crates/els) -31. **Erg**: [github.com/erg-lang/erg/tree/main/crates/els](https://github.com/erg-lang/erg/tree/main/crates/els) +31. **Fuzion**: [github.com/tokiwa-software/fuzion-lsp-server](https://github.com/tokiwa-software/fuzion-lsp-server) -32. **Fuzion**: [github.com/tokiwa-software/fuzion-lsp-server](https://github.com/tokiwa-software/fuzion-lsp-server) +32. **Imandra Protocol Language**: [github.com/AestheticIntegration/ipl-vscode](https://github.com/AestheticIntegration/ipl-vscode) -33. **Imandra Protocol Language**: [github.com/AestheticIntegration/ipl-vscode](https://github.com/AestheticIntegration/ipl-vscode) +33. **MOCA**: [github.com/mrglassdanny/moca-language-server](https://github.com/mrglassdanny/moca-language-server) -34. **MOCA**: [github.com/mrglassdanny/moca-language-server](https://github.com/mrglassdanny/moca-language-server) +34. **openVALIDATION**: [github.com/openvalidation/ov-language-server](https://github.com/openvalidation/ov-language-server) -35. **openVALIDATION**: [github.com/openvalidation/ov-language-server](https://github.com/openvalidation/ov-language-server) +35. **Veryl**: [github.com/dalance/veryl/tree/master/crates/languageserver](https://github.com/dalance/veryl/tree/master/crates/languageserver) -36. **Veryl**: [github.com/dalance/veryl/tree/master/crates/languageserver](https://github.com/dalance/veryl/tree/master/crates/languageserver) +36. **Standard ML**: Millet -37. **Standard ML**: Millet - -38. **Systemtap**: Systemtap LSP +37. **Systemtap**: Systemtap LSP