# langserver **Repository Path**: zbzpo/langserver ## Basic Information - **Project Name**: langserver - **Description**: Nim's language server - **Primary Language**: 其他 - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-30 - **Last Updated**: 2025-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Nim Language Server Nim Language Server, or `nimlangserver`, is a language server for Nim. ## Installation **IMPORTANT** you might want to use latest build of the `nimlangserver` and/or build it from source. `nimlangserver` requires `nimble >= 0.16.1` ### Installing binaries _NB:_ `nimlangserver` requires `nimsuggest` version that supports `--v3`: - `devel` containing [19826](https://github.com/nim-lang/Nim/pull/19826) - 1.6+ containing [19892](https://github.com/nim-lang/Nim/pull/19892) You can install the latest release into `$HOME/.nimble/bin` using e.g.: ```sh nimble install nimlangserver ``` ### From Source ```bash nimble build ``` ### VSCode - [vscode-nim](https://github.com/nim-lang/vscode-nim) has support for `nimlangserver`. Follow the instructions at: https://github.com/nim-lang/vscode-nim#using ### Sublime Text Install [LSP-nimlangserver](https://packagecontrol.io/packages/LSP-nimlangserver) from Package Control. ### Zed Editor Install [Nim Extenstion](https://github.com/foxoman/zed-nim) from the Zed Editor extensions. ### Neovim - [lsp](https://neovim.io/doc/user/lsp.html) Neovim has built-in LSP support. Although, you might want to use something like [lsp-config](https://github.com/neovim/nvim-lspconfig) to take care of the boilerplate code for the most LSP configurations. Install `lsp-config` using your favourite plugin manager an place the following code into your `init.vim` config: ```lua lua <= 0.2.4` must be used. An entry point for the tests must be provided via the vsc extension `nim.test.entryPoint` or `testEntryPoint` in future versions of `nimble` ## Related Projects - [nimlsp](https://github.com/PMunch/nimlsp) Both `nimlangserver` and `nimlsp` are based on `nimsuggest`, but the main difference is that `nimlsp` has a single specific version of `nimsuggest` embedded in the server executable, while `nimlangserver` launches `nimsuggest` as an external process. This allows `nimlangserver` to handle any `nimsuggest` crashes more gracefully. ## License MIT