aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doom.d/config/config.org9
-rw-r--r--doom.d/config/packages.org4
-rw-r--r--doom.d/modules/private/ocaml/config.el20
-rw-r--r--doom.d/modules/private/ocaml/packages.el6
4 files changed, 26 insertions, 13 deletions
diff --git a/doom.d/config/config.org b/doom.d/config/config.org
index e77196d..f035346 100644
--- a/doom.d/config/config.org
+++ b/doom.d/config/config.org
@@ -340,15 +340,6 @@ each of the unit tests ran."
(after! (haskell-mode dante)
(setq dante-repl-command-line '("stack" "ghci")))
#+END_SRC
-** Ocaml
-Added ocaml-lsp support.
-#+BEGIN_SRC elisp
-(after! lsp
- (lsp-register-client
- (make-lsp-client :new-connection (lsp-stdio-connection "ocamllsp")
- :major-modes '(tuareg-mode)
- :server-id 'ocaml-lsp)))
-#+END_SRC
** FSharp
#+BEGIN_SRC elisp
(after! fsharp
diff --git a/doom.d/config/packages.org b/doom.d/config/packages.org
index ca8309e..9ded568 100644
--- a/doom.d/config/packages.org
+++ b/doom.d/config/packages.org
@@ -52,7 +52,3 @@ Auto complete is essential to make the ultimate IDE experience™. Thus, company
#+BEGIN_SRC elisp
(package! company-arduino)
#+END_SRC
-** Ocaml
-#+BEGIN_SRC elisp
-(package! tuareg)
-#+END_SRC
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)))))
diff --git a/doom.d/modules/private/ocaml/packages.el b/doom.d/modules/private/ocaml/packages.el
new file mode 100644
index 0000000..61f1c8d
--- /dev/null
+++ b/doom.d/modules/private/ocaml/packages.el
@@ -0,0 +1,6 @@
+;; -*- no-byte-compile: t; -*-
+;;; private/ocaml/packages.el
+
+
+(package! tuareg)
+(package! utop)