aboutsummaryrefslogtreecommitdiff
path: root/doom.d/modules/private/ocaml
diff options
context:
space:
mode:
authorodave <aryadevchavali1@gmail.com>2020-03-26 13:52:22 +0000
committerodave <aryadevchavali1@gmail.com>2020-03-26 13:52:22 +0000
commitb6f7779397c53c768c3c6a4dd0d08bc61edd72b2 (patch)
tree0950e66b6c90d467d0163445b0381d0891af07e1 /doom.d/modules/private/ocaml
parent60237c6ebcf7d49bc9d5087875b0cee7c39d76d5 (diff)
downloaddotfiles-b6f7779397c53c768c3c6a4dd0d08bc61edd72b2.tar.gz
dotfiles-b6f7779397c53c768c3c6a4dd0d08bc61edd72b2.tar.bz2
dotfiles-b6f7779397c53c768c3c6a4dd0d08bc61edd72b2.zip
+custom ocaml module
This ocaml module has proper lsp support, and has the bindings I require regularly. I use utop to REPL my code, with bindings to send parts of my code to UTOP
Diffstat (limited to 'doom.d/modules/private/ocaml')
-rw-r--r--doom.d/modules/private/ocaml/config.el20
-rw-r--r--doom.d/modules/private/ocaml/packages.el6
2 files changed, 26 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)))))
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)