]> git.eshelyaron.com Git - dict.git/commitdiff
* (sweeprolog-mode): Improve interaction with auto-fill-mode
authorEshel Yaron <me@eshelyaron.com>
Sat, 10 Dec 2022 07:35:41 +0000 (09:35 +0200)
committerEshel Yaron <me@eshelyaron.com>
Sat, 10 Dec 2022 07:35:41 +0000 (09:35 +0200)
sweeprolog-tests.el
sweeprolog.el

index cf0d331151d43f79ad39ff72f87aa7fe230cbfbd..5ccbb031118ce180a2f2d5a7fb4dfeafc20a2a9d 100644 (file)
@@ -1044,6 +1044,29 @@ scasp_and_show(Q, Model, Tree) :-
 %
 %   "))))
 
+(ert-deftest auto-fill-pldoc-comments ()
+  "Test writing PlDoc comments with `auto-fill-mode' enable."
+  (with-temp-buffer
+    (sweeprolog-mode)
+    (auto-fill-mode)
+    (seq-do (lambda (c)
+              (let ((last-command-event c))
+                (call-interactively #'self-insert-command)))
+            "
+%!  foobar is det.
+%
+%   Nam vestibulum accumsan nisl.  Donec pretium posuere tellus.  Aenean in sem ac leo mollis blandit.  Nam a sapien.  Proin quam nisl, tincidunt et, mattis eget, convallis nec, purus.
+"
+            )
+    (should (string= (buffer-string)
+                     "
+%!  foobar is det.
+%
+%   Nam vestibulum accumsan nisl.  Donec pretium posuere tellus.
+%   Aenean in sem ac leo mollis blandit.  Nam a sapien.  Proin quam
+%   nisl, tincidunt et, mattis eget, convallis nec, purus.
+"))))
+
 (ert-deftest electric-layout ()
   "Test `sweeprolog-electric-layout-mode'."
   (with-temp-buffer
index 9fabeb028083516ba2bdee8f042fa529ab77f2c0..92c0bde6b0b9b2da2b13c4968b82385d8f856f48 100644 (file)
@@ -3545,6 +3545,8 @@ certain contexts to maintain conventional Prolog layout."
   (setq-local forward-sexp-function #'sweeprolog-forward-sexp-function)
   (setq-local syntax-propertize-function #'sweeprolog-syntax-propertize)
   (setq-local indent-line-function #'sweeprolog-indent-line)
+  (setq-local adaptive-fill-regexp "[ \t]*")
+  (setq-local fill-indent-according-to-mode t)
   (setq-local font-lock-defaults
               '(nil
                 nil