Я пытаюсь создать фрагмент, который будет принимать содержимое буфера обмена (текст заголовка в документе markdown
) и преобразовывать его в ссылку на этот раздел. Например, если мой буфер обмена содержит: Some Heading - 20191107
, то я хочу, чтобы было выведено следующее:
[Some Heading - 20191107](filename.md#some-heading---20191107)
Вот мой фрагмент VS Code
для markdown
:
"link to this section": {
"prefix": "isection",
"body": [
"[${1:${CLIPBOARD}}](${TM_FILENAME}#${CLIPBOARD/ /-/g})"
],
"description": "Insert link to section whose heading text is in the clipboard"
}
Это первое преобразование, но я не могу понять, как вложить несколько преобразований:
- Заменить все пробелы дефисом.
- Изменить все на строчные.
- Удалите все символы, соответствующие
[^a-z0-9-]
Контрольный пример
Чтобы уточнить мой контрольный пример для @Mark, в документе markdown
в VS Code
, ясоздайте заголовок раздела, например:
# 20191107 - @#$%^& This is a section - 20191107
Затем я копирую текст 20191107 - @#$%^& This is a section - 20191107
и запускаю фрагмент, который вы для меня исправили. Он выводит:
[20191107 - @#$%^& This is a section - 20191107](tips.tech.git.md#20191107----this-is-a-section---20191107)
Какая действительная ссылка на заголовок!