mirror of
https://github.com/logseq/logseq.git
synced 2026-04-29 00:24:51 +00:00
fix: potential fix for #2249
This commit is contained in:
@@ -33,30 +33,31 @@
|
||||
;; (find-position "** hello _w_" "hello w")
|
||||
(defn find-position
|
||||
[markup text]
|
||||
(try
|
||||
(let [pos (loop [t1 (-> markup string/lower-case seq)
|
||||
t2 (-> text string/lower-case seq)
|
||||
i1 0
|
||||
i2 0]
|
||||
(let [[h1 & r1] t1
|
||||
[h2 & r2] t2]
|
||||
(cond
|
||||
(or (empty? t1) (empty? t2))
|
||||
i1
|
||||
(when (and (string? markup) (string? text))
|
||||
(try
|
||||
(let [pos (loop [t1 (-> markup string/lower-case seq)
|
||||
t2 (-> text string/lower-case seq)
|
||||
i1 0
|
||||
i2 0]
|
||||
(let [[h1 & r1] t1
|
||||
[h2 & r2] t2]
|
||||
(cond
|
||||
(or (empty? t1) (empty? t2))
|
||||
i1
|
||||
|
||||
(= h1 h2)
|
||||
(recur r1 r2 (inc i1) (inc i2))
|
||||
(= h1 h2)
|
||||
(recur r1 r2 (inc i1) (inc i2))
|
||||
|
||||
(#{\[ \space \]} h2)
|
||||
(recur t1 r2 i1 (inc i2))
|
||||
(#{\[ \space \]} h2)
|
||||
(recur t1 r2 i1 (inc i2))
|
||||
|
||||
:else
|
||||
(recur r1 t2 (inc i1) i2))))]
|
||||
(if (and (= (util/nth-safe markup pos)
|
||||
(util/nth-safe markup (inc pos))
|
||||
"]"))
|
||||
(+ pos 2)
|
||||
pos))
|
||||
(catch js/Error e
|
||||
(log/error :diff/find-position {:error e})
|
||||
(count markup))))
|
||||
:else
|
||||
(recur r1 t2 (inc i1) i2))))]
|
||||
(if (and (= (util/nth-safe markup pos)
|
||||
(util/nth-safe markup (inc pos))
|
||||
"]"))
|
||||
(+ pos 2)
|
||||
pos))
|
||||
(catch js/Error e
|
||||
(log/error :diff/find-position {:error e})
|
||||
(count markup)))))
|
||||
|
||||
Reference in New Issue
Block a user