在projectile-switch-project之后启动lsp-haskell

时间:2019-07-18 09:41:52

标签: haskell emacs emacs-projectile

我在emacs中通过lsp-mode使用Haskell Ide Engine。如果我在haskell项目的目录中打开emacs,则一切正常。

cd workspace/haskell/servant-training && emacs

lsp-mode已启用并连接到HIE。

现在,如果我在一个非haskell项目目录中打开emacs,然后对我的haskell项目进行一个projectile-switch-project,我将找不到任何方法来打开新的hie会话。

我尝试使用lsp,lsp-mode命令。

lsp给了我以下消息:haskell-mode没有LSP服务器 lsp-mode显示为当前缓冲区启用的Lsp模式,并可以在底部栏中看到LSP [Disconnected]。

以下是我的emacs配置的相关部分:


;;lsp
(use-package flycheck
  :ensure t
  :init (global-flycheck-mode))

(use-package lsp-mode
  :ensure t
  :init
  (setq lsp-prefer-flymake nil)
  (setq lsp-enable-snippet nil)
  (setq lsp-auto-guess-root t)) 

(use-package company-lsp
  :ensure t)

(use-package lsp-haskell
  :ensure t
  :init
  (setq lsp-haskell-process-path-hie "hie-wrapper"))

(use-package lsp-ui
  :ensure t)

(add-hook 'lsp-mode-hook 'lsp-ui-mode)
(add-hook 'haskell-mode-hook #'lsp)

;; Projectile
(use-package projectile
  :ensure t
  :init
 ;; (setq projectile-require-project-root nil)
  :config
  (projectile-mode 1))

谢谢

0 个答案:

没有答案