FC2ブログ
OnSaveBuild プラグインで _ を先頭に持つファイル名を除外する (Sublime Text 3)
Sublime Text 3 で、OnSaveBuild プラグインを使用。

scss などを保存時に自動コンパイルしてくれるので、チョー便利!

ただ、 _sample.scss など _ を頭に付けたファイルは保存時にビルドしてほしくないなー。

さっそく Preffrences → Package settings → SublimeOnSaveBuild → Settings - User をいじる。

( \ 記号は、Sublime の設定ファイル上ではバックスラッシュとして表示されてます)


設定ファイルは空っぽなので、以下を追加する

{
"filename_filter": "^(?!_).*\\.(sass|less|scss)$",
}


^ ... 行頭 or 文字列の先頭
$ ... 行末 or 文字列の最後
(?!_) ... ?! に続く文字ではない、の意。(この例では _ ではない、の意味)

これは、*.html 上で記述した Javascript では期待の動作をしたけれど、sublime 上では _ 付きファイルもなぜか全部ビルドされてしまった。

うーん、それではと、こちらを参考にして、
https://stackoverflow.com/questions/16090448/sublime-sass-exclude-with-regex

{
"filename_filter": "^[^_].*\\.(sass|scss)$|\\.(css|js|less)$"
}


と直すも、やはり期待した動作をせず。

※ [] で囲んだ中では、^ (キャレット) は 「次の文字ではない」 を表すらしい。…合ってるかな?


よく見ると、\ であるべき部分は、設定ファイルでは \\ となってる。
エスケープ文字をさらにエスケープしてるような…

わけも分からず試しに \\ をそのキャレットの前に付けてみたら、

{
"filename_filter": "^[\\^_].*\\.(sass|scss)$"
}


めでたく動作しました~☆

ちゃんと _sample.scss ではビルドせずにそのまま保存され、sample.scss ではビルドして保存されるように・・・・

ならない!!!!


実際やったらあれ、動作しない。
全部コンパイルされてしまう。

否定は効かないのだろうか。
Ctrl + F の文書内検索(正規表現) では動作するんだけどなぁ。

じゃ、これでどうだ!?

{
"filename_filter": "^[a-zA-Z0-9].*\\.(sass|scss)$",
}


アルファベットと数字ではじまるものだけ対象、って感じです。
気持ち悪いけどまぁ仕方ない。

あーけどこれも動作しないやー。


情報みっけ。

Avoid saving on partials / SublimeOnSaveBuild
https://github.com/alexnj/SublimeOnSaveBuild/issues/11#issuecomment-24952435

これでどうだ!!

{
"filename_filter": "(/|\\\\|^)(?!_)(\\w+)\\.(sass|scss)$", // this works.
}


やったー!! ちゃんと動作しましたー

もうこの正規表現の意味はよくわからないけどねー

スポンサーサイト


2019-06-03 Mon | ソフトウェア | トラックバック:0 | コメント:0
□ コメントの投稿
管理者にだけ表示を許可する

Thank you for visiting me !
プロフィール

kobuchicken

  • 管理人: kobuchicken
  • Linux 初心者です。XP 無しで過ごした長い長い 98 の日々。Ubuntu & 派生ディストリの有難さを感じる今日この頃です。フリーの OS がもっと身近になりますように。
  • RSS
カレンダー
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
06月 « 2019/07 » 08月
ブログ内を検索
Search this site.