2025-12-17 03:55:28 +11:00
|
|
|
;; -*- lexical-binding: t; -*-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(use-package tuareg
|
2026-03-29 19:12:45 +11:00
|
|
|
:straight t
|
2025-12-26 20:04:45 +08:00
|
|
|
:mode (("\\.ocamlinit\\'" . tuareg-mode))
|
|
|
|
|
:config
|
2026-04-02 13:27:43 +11:00
|
|
|
(setq tuareg-prettify-symbols-full t))
|
2025-12-17 03:55:28 +11:00
|
|
|
|
2026-04-02 13:27:43 +11:00
|
|
|
;; (use-package dune)
|
2025-12-26 20:04:45 +08:00
|
|
|
|
|
|
|
|
(use-package opam-switch-mode
|
|
|
|
|
:hook (tuareg-mode . opam-switch-mode)
|
|
|
|
|
:config
|
|
|
|
|
(setq tuareg-opam-insinuate t))
|
|
|
|
|
|
|
|
|
|
(use-package ocp-indent
|
2026-03-30 11:49:18 +11:00
|
|
|
:hook (tuareg-mode . ocp-setup-indent))
|
2025-12-26 20:04:45 +08:00
|
|
|
|
|
|
|
|
(use-package utop)
|
|
|
|
|
|
2026-03-30 11:49:18 +11:00
|
|
|
;; (use-package ocaml-eglot
|
|
|
|
|
;; :straight t
|
|
|
|
|
;; :after tuareg
|
|
|
|
|
;; :hook (tuareg-mode . ocaml-eglot)
|
|
|
|
|
;; :hook (ocaml-eglot . eglot-ensure)
|
|
|
|
|
;; :config
|
|
|
|
|
;; (setq ocaml-eglot-syntax-checker 'flycheck))
|
|
|
|
|
|
|
|
|
|
|
2025-12-26 20:04:45 +08:00
|
|
|
;; (use-package merlin
|
|
|
|
|
;; :hook (tuareg-mode . +ocaml-init-merlin)
|
|
|
|
|
;; :init
|
|
|
|
|
;; (defun +ocaml-init-merlin ()
|
|
|
|
|
;; (when (executable-find "ocamlmerlin")
|
|
|
|
|
;; (merlin-mode)))
|
|
|
|
|
;; :config
|
|
|
|
|
;; (setq merlin-completion-with-doc t))
|
|
|
|
|
|
|
|
|
|
;; (use-package merlin-eldoc
|
|
|
|
|
;; :hook (merlin-mode . merlin-eldoc-setup))
|
|
|
|
|
|
2026-03-30 11:49:18 +11:00
|
|
|
(use-package flycheck-ocaml)
|
2025-12-26 20:04:45 +08:00
|
|
|
|
|
|
|
|
|
2025-12-17 03:55:28 +11:00
|
|
|
|
|
|
|
|
(provide 'init-ocaml)
|