2019-04-13 23:23:55 -07:00
|
|
|
;;; lang/fsharp/config.el -*- lexical-binding: t; -*-
|
|
|
|
|
|
|
|
(after! fsharp-mode
|
2021-12-12 22:09:16 +00:00
|
|
|
(when (executable-find "dotnet")
|
|
|
|
(setq inferior-fsharp-program "dotnet fsi --readline-"))
|
2022-08-12 20:29:19 +02:00
|
|
|
(if (modulep! +lsp)
|
2019-07-05 10:32:01 -07:00
|
|
|
(progn
|
|
|
|
(setq fsharp-ac-intellisense-enabled nil)
|
2022-03-24 02:19:52 +01:00
|
|
|
(add-hook 'fsharp-mode-local-vars-hook #'lsp! 'append))
|
2019-07-05 10:58:55 -07:00
|
|
|
(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))
|
2019-05-22 21:41:50 -07:00
|
|
|
(set-repl-handler! 'fsharp-mode #'run-fsharp)
|
2022-11-17 17:03:12 +00:00
|
|
|
(set-formatter! 'fantomas '("fantomas" "--stdin") :modes '(fsharp-mode))
|
2019-04-13 23:23:55 -07:00
|
|
|
(map! :localleader
|
|
|
|
:map fsharp-mode-map
|
|
|
|
"b" #'fsharp-ac/pop-gotodefn-stack ; Useful for re-tracing your steps
|
2019-05-22 21:41:50 -07:00
|
|
|
"e" #'fsharp-eval-region
|
2019-07-05 10:58:55 -07:00
|
|
|
"l" #'fsharp-load-buffer-file
|
2022-08-12 20:29:19 +02:00
|
|
|
(:unless (modulep! +lsp)
|
2021-12-12 22:09:16 +00:00
|
|
|
"q" #'fsharp-ac/stop-process
|
|
|
|
"t" #'fsharp-ac/show-tooltip-at-point)))
|