From 9c950ff3f6cf6093c354109c3ac6bd14c672c102 Mon Sep 17 00:00:00 2001 From: Reed Mullanix Date: Fri, 5 Jul 2019 10:32:01 -0700 Subject: [PATCH] Add LSP support for F# --- modules/lang/fsharp/config.el | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/modules/lang/fsharp/config.el b/modules/lang/fsharp/config.el index f56000a1c..b88f32bb2 100644 --- a/modules/lang/fsharp/config.el +++ b/modules/lang/fsharp/config.el @@ -1,14 +1,22 @@ ;;; lang/fsharp/config.el -*- lexical-binding: t; -*- (after! fsharp-mode - (setq fsharp-ac-use-popup nil) ; Use a buffer for docs rather than a pop-up - (set-lookup-handlers! 'fsharp-mode :async t :definition #'fsharp-ac/gotodefn-at-point) - (set-company-backend! 'fsharp-mode 'fsharp-ac/company-backend) + (if (featurep! +lsp) + (progn + (setq fsharp-ac-intellisense-enabled nil) + (setq lsp-fsharp-server-install-dir (concat doom-etc-dir "fsautocomplete/")) + (add-hook 'fsharp-mode-hook #'lsp)) + (progn + (setq fsharp-ac-use-popup nil) ; Use a buffer for docs rather than a pop-up + (set-lookup-handlers! 'fsharp-mode :async t :definition #'fsharp-ac/gotodefn-at-point) + (set-company-backend! 'fsharp-mode 'fsharp-ac/company-backend) + (map! :localleader + :map fsharp-mode-map + "q" #'fsharp-ac/stop-process + "t" #'fsharp-ac/show-tooltip-at-point))) (set-repl-handler! 'fsharp-mode #'run-fsharp) (map! :localleader :map fsharp-mode-map "b" #'fsharp-ac/pop-gotodefn-stack ; Useful for re-tracing your steps "e" #'fsharp-eval-region - "l" #'fsharp-load-buffer-file - "q" #'fsharp-ac/stop-process - "t" #'fsharp-ac/show-tooltip-at-point)) + "l" #'fsharp-load-buffer-file))