From 9a087f56f37a1a67646cf109a64330d11a02a064 Mon Sep 17 00:00:00 2001 From: Andy Stewart Date: Mon, 23 Sep 2024 07:49:48 +0800 Subject: [PATCH] Support Fuzion language --- README.md | 1 + README.zh-CN.md | 1 + langserver/fuzion-language-server.json | 9 +++++++++ lsp-bridge.el | 3 +++ todo.md | 16 +++++++--------- 5 files changed, 21 insertions(+), 9 deletions(-) create mode 100644 langserver/fuzion-language-server.json diff --git a/README.md b/README.md index c13baef202..bd2dbd7a5b 100644 --- a/README.md +++ b/README.md @@ -390,6 +390,7 @@ If your language supports mixed multi-language servers, it is recommended to che | Fennel | [fennel-ls](https://git.sr.ht/~xerool/fennel-ls) | | | Fortran | [fortls](https://github.com/gnikit/fortls) | | | Futhark | [futhark-lsp](https://futhark-lang.org) | | +| Fuzion | [fuzion-lsp-server](https://github.com/tokiwa-software/fuzion-lsp-server) | | | F# | [fsautocomplete](https://github.com/fsharp/FsAutoComplete) | | | Gleam | [gleam lsp](https://gleam.run/news/v0.21-introducing-the-gleam-language-server/) | | GLSL | [glsl-language-server](https://github.com/svenstaro/glsl-language-server) | | diff --git a/README.zh-CN.md b/README.zh-CN.md index ac3c47ba9a..baee0b4509 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -385,6 +385,7 @@ lsp-bridge 针对许多语言都提供 2 个以上的语言服务器支持, | Fennel | [fennel-ls](https://git.sr.ht/~xerool/fennel-ls) | | | Fortran | [fortls](https://github.com/gnikit/fortls) | | | Futhark | [futhark-lsp](https://futhark-lang.org) | | +| Fuzion | [fuzion-lsp-server](https://github.com/tokiwa-software/fuzion-lsp-server) | | | F# | [fsautocomplete](https://github.com/fsharp/FsAutoComplete) | | | Gleam | [gleam lsp](https://gleam.run/news/v0.21-introducing-the-gleam-language-server/) | | | GLSL | [glsl-language-server](https://github.com/svenstaro/glsl-language-server) | | diff --git a/langserver/fuzion-language-server.json b/langserver/fuzion-language-server.json new file mode 100644 index 0000000000..a1f9d04583 --- /dev/null +++ b/langserver/fuzion-language-server.json @@ -0,0 +1,9 @@ +{ + "name": "fuzion-language-server", + "languageId": "fuzion", + "command": [ + "fuzion_language_server", + "-stdio" + ], + "settings": {} +} diff --git a/lsp-bridge.el b/lsp-bridge.el index f5327beb5d..5c362e5368 100644 --- a/lsp-bridge.el +++ b/lsp-bridge.el @@ -587,6 +587,7 @@ Possible choices are basedpyright_ruff, pyright_ruff, pyright-background-analysi (solidity-mode . "solidity") (gleam-ts-mode . "gleam") (ada-mode . "ada-language-server") + (fuzion-mode . "fuzion-language-server") (fennel-mode . "fennel-ls") (ttcn3-mode . "ntt") (v-mode . "v-analyzer") @@ -713,6 +714,7 @@ Possible choices are basedpyright_ruff, pyright_ruff, pyright-background-analysi solidity-mode-hook gleam-ts-mode-hook ada-mode-hook + fuzion-mode-hook fennel-mode-hook ttcn3-mode-hook v-mode-hook @@ -793,6 +795,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 + (fuzion-mode . lsp-bridge-indent-two-level) ; Fuzion (fennel-mode . lsp-bridge-indent-two-level) ; Fennel (ttcn3-mode . lsp-bridge-indent-four-level) ; TTCN3 (v-mode . lsp-bridge-indent-four-level) ; V diff --git a/todo.md b/todo.md index bcf32d2596..d518a16481 100644 --- a/todo.md +++ b/todo.md @@ -28,18 +28,16 @@ Below LSP server haven't supported, PR are welcome. ;) 14. **Red**: [github.com/bitbegin/redlangserver](https://github.com/bitbegin/redlangserver) (Emacs haven't mode to support red language) -15. **Erg**: [github.com/erg-lang/erg/tree/main/crates/els](https://github.com/erg-lang/erg/tree/main/crates/els) +15. **Erg**: [github.com/erg-lang/erg/tree/main/crates/els](https://github.com/erg-lang/erg/tree/main/crates/els) (Emacs haven't mode to support Erg language) -16. **Fuzion**: [github.com/tokiwa-software/fuzion-lsp-server](https://github.com/tokiwa-software/fuzion-lsp-server) +16. **Imandra Protocol Language**: [github.com/AestheticIntegration/ipl-vscode](https://github.com/AestheticIntegration/ipl-vscode) -17. **Imandra Protocol Language**: [github.com/AestheticIntegration/ipl-vscode](https://github.com/AestheticIntegration/ipl-vscode) +17. **MOCA**: [github.com/mrglassdanny/moca-language-server](https://github.com/mrglassdanny/moca-language-server) -18. **MOCA**: [github.com/mrglassdanny/moca-language-server](https://github.com/mrglassdanny/moca-language-server) +18. **openVALIDATION**: [github.com/openvalidation/ov-language-server](https://github.com/openvalidation/ov-language-server) -19. **openVALIDATION**: [github.com/openvalidation/ov-language-server](https://github.com/openvalidation/ov-language-server) +19. **Veryl**: [github.com/dalance/veryl/tree/master/crates/languageserver](https://github.com/dalance/veryl/tree/master/crates/languageserver) -20. **Veryl**: [github.com/dalance/veryl/tree/master/crates/languageserver](https://github.com/dalance/veryl/tree/master/crates/languageserver) +20. **Standard ML**: Millet -21. **Standard ML**: Millet - -22. **Systemtap**: Systemtap LSP +21. **Systemtap**: Systemtap LSP