【问题标题】:What is the current situation for using Vim as IDE for Haskell on Archlinux?在 Archlinux 上使用 Vim 作为 Haskell 的 IDE 的现状如何?
【发布时间】:2021-01-13 03:37:47
【问题描述】:

如果可行的话,我的目标是通过 YouCompleteMe 在 Vim 中为 Haskell 完成命令。在这方面,正如你在下面看到的,我还没有找到关于如何让它工作的共识。

相关issue on YouCompleteMe 上的最新 cmets 并没有那么旧,因此我从 AUR 安装了haskell-ide-engine(GitHub 上的 repo 是 here

但是,由于它需要很长时间(花了 110 分钟!)我检查了PKGBUILD 文件只是为了发现这一点:

# ...
# Supported are '8.4.2' '8.4.3' '8.4.4' '8.6.4' '8.6.5' '8.8.1' '8.8.2' '8.8.3'
# activated by default are the ones also used in a stackage snapshot. Removing
# versions you do not use will greatly reduce the compilation time of this
# package
_enabled_ghc_versions=('8.4.4' '8.6.4' '8.6.5' '8.8.2' '8.8.3')
# ...

很公平,我的错。于是我在#haskell IRC channel 上搜索帮助,一位用户发表了这样的评论:

然后你会发现几乎没有人使用haskell-ide-engine,除了haskell-language-server。而且 ghcup 可以为你安装预编译的二进制文件

另一个用户的评论是

至少可以说,Arch 上的 haskell 情况并不是最优的

另一条评论(来自 Fendor,his answer 已在下方)是

HIE 不再积极开发。 Haskell 语言服务器是继任者。我会推荐 Haskell 语言服务器

这似乎与您在 YouCompleteMe issue tracker 上看到的内容不符。

那么现在是什么情况呢?

【问题讨论】:

    标签: haskell vim archlinux youcompleteme


    【解决方案1】:

    通过安装 ghcup 来设置 Haskell,然后 通过 ghcup 安装所有其余的(ghccabal,...),正如 this answer 中所建议的那样,改进了到目前为止,使用 Vim 和 YCM 的经验。 (哦,显然,YCM 必须是最新的。)

    【讨论】:

      【解决方案2】:

      基于this,您应该可以使用它

        let g:ycm_language_server = [
          \   {
          \     'name': 'haskell-language-server',
          \     'cmdline': [ 'haskell-language-server-wrapper', '--lsp' ],
          \     'filetypes': [ 'haskell', 'lhaskell' ],
          \     'project_root_files': [ 'stack.yaml', 'cabal.project', 'package.yaml', 'hie.yaml' ],
          \   },
          \ ]
      

      【讨论】:

        【解决方案3】:

        Haskell IDE 引擎和 Haskell 语言服务器开发人员在这里。

        确实,Haskell IDE 引擎不再积极开发。 ghcide 和 Haskell IDE Engine 的团队合并了他们的努力,创建了 Haskell 语言服务器(基于 ghcide 作为主要驱动程序)。因此,Haskell 语言服务器目前是开发的重点,我们建议您更喜欢它而不是 Haskell IDE 引擎,因为它更快、更稳定。它还有许多新功能,很快就会与 Haskell IDE 引擎媲美。

        Haskell Language Server 可以通过 ghcup 安装,VSCode 插件Haskell 也可以自动安装二进制文件。

        blog post 希望能更好地了解情况。

        【讨论】:

          猜你喜欢
          • 2014-04-19
          • 1970-01-01
          • 2014-06-02
          • 2012-04-15
          • 2018-01-28
          • 2021-04-15
          • 2011-03-16
          • 2019-09-17
          • 1970-01-01
          相关资源
          最近更新 更多