From b6f7779397c53c768c3c6a4dd0d08bc61edd72b2 Mon Sep 17 00:00:00 2001 From: odave Date: Thu, 26 Mar 2020 13:52:22 +0000 Subject: +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 --- doom.d/modules/private/ocaml/config.el | 20 ++++++++++++++++++++ doom.d/modules/private/ocaml/packages.el | 6 ++++++ 2 files changed, 26 insertions(+) create mode 100644 doom.d/modules/private/ocaml/config.el create mode 100644 doom.d/modules/private/ocaml/packages.el (limited to 'doom.d/modules/private/ocaml') 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) -- cgit v1.2.3-13-gbd6f