Add LSP support for F#

This commit is contained in:
Reed Mullanix 2019-07-05 10:32:01 -07:00
parent d39500f143
commit 9c950ff3f6

View File

@ -1,14 +1,22 @@
;;; lang/fsharp/config.el -*- lexical-binding: t; -*- ;;; lang/fsharp/config.el -*- lexical-binding: t; -*-
(after! fsharp-mode (after! fsharp-mode
(setq fsharp-ac-use-popup nil) ; Use a buffer for docs rather than a pop-up (if (featurep! +lsp)
(set-lookup-handlers! 'fsharp-mode :async t :definition #'fsharp-ac/gotodefn-at-point) (progn
(set-company-backend! 'fsharp-mode 'fsharp-ac/company-backend) (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) (set-repl-handler! 'fsharp-mode #'run-fsharp)
(map! :localleader (map! :localleader
:map fsharp-mode-map :map fsharp-mode-map
"b" #'fsharp-ac/pop-gotodefn-stack ; Useful for re-tracing your steps "b" #'fsharp-ac/pop-gotodefn-stack ; Useful for re-tracing your steps
"e" #'fsharp-eval-region "e" #'fsharp-eval-region
"l" #'fsharp-load-buffer-file "l" #'fsharp-load-buffer-file))
"q" #'fsharp-ac/stop-process
"t" #'fsharp-ac/show-tooltip-at-point))