いままでは秀丸エディタのマクロ (ヅラッシュ! - 秀丸エディタのマクロでHTMLのタグをエスケープする) や HTML Escape Tool を使っていたけど、さいきん jEdit を使うようになったのでこちらで使えるマクロを書いてみた。

jEdit のマクロはいろんな言語で書けるらしいけど、基本は BeanShell (Javaっぽいスクリプト言語) で書くらしいので、今回はそれで。

BeanShell は Java の文法やライブラリを使えるので Java 使いにとっては非常にラク。

BeanShell の拡張子は *.bsh らしい。

EscapeHtml.bsh :


// HTML Escape Macro Code for jEdit (2011-09-22)
 
void escapeHTML() {
  text = textArea.getSelectedText();
  if(text != null){
    text = text.replaceAll("&"  , "&");
    text = text.replaceAll("<"  , "&lt;");
    text = text.replaceAll(">"  , "&gt;");
    text = text.replaceAll("\""  , "&quot;");
    text = text.replaceAll("'"  , "&#39;");
    textArea.setSelectedText(text);
  }
}
 
if (buffer.isReadOnly()) {
  Macros.error(view, "Buffer is read-only.");
} else {
  escapeHTML();
}

コードを書くときには 全角英数を半角に変換するjEditマクロ - なんたらノート 第二期 が参考になった。

Ref.
- jEdit - Programmer's Text Editor - overview
- jEdit 4.5 User's Guide - Part III. Writing Macros
- BeanShell - Lightweight Scripting for Java
- HTML Escape Macro Code for jEdit (EscapeHtml.bsh)

最近、 jEdit をよく使うようになったので導入やら何やらのメモをまとめてるところ。MacBook Air でのテキストファイル編集がだいぶラクになってきてる。
jEditメモ (MacBook Air, Mac OS X 向け) (jEdit - MemoWiki)

tags: jedit java beanshell

Posted by NI-Lab. (@nilab)