2014年8月6日水曜日

Geany にカスタムファイルタイプと拡張子を追加

Geany に Foo ファイルタイプ (拡張子は .foo) を追加してみました。

環境
Ubuntu 14.04 Desktop 日本語 Remix

.ini の Conf ファイルタイプから Foo ファイルタイプを作成し、拡張子を .foo とします。

まず、.ini のファイルタイプが Conf であることを以下のように確認しました。
$ less /usr/share/geany/filetype_extensions.conf | grep ini
Conf=*.conf;*.ini;config;*rc;*.cfg;*.desktop;control;
Foo ファイルタイプの設定ファイルを Conf ファイルタイプの設定ファイルから作成しました。

設定ファイルの保存場所ですが、 http://www.geany.org/manual/current/index.html#filetype-definition-files あたりに書かれている通り、システムワイドなファイルを直接編集するのではなくユーザー毎の設定ファイルとして保存しました。保存場所は ~/.config/geany/filedefs/ で良いようです。

$ cp /usr/share/geany/filetypes.conf ~/.config/geany/filedefs/filetypes.Foo.conf

filetypes.Foo.conf を以下のように編集しました。

$ diff -U -1 /usr/share/geany/filetypes.conf ~/.config/geany/filedefs/filetypes.Foo.conf
--- /usr/share/geany/filetypes.conf     2013-05-20 08:40:00.000000000 +0900
+++ /home/user/.config/geany/filedefs/filetypes.Foo.conf        2014-08-06 19:14:20.150061014 +0900
... snip ...
 [styling]
... snip ...
-key=attribute
... snip ...

 [settings]
+lexer_filetype=Conf
+tag_parser=Conf
+
 # default extension used when saving files
-extension=conf
+extension=foo
... snip ...
  • key=attribute を削除することにより、キーの色付けをしないようになりました。
  • lexer_filetype=Conf を追加することにより、Conf ファイルタイプと同様に字句解析するようになりました。
  • tag_parser=Conf を追加することにより、Conf ファイルタイプと同様にシンボルタブにシンボルツリーが表示されるようになりました。
  • extension=foo とすることによりファイルを保存する時のデフォルトの拡張子が .foo となるようです。
.foo 拡張子を Foo ファイルタイプとして扱うようにしました。

Geany のメニューで [Tools] - [Configuration Files] - [filetype_extensions.conf]

以下のように Foo の行を追加しました。

... snip ...
YAML=*.yaml;*.yml;
Foo=*.foo;
None=*;
... snip ...

これで拡張子が .foo であるファイルを Foo ファイルタイプとして扱うようになりました。

Windows8.1 の場合は filetypes.Foo.conf の保存場所を以下のように読み替えると良いようです。

  • Ubuntu の場合: ~/.config/geany/filedefs/
  • Windows8.1 の場合: C:\Users\UserName\AppData\Roaming\geany\filedefs\

その他、Geany のメニューの [Help] - [Debug Messages] でシステムデータディレクトリの場所等を確認することができます。


0 件のコメント:

コメントを投稿