代码之家  ›  专栏  ›  技术社区  ›  Mark Seemann

GitBash中的GHCI不支持制表符补全和箭头键

  •  7
  • Mark Seemann  · 技术社区  · 9 年前

    当我打开 ghcii.sh (Glasgow Haskell Compiler Interactive)在Git Bash中,普通制表符、退格键和箭头键无法按预期工作。

    例如,如果我键入 :lo + 选项卡 ,我希望它能完成声明 :load 相反,光标向右跳转(我猜是跳转到下一个制表位)。

    那么,如果我使用 退格 要返回并“手动”填写命令,会发生以下情况:

    Prelude> :load PrettyJSON.hs
    
    <interactive>:2:1:
        Not in scope: `ad'
        Perhaps you meant one of these:
          `and' (imported from Prelude), `id' (imported from Prelude)
    
    <interactive>:2:4: Not in scope: `PrettyJSON.hs'
    

    这是我 有好运的 有时,我甚至不能 退格 一路返回,但却被困在 :洛 (或我试图发出的任何其他命令)。我还能打 进来 不过,还是要再试一次。

    箭头键不会调用命令历史记录。如果我按下 ,光标向上移动,但我希望它在命令历史记录中循环。

    这个问题似乎与GitBash有关,因为GHCI在同一台计算机上的PowerShell中正常工作。在我运行GitBash早期版本(Git版本1.9.5.msysgit.1)的其他机器上,我没有这个问题,所以它似乎与这个特定版本(git2.5.1.windows.1)有关。

    我的操作系统是Windows 10 64位。起初,我认为这个问题与64位GitBash有关,因为这是我第一次在Windows上看到64位Git Bash,但我也尝试过安装32位Git Bash,它表现出完全相同的行为。

    是否可以使GHCI在这种环境中正确运行?

    3 回复  |  直到 9 年前
        1
  •  5
  •   Michael    8 年前

    对于任何在谷歌搜索后仍然来到这里的人。。。

    而不是改变方式 Git Bash 启动,你可以开始 解释方式 直接从 开始 菜单(这已经使用 Windows控制台 ). 简单地键入 解释方式 开始 菜单/屏幕并等待结果。奖金很不错 Haskell图标 在控制台标题栏中:P

    你也可以试试 WinGHCi公司 ,应已安装。

        2
  •  2
  •   Mark Seemann    9 年前

    我没有收到任何回复 cross-posted the question to the project's GitHub repository .

    显然,这个问题似乎与 终端仿真器 终端仿真器。如果您使用 ConHost公司 模拟器,问题消失了。

        3
  •  2
  •   Ferd    6 年前

    这可能是由于在这几年中添加了新功能,但GitBash附带了 winpty 它似乎与GHCi for Windows配合使用:

    $ winpty stack ghci