Глоб для набора расширений файлов везде, кроме одной папки - PullRequest
1 голос
/ 04 июня 2019

Мне нужно написать глобус, чтобы он соответствовал разным типам файлов (*.{js,ts,md,json,yaml,yml,css,html}) везде внутри моего каталога проекта и всех его подкаталогов, кроме ignored-folder.Например:

should-match.js
src/should-match.ts
src/nested/should-match.css
ignored/should-NOT-match.json

Это довольно близко:

!(ignored-folder)/**/*.{js,ts,md,json,yaml,yml,css,html}

Однако, он не включает корневой уровень should-match.js.Некоторый способ исправить это состоит в том, чтобы в основном дублировать последний сегмент следующим образом:

{*.{js,ts,md,json,yaml,yml,css,html},!(ignored-folder)/**/*.{js,ts,md,json,yaml,yml,css,html}}

С переменными это можно записать так:

{$EXTENSIONS,!(ignored-folder)/**/$EXTENSIONS}

Однако я не могуиспользуйте переменные, чтобы дублирование было немного неприятным.Есть ли лучший способ написать глобус?

1 Ответ

1 голос
/ 04 июня 2019

Это работает:

{!(ignored-folder)/**/,}*.{js,ts,md,json,yaml,yml,css,html}
...