Почему ghc-mod powered neco-ghc работает только в корневом каталоге проекта?
Я новичок в Haskell, поэтому у меня нет глубокого понимания того, как ghc-mod
работает и как cabal-install
-подобные инструменты сборки миров Haskell движутся под капотом.
Но я как-то нашел плагины vim haskell от github, включая плагин neco-ghc для автозаполнения, работающий на ghc-mod
что мне показалось очень привлекательным.
Проблема заключалась в том, что он работает только на исходных кодах haskell уровня проекта cabal-install
инициализированные проекты, пока он не работает вообще на stack
Инициализированные проекты.
Моя структура каталогов генерируется следующими командами:
~ $ mkdir my_project && cd my_project
~/my_project $ cabal init
~/my_project $ cabal sandbox init
который дает
my_project
|-- Setup.hs
|-- cabal.sandbox.config
|-- src / Lib.hs
Автозаполнение работает (предлагает ключевые слова модуля Prelude), когда я редактирую Setup.hs
но я ничего не предлагаю, когда я пытаюсь редактировать src/Lib.hs
,
мой :NecoGhcDiagnotics
выходы команды
Current filetype: haskell
ghc-mod is executable: 1
omnifunc: necoghc#omnifunc
neocomplete.vim: 0
neocomplcache.vim: 2
YouCompleteMe: 0
vimproc.vim: 900
ghc-mod: 5.4.0.0
Imported modules: Prelude
Number of symbols in Prelude: 0
когда я редактирую src/Lib.hs
в то время как
Current filetype: haskell
ghc-mod is executable: 1
omnifunc: necoghc#omnifunc
neocomplete.vim: 0
neocomplcache.vim: 2
YouCompleteMe: 0
vimproc.vim: 900
ghc-mod: 5.4.0.0
Imported modules: Distribution.Simple, Prelude
Number of symbols in Prelude: 235
это вывод команды при редактировании Setup.hs
,
Это явно выглядит ghc-mod
не обнаруживает никаких символов при редактировании src/Lib.hs
.. почему это происходит?
1 ответ
Отправка ответа по запросу: ghc-mod
5.4.0 настаивает на запуске из корневого каталога проекта. Это нарушает различные сторонние программы, которые зависят от ghc-mod
, neco-ghc
Плагин был обновлен, чтобы справиться с этим, другие программы прекращают поддержкуghc-mod
,