Only remove heading patterns when there're followed spaces

Resolved https://github.com/logseq/logseq/issues/523
pull/645/head
Tienson Qin 2020-10-26 20:48:11 +08:00
parent 34dae70d5a
commit 63df7efbff
2 changed files with 12 additions and 8 deletions

View File

@ -1283,7 +1283,7 @@
[{:keys [format block id repo dummy?] :as state} value]
(when (or (:db/id (db/entity repo [:block/uuid (:block/uuid block)]))
dummy?)
(let [value (text/remove-level-spaces value format)
(let [value (text/remove-level-spaces value format true)
new-value (block/with-levels value format block)]
(let [cache [(:block/uuid block) value]]
(when (not= @*last-edit-block cache)

View File

@ -6,13 +6,17 @@
[frontend.db :as db]))
(defn remove-level-spaces
[text format]
(if-not (string/blank? text)
(let [pattern (util/format
"^[%s]+\\s?"
(config/get-block-pattern format))]
(string/replace-first text (re-pattern pattern) ""))
""))
([text format]
(remove-level-spaces text format false))
([text format space?]
(if-not (string/blank? text)
(let [pattern (util/format
(if space?
"^[%s]+\\s+"
"^[%s]+\\s?")
(config/get-block-pattern format))]
(string/replace-first text (re-pattern pattern) ""))
"")))
(defn append-newline-after-level-spaces
[text format]