TextWrangler.appのスクリプト—Line comment_Add.scpt

TextWrangler.appのドキュメント上で、AppleScriptのラインコメント”– “(ハイフン2つ)を追加するためのスクリプトです。

2013-10-22 14.57.31

選択範囲の段落の先頭を検索して、タブと半角スペースがあればそれも含めて”– “に置換します。
実に単純なロジックなのですが、選択範囲に段落末の改行が含まれると、TextWrangler.appは次の段落の先頭にも”– “を付加してしまいます。
例えば2行の段落を段落末の改行まで選択して、このハイライトになっている‘replace “^[ \\t]*” ….’以下のステップを実行すると、選択範囲の次の段落(行)の先頭にまで”– “が挿入されるという訳です。

さて、考えました。
TextWrangler.appでキャレットを動かすスクリプトが見当たらなかったので(方法があるのかも知れませんが…)、‘System Events’から‘→’キーを一回打って、その位置から段落頭の”^– “を検索し、選択状態にして、その部分を削除しています。
かなりスマートではない方法です。(汗

置換文字列を”– “から、”・”や”• “に換えれば、ブレットリストが作成できます。また、”> “で引用符にもできます。

tell application "TextWrangler"
	activate
	if (selection of text window 1 as string) is not "" then
		replace "^[ \\t]*" using "-- " searching in selection of text window 1 options {search mode:grep, starting at top:false, wrap around:false, backwards:false, case sensitive:false, match words:false, extend selection:false}
		tell application "System Events"
			key code 124
			delay 1
		end tell
		find "^-- " searching in text 1 of text window 1 options {search mode:grep, starting at top:false, wrap around:false, backwards:false, case sensitive:false, match words:false, extend selection:false} with selecting match
		set selection of text window 1 to ""
	else
		activate
		display dialog "文字列を選択してから実行しましょう。" buttons {"OK"} default button "OK" with icon note giving up after 3
	end if
end tell
広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中