能否通过~/.ghci配置stack ghci?需将提示符改为λ
解决Stack GHCi读取~/.ghci配置及修改提示符的问题
当然可以让Stack GHCi读取你的~/.ghci配置!默认情况下Stack GHCi确实不会自动加载这个文件,但有几种简单的方法能搞定,同时还能把提示符改成你想要的λ符号:
方法1:启动时手动指定加载~/.ghci
每次运行Stack GHCi时,通过--ghci-options参数指定加载你的配置文件:
stack ghci --ghci-options "-ghci-script ~/.ghci"
如果觉得每次输参数麻烦,可以给它加个shell别名(以bash为例,编辑~/.bashrc):
alias stack-ghci='stack ghci --ghci-options "-ghci-script ~/.ghci"'
保存后重启shell,之后直接输入stack-ghci就能带着你的配置启动了。
方法2:通过Stack全局配置永久生效
更省心的方式是修改Stack的全局配置文件,让它自动加载~/.ghci。Stack的全局配置一般在~/.stack/config.yaml,如果没有就新建一个。在文件里添加以下内容:
ghci: arguments: ["-ghci-script", "~/.ghci"]
这样以后不管在哪运行stack ghci,都会自动读取你的~/.ghci配置了。
设置λ符号提示符
不管用哪种方法,只要在你的~/.ghci文件里添加这一行,就能把提示符改成λ:
:set prompt "λ> "
如果想要更个性化(比如带颜色),也可以写成:
:set prompt "\ESC[32mλ> \ESC[0m"
(上面的代码会让λ变成绿色,你可以调整颜色代码)
关于GHC选项不兼容的提示
你提到的“部分GHC选项与GHCi不兼容未传递”是正常现象,Stack会自动过滤掉那些只适合编译、不适合GHCi交互环境的选项,这不会影响你的~/.ghci配置生效,完全可以忽略这个提示。
验证一下:修改完配置后运行stack ghci,你应该就能看到熟悉的λ提示符,同时~/.ghci里的其他设置也会正常工作啦!
内容的提问来源于stack exchange,提问作者Răzvan Flavius Panda
相关产品推荐
相关产品推荐

