doomemacs/modules/lang/fsharp/config.el
Henrik Lissner 1bdcb81feb
refactor!(lib): set-indent-vars!: change signature
BREAKING CHANGE: Changes `set-indent-vars!`s arity from 1+N to 2, so:

  (set-indent-vars! 'some-mode 'var1 'var2 'var3)

To

  (set-indent-vars! 'some-mode '(var1 var2 var3))

In preparation for a plist argument in the future.
2026-03-31 21:06:58 -04:00

23 lines
1.1 KiB
EmacsLisp

;;; lang/fsharp/config.el -*- lexical-binding: t; -*-
(after! fsharp-mode
(when (executable-find "dotnet")
(setq inferior-fsharp-program "dotnet fsi --readline-"))
(if (modulep! +lsp)
(progn
(setq fsharp-ac-intellisense-enabled nil)
(add-hook 'fsharp-mode-local-vars-hook #'lsp! 'append))
(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))
(set-repl-handler! 'fsharp-mode #'run-fsharp)
(set-formatter! 'fantomas '("fantomas" "--stdin") :modes '(fsharp-mode))
(set-indent-vars! 'fsharp-mode '(fsharp-indent-offset fsharp-continuation-offset))
(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
(:unless (modulep! +lsp)
"q" #'fsharp-ac/stop-process
"t" #'fsharp-ac/show-tooltip-at-point)))