瀏覽代碼

Merge pull request #4589 from g1eny0ung/fix/4588

fix: cycle marker will remove `#` unexpectedly
Gabriel Horner 3 年之前
父節點
當前提交
590ed9c302
共有 2 個文件被更改,包括 6 次插入4 次删除
  1. 3 3
      src/main/frontend/util/marker.cljs
  2. 3 1
      src/test/frontend/util/marker_test.cljs

+ 3 - 3
src/main/frontend/util/marker.cljs

@@ -4,7 +4,7 @@
 
 (defn marker-pattern [format]
   (re-pattern
-   (str "^" (when-not (= format :org) "(#*\\s*)?")
+   (str "^" (when-not (= format :org) "(#+\\s+)?")
         "(NOW|LATER|TODO|DOING|DONE|WAITING|WAIT|CANCELED|CANCELLED|STARTED|IN-PROGRESS)?\\s?")))
 
 (def bare-marker-pattern
@@ -30,13 +30,13 @@
 
 (defn header-marker-pattern
   [markdown? marker]
-  (re-pattern (str "^" (when markdown? "#*\\s*") marker)))
+  (re-pattern (str "^" (when markdown? "#+\\s+") marker)))
 
 (defn replace-marker
   [content markdown? old-marker new-marker]
   (string/replace-first content (header-marker-pattern markdown? old-marker)
                         (fn [match]
-                          (if (and markdown? (= new-marker "")  (string/starts-with? match "#"))
+                          (if (and markdown? (= new-marker "") (string/starts-with? match "#"))
                             (string/replace match (str " " old-marker) "")
                             (string/replace match old-marker new-marker)))))
 

+ 3 - 1
src/test/frontend/util/marker_test.cljs

@@ -12,7 +12,9 @@
     "todo" "TODO" "TODO todo"
     "TODO xxx" "DONE" "DONE xxx"
     "TODO" "DONE" "DONE "
-    "## TODO [#A] xxx" "DONE" "## DONE [#A] xxx"))
+    "## TODO [#A] xxx" "DONE" "## DONE [#A] xxx"
+    "#test content" "TODO" "TODO #test content"
+    "TODO #test content" "DONE" "DONE #test content"))
 
 (deftest add-or-update-marker-org
   (are [content marker expect] (= expect (marker/add-or-update-marker content :org marker))