34个版本 (8个重大变更)

0.9.5 2024年8月17日
0.9.0 2024年7月25日
0.8.3 2024年3月25日

#17 in 文本编辑器

Download history 143/week @ 2024-05-06 154/week @ 2024-05-13 25/week @ 2024-05-20 1/week @ 2024-06-03 11/week @ 2024-06-10 175/week @ 2024-06-24 197/week @ 2024-07-01 107/week @ 2024-07-08 6/week @ 2024-07-15 228/week @ 2024-07-22 9/week @ 2024-07-29 121/week @ 2024-08-05 105/week @ 2024-08-12

每月463次下载

Apache-2.0

300KB
5.5K SLoC

harper-ls

harper-ls语言服务器协议 的前端,为 Harper 提供。默认情况下,它内置了对大多数编程语言注释的解析支持,以及任何Markdown文件。

安装

您如何选择安装 harper-ls 取决于您的使用情况。目前,我们只直接支持通过 nvim-lspconfig 使用。有关更多信息,请参阅相关文档。

如果您使用 mason.nvim,安装将非常简单。 harper-ls 在官方Mason注册表中,因此您可以使用与通过Mason安装任何内容相同的方式安装它。

如果您 通过Mason安装LSP,我们还在 GitHub 上提供了二进制发布版。

最后,如果您已经安装了 Rust,那么您很幸运!要安装 harper-ls,只需运行

cargo install harper-ls --locked

词典

harper-ls 有三种类型的词典:用户、文件本地和静态词典。

用户词典

harper-ls 的每个用户都有自己的词典,位于以下目录中(每个操作系统的位置)

操作系统 位置
Linux $XDG_CONFIG_HOME/harper-ls/
MacOS $HOME/Library/ApplicationSupport/harper-ls/
Windows {FOLDERID_LocalAppData}/harper-ls/

此词典是一个简单的纯文本单词列表。您可以随意添加和删除单词。您可以通过在拼写错误的单词上执行代码操作来添加到用户词典中。

配置

您不必坚持使用默认的位置(如上所述)。如果您使用Neovim,您可以使用 userDictPath 键设置词典的位置

lspconfig.harper_ls.setup {
  settings = {
    ["harper-ls"] = {
      userDictPath = "~/dict.txt"
    }
  },
}

您还可以切换任何特定的检查器。默认值如下所示

lspconfig.harper_ls.setup {
  settings = {
    ["harper-ls"] = {
      linters = {
        spell_check = true,
        spelled_numbers = false,
        an_a = true,
        sentence_capitalization = true,
        unclosed_quotes = true,
        wrong_quotes = false,
        long_sentences = true,
        repeated_words = true,
        spaces = true,
        matcher = true,
        correct_number_suffix = true,
        number_suffix_capitalization = true,
        multiple_sequential_pronouns = true
      }
    }
  },
}

默认情况下,harper-ls 会将所有诊断标记为 HINT。如果您想配置此功能,请参考以下内容。

lspconfig.harper_ls.setup {
  settings = {
    ["harper-ls"] = {
        diagnosticSeverity = "hint" -- Can also be "information", "warning", or "error"
    }
  },
}

您还可以配置 harper-ls 如何显示代码操作。例如,要使代码操作出现在“稳定”位置,请使用以下配置。

lspconfig.harper_ls.setup {
  settings = {
    ["harper-ls"] = {
      codeActions = {
        forceStable = true
      }
    }
  },
}

这是为了响应 问题 #89 而添加的。

文件局部字典

有时,您会遇到一个仅在特定文件上下文中有效的词(或名称)。在这种情况下,您可以使用将词添加到文件局部字典的代码操作。添加到此字典中的任何词,正如其名所示,仅在执行该特定路径文件的修正时包含在字典中。

您可以在以下目录中找到每个操作系统上的文件局部字典

操作系统 位置
Linux $XDG_DATA_HOME/harper-ls/file_dictionaries$HOME/.local/share/harper-ls/file_dictionaries
MacOS $HOME/Library/Application支持/harper-ls/file_dictionaries
Windows {FOLDERID_LocalAppData}/harper-ls/file_dictionaries

这些文件的格式与用户字典相同。

静态字典

静态字典已内置到二进制文件中,并且(目前)是不可变的。它包含您可能遇到的所有词汇。

我接受添加词汇到静态字典的拉取请求或问题。它由两个文件组成:harper-core/dictionary.dictharper-core/dictionary.dict

依赖项

~156MB
~4.5M SLoC