Fix format

This commit is contained in:
Andros Fenollosa 2023-06-12 13:00:22 +02:00
parent 4dc12a820d
commit 1429d2c03b

View File

@ -21,11 +21,17 @@ IS-FIRST-WORD-CAPITALIZED is a boolean that indicates
if the first word should be capitalized. if the first word should be capitalized.
IS-ALL-WORDS-CAPITALIZED is a boolean that indicates IS-ALL-WORDS-CAPITALIZED is a boolean that indicates
if all words should be capitalized." if all words should be capitalized."
(let* ((words-lower-case (downcase sentence)) ; To lowercase (let* ((words-lower-case (downcase sentence)) ; To lowercase.
(words (split-string words-lower-case " ")) ; Split sentence into words by spaces (words (split-string words-lower-case " ")) ; Split sentence into words
(words-case (if is-all-words-capitalized (mapcar #'capitalize words) words)) ; Capitalize first letter of each word ; by spaces.
(sentence-with-new-separator (mapconcat #'identity words-case separator)) ; Join words with separator (words-case (if is-all-words-capitalized (mapcar #'capitalize words)
(sentence-with-first-word-capitalized (if is-first-word-capitalized sentence-with-new-separator (concat (downcase (substring sentence-with-new-separator 0 1)) (substring sentence-with-new-separator 1)))) ; Capitalize first letter of first word words)) ; Capitalize first letter of each word.
(sentence-with-new-separator (mapconcat #'identity words-case
separator)) ; Join words with separator.
(sentence-with-first-word-capitalized (if is-first-word-capitalized
sentence-with-new-separator (concat (downcase
(substring sentence-with-new-separator 0 1))
(substring sentence-with-new-separator 1)))) ; Capitalize first letter of first word.
) )
sentence-with-first-word-capitalized)) sentence-with-first-word-capitalized))
@ -33,7 +39,8 @@ if all words should be capitalized."
(defmacro format-region-curried (separator (defmacro format-region-curried (separator
is-first-word-capitalized is-first-word-capitalized
is-all-words-capitalized) is-all-words-capitalized)
"Curry the function to-format with SEPARATOR, IS-FIRST-WORD-CAPITALIZED and IS-ALL-WORDS-CAPITALIZED." "Curry the function to-format:
SEPARATOR, IS-FIRST-WORD-CAPITALIZED and IS-ALL-WORDS-CAPITALIZED."
`(lambda (sentence) (format-region-to-format sentence ,separator ,is-first-word-capitalized ,is-all-words-capitalized))) `(lambda (sentence) (format-region-to-format sentence ,separator ,is-first-word-capitalized ,is-all-words-capitalized)))
;; Define functions ;; Define functions