aboutsummaryrefslogtreecommitdiff
path: root/doom.d/modules/private/ocaml/config.el
diff options
context:
space:
mode:
Diffstat (limited to 'doom.d/modules/private/ocaml/config.el')
-rw-r--r--doom.d/modules/private/ocaml/config.el20
1 files changed, 20 insertions, 0 deletions
diff --git a/doom.d/modules/private/ocaml/config.el b/doom.d/modules/private/ocaml/config.el
new file mode 100644
index 0000000..b348197
--- /dev/null
+++ b/doom.d/modules/private/ocaml/config.el
@@ -0,0 +1,20 @@
+;;; private/ocaml/config.el -*- lexical-binding: t; -*-
+
+(use-package! utop
+ :config
+ (map!
+ :localleader
+ :map tuareg-mode-map
+ :desc "Repl" "c" #'utop
+ (:prefix ("e" . "eval")
+ :desc "Buffer" "b" #'utop-eval-buffer
+ :desc "Region" "r" #'utop-eval-region)))
+
+
+(when (featurep! +lsp)
+ (after! lsp
+ (lsp-register-client
+ (make-lsp-client :new-connection (lsp-stdio-connection "ocamllsp")
+ :major-modes '(tuareg-mode)
+ :server-id 'ocaml-lsp))
+ (add-hook 'tuareg-mode-hook #'(lambda () (lsp-mode)))))