Skip to content

Commit

Permalink
Запрещает оставлять один символ имени метода при переносе на следующу…
Browse files Browse the repository at this point in the history
…ю строку (#998)
  • Loading branch information
Inventoris authored Oct 13, 2022
1 parent 22259ad commit 9e1a983
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion src/transforms/code-breakify-transform.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
function breakify(content) {
const symbols = ['.', ',', '-', '_', '=', ':', '~', '/', '\\', '?', '#', '%', '(', ')', '[', ']']

// Расстановка переносов между частями слова
if (/[A-Z]/g.test(content)) {
switch (true) {
case /^[^A-Z]/.test(content):
Expand All @@ -17,8 +18,16 @@ function breakify(content) {
}
}

// Расстановка переносов по спецсимволам
for (const symbol of symbols) {
content = content.replaceAll(symbol, (match) => `<wbr>${match}<wbr>`)
const firstSymbolWithinTags = new RegExp(`^(<wbr>)[\\${symbol}](<wbr>)`, '')

content = content.replaceAll(symbol, `<wbr>${symbol}<wbr>`)

// Исключение для переносов первого спецсимвола в слове
if (firstSymbolWithinTags.test(content)) {
content = content.replace(firstSymbolWithinTags, `${symbol}`)
}
}

return content
Expand Down

0 comments on commit 9e1a983

Please sign in to comment.