#语言服务器 #Markdown #语法 #LSP #文档

app prosemd-lsp

Markdown 文件的实验性校对和代码检查语言服务器

1 个不稳定版本

0.1.0 2021年3月12日

#94#LSP

LGPL-2.1

7.5MB
58K SLoC

C 35K SLoC C++ 22K SLoC // 0.0% comments Rust 732 SLoC // 0.0% comments

prosemd

prosemd 是一个用于 Markdown 文件的实验性校对和代码检查语言服务器。它旨在在编写技术或非技术文档的散文时提供有价值和智能的诊断。

在内部,它集成了支持 语言服务器协议 的任何编辑器,并使用基于 LanguageToolnlprule 来突出显示可能的错误并提供如何解决它们的建议。

注意:路线图上还有更多功能,包括与 Markdown 链接、格式化和其他可能有用的功能相关的其他有用的代码检查规则,但目前 prosemd 仅限于使用 nlprule 进行语法和风格修正,并且仅支持英语。

快速入门

在 VSCode 中设置

如果您使用的是 VSCode,您只需要安装 prosemd 扩展。

阅读有关 VSCode 扩展的更多信息。

手动安装

如果您使用您选择的编辑器设置语言服务器,则需要下载可执行文件或从源代码编译它

  • 下载您操作系统(以下之一)的最新发布版本的可执行文件:prosemd-lsp-linuxprosemd-lsp-windows.exeprosemd-lsp-macos
  • 或者;安装 Rust 然后运行 cargo install prosemd-lsp 以从源代码编译 prosemd

配置 coc.nvim

首先,请确保您已安装 prosemd-lsp 可执行文件。

您可以在通过 :CocConfig 命令打开的 coc-settings.json 中手动将 prosemd 添加到 coc.nvim 的配置中,如下所示

{
  "languageserver": {
    "prosemd": {
      "command": "/usr/local/bin/prosemd-lsp",
      "args": ["--stdio"],
      "filetypes": ["markdown"],
      "trace.server": "verbose",
      "settings": {
        "validate": true
      }
    }
  }
}

别忘了将 command 中的二进制文件路径替换为您安装 prosemd-lsp 可执行文件的位置。

配置 nvim-lspconfig

首先,请确保您已安装 prosemd-lsp 可执行文件。

您可以将 prosemd 添加到 Neovim 内置的语言服务器客户端,方法是在 nvim-lspconfig 的语言服务器列表中添加它。

local lsp_configs = require('lspconfig/configs')

lsp_configs.prosemd = {
  default_config = {
    -- Update the path to prosemd-lsp
    cmd = { "/usr/local/bin/prosemd-lsp", "--stdio" },
    filetypes = { "markdown" },
    root_dir = function(fname)
      return lsp_util.find_git_ancestor(fname) or vim.fn.getcwd()
    end,
    settings = {},
  }
}

-- Use your attach function here
local lsp = require('lspconfig')
lsp.prosemd.setup{ on_attach = on_attach }

不要忘记将 cmd 中的二进制路径替换为您安装的 prosemd-lsp 可执行文件的位置。

依赖项

~24–41MB
~673K SLoC