BracketsでSmarty標準デリミタを無理やり変更する方法


BracketsでSmarty標準デリミタ変更する方法を探しましたが、全く情報もなく設定ファイルから変更する方法は見つけ出す事ができませんでした。

しかし、Smarty標準デリミタを変更できないはずもなく、変更できなければBracketsを使う気も起きないので力技で無理やり解決しました。


テキストエディタを管理者権限で起動する

上書き禁止のファイルを編集するため、テキストエディタを管理者権限で起動します。エディタのアイコンを右クリックして「管理者として実行」を選んで起動します。


smarty.jsファイルを開く

Bracketsのインストールディレクトリ内にある「smarty.js」ファイルを管理者権限で起動したエディタで開きます。

自分のPC環境だと以下の場所にありました。

C:/Program Files (x86)/Brackets/www/thirdparty/CodeMirror/mode/smarty/smarty.js


rightDelimiter/leftDelimiter を変更する

smarty.jsファイルの20行目あたりの部分をお好みのデリミタに変更します。

//var rightDelimiter = parserConf.rightDelimiter || "}";
//var leftDelimiter = parserConf.leftDelimiter || "{";
  var rightDelimiter = parserConf.rightDelimiter || "*}";
  var leftDelimiter = parserConf.leftDelimiter || "{*";

本来の使い方としては、外部から「parserConf.rightDelimiter」の値を上書きすれば、直接ファイルを編集しなくともデリミタを変更出来るはずですが、今回はその設定がうまく動作しませんでした。

変更後にBracketsを再起動すれば変更が反映されます。


この方法のデメリット

ずばり、Bracketsのバージョンアップによって「smarty.js」が上書きされてしまい、デリミタ設定が元に戻ります。

Bracketsのバージョンアップもめったに無いので今のところ問題ないですが、正式な方法も探していこうとは思います。