2013年1月24日木曜日

プログラミングのコードをBBEdit( - Bare Bones Software, Inc.)を使って書いてて、もっと快適に使いたいなあと思ってたら、Main Page - BBEditExtrasBBEdit Smart Newline and Open Line Upという快適なAppleScriptを発見!ただ、JavaScriptのコードを書いてJSLintでチェックをすると、エラーが発生するので少しだけ修正。

で、エラーの内容はというと、

Use spaces, not tabs.

インデントがスペース4つ分ではなく、タブ「\t」になってるのが原因みたい。AppleScriptは知らなかった(というか今でもほとんど知らない)けど、とりあえずAppleScript Editorで修正に挑戦してみることに。

コードを眺めていると、

set 変数名 to 値

というのが、いわゆる他のコードでいう(ここではJavaScriptで)

var 変数名 = 値;

という変数への値の代入と同じみたい。

そこで空白4つでインデントしてほしいのがタブの挿入になってるみたいなので、それっぽい箇所を探してみる。

-- Define a tab based on user settings
  set aTab to tab

おそらくここだ、というところを発見!

そしてaTabにtabではなくspaceと代入してみる。すると今度はインデントが空白1つ分になった。文字列の掛け算とか分からないし(AppleScriptにあるのかな)、とりあえずインデントをスペース4つ分にしたいだけなので、

set aTab to "    "

と変更。すると上手くいった!(cmd + returnというショートカットは割り当て済)

tabを変更したのにaTabっていう名前も変かなあと思い、aTabをindentに変更。これは上記の箇所だけではなく、コード中の全てのaTabをindentに変更するために、AppleScript Editorでcmd + f で Find ダイアログを表示、そしてReplace Allで全部変更。

これで、改行の時は、改行、スペース4つの繰り返しではなく、cmd + 改行で一発でインデント(スペース4つ)が入力できるようになった!

(もちろんJavaScriptだけではなく、Python、Perl、Ruby、PHP等、その他の言語でも。)

便利なスクリプトを提供してくれた Kendall Conrad (Twitter: @angelwatt、Web Site: Kendall Conrad's Web Site -- Angelwatt.com ) さんに感謝。m(_ _)m

0 コメント:

コメントを投稿