Function: tuareg--fill-string
tuareg--fill-string is a natively compiled function defined in
tuareg.el.
Signature
(tuareg--fill-string)
Documentation
Assume the point is inside a string delimited by " and jusfify it.
This function moves the point.
Source Code
;; Defined in /nix/store/6mbh851dhnag8f92qfrlh9ckldzwf6c6-emacs-packages-deps/share/emacs/site-lisp/elpa/tuareg-20260626.936/tuareg.el
(defun tuareg--fill-string ()
"Assume the point is inside a string delimited by \" and jusfify it.
This function moves the point."
;; FIXME: be more subtle: detect lists and @param
(let* ((start-end (tuareg--string-boundaries))
(start (set-marker (make-marker) (car start-end)))
(end (set-marker (make-marker) (cdr start-end)))
fill-prefix
(fill-individual-varying-indent t)
(use-hard-newlines t))
(indent-region (marker-position start) (marker-position end))
;; Delete all backslash protected newlines except those without
;; a preceding space that serve to cut a long word.
(goto-char (marker-position start))
;;(indent-according-to-mode)
(setq fill-prefix (make-string (1+ (current-column)) ?\ ))
(if (looking-at "\"\\\\ *[\n\r] *")
(replace-match "\""))
(while (re-search-forward " +\\\\ *[\n\r] *" (marker-position end) t)
(replace-match " "))
(set-hard-newline-properties (marker-position start)
(marker-position end))
;; Do not include the final \" not to remove space before it:
(fill-region (marker-position start) (1- (marker-position end)))
;; Protect all soft newlines
(goto-char (marker-position start))
(end-of-line)
(while (< (point) (marker-position end))
(unless (get-char-property (point) 'hard)
(insert " \\"))
(forward-char)
(end-of-line))
(set-marker start nil)
(set-marker end nil)))