Function: tuareg-browse-library
tuareg-browse-library is an interactive and natively compiled function
defined in tuareg.el.
Signature
(tuareg-browse-library)
Documentation
Browse the OCaml library.
Key Bindings
This command is not in any keymaps.
Source Code
;; Defined in /nix/store/6mbh851dhnag8f92qfrlh9ckldzwf6c6-emacs-packages-deps/share/emacs/site-lisp/elpa/tuareg-20260626.936/tuareg.el
(defun tuareg-browse-library ()
"Browse the OCaml library."
(interactive)
(let ((buf-name "*ocaml-library*") (opoint)
(dir (read-from-minibuffer "Library dir: " tuareg-library-path)))
(when (and (file-directory-p dir) (file-readable-p dir))
(setq tuareg-library-path dir)
;; List *.ml and *.mli files
(with-output-to-temp-buffer buf-name
(buffer-disable-undo standard-output)
(with-current-buffer buf-name
(kill-all-local-variables)
(setq-local tuareg-library-path dir)
;; Help
(insert "Directory \"" dir "\".\n")
(insert "Select a file with middle mouse button or RETURN.\n\n")
(insert "Interface files (.mli):\n\n")
(insert-directory (concat dir "/*.mli") "-C" t nil)
(insert "\n\nImplementation files (.ml):\n\n")
(insert-directory (concat dir "/*.ml") "-C" t nil)
;; '.', '-' and '_' are now letters
(modify-syntax-entry ?. "w")
(modify-syntax-entry ?_ "w")
(modify-syntax-entry ?- "w")
;; Every file name is now mouse-sensitive
(goto-char (point-min))
(while (< (point) (point-max))
(re-search-forward "\\.ml.?\\>")
(setq opoint (point))
(re-search-backward "\\<" (point-min) 1)
(put-text-property (point) opoint 'mouse-face 'highlight)
(goto-char (+ 1 opoint)))
;; Activate tuareg-library mode
(setq major-mode 'tuareg-library-mode)
(setq mode-name "tuareg-library")
(use-local-map tuareg-library-mode-map)
(setq buffer-read-only t))))))