Gedit の外部ツールは便利だが自分で設定したショートカットキーを忘れる。
簡単なキーに割付けたくてもできないことも多いし。
特に C ビルドで GLib や Nemiver の利用を振り分けしたい場合とか。
本格的に作るものなら当然 Makefile を用意するので問題ない。
けれどチビッと試したいコードのためにそんな面倒したくないですよ。
プログラミング関連は全部 F5 キーだけでまかなえないものか。
そうだ、’GLib.h’ という文字列が含まれているかどうかで振り分けできないか?
ものは試しだ、こんなツールを作ってみた。
#!/bin/sh
PYTHON="text/x-python"
GJS="application/javascript"
HTML="text/html"
BASH="application/x-shellscript"
VALA="text/x-vala"
CSRC="text/x-csrc"
echo @MIMEtype $GEDIT_CURRENT_DOCUMENT_TYPE
if [ $GEDIT_CURRENT_DOCUMENT_TYPE = $PYTHON ]; then
python3 $GEDIT_CURRENT_DOCUMENT_PATH
elif [ $GEDIT_CURRENT_DOCUMENT_TYPE = $GJS ]; then
gjs $GEDIT_CURRENT_DOCUMENT_PATH
elif [ $GEDIT_CURRENT_DOCUMENT_TYPE = $HTML ]; then
google-chrome $GEDIT_CURRENT_DOCUMENT_PATH
elif [ $GEDIT_CURRENT_DOCUMENT_TYPE = $BASH ]; then
sh $GEDIT_CURRENT_DOCUMENT_PATH
elif [ $GEDIT_CURRENT_DOCUMENT_TYPE = $VALA ]; then
vala $GEDIT_CURRENT_DOCUMENT_PATH
elif [ $GEDIT_CURRENT_DOCUMENT_TYPE = $CSRC ]; then
src=`cat $GEDIT_CURRENT_DOCUMENT_PATH`
case $src in
*gtk.h*)
echo "Gtk Build"
gcc $GEDIT_CURRENT_DOCUMENT_PATH `pkg-config --cflags --libs gtk+-3.0` ;;
*glib.h*)
echo "GLib Build"
gcc $GEDIT_CURRENT_DOCUMENT_PATH `pkg-config --cflags --libs glib-2.0` ;;
*)
echo "Gcc Build"
gcc $GEDIT_CURRENT_DOCUMENT_PATH ;;
esac
else
echo Non Support File
fi
全部読み込んで case 文にしたのは inclide が一行目とは限らないので。
ぶっちゃけ効率ガン無視だがチョコッとビルド用途なのでいいよね。
ついでに Nemiver 用も
#!/bin/sh
src=`cat $GEDIT_CURRENT_DOCUMENT_PATH`
case $src in
*gtk.h*)
echo "Gtk Build"
gcc -g -o debug $GEDIT_CURRENT_DOCUMENT_PATH `pkg-config --cflags --libs gtk+-3.0`
if test $? -eq 0; then
nemiver debug
fi
;;
*glib.h*)
echo "GLib Build"
gcc -g -o debug $GEDIT_CURRENT_DOCUMENT_PATH `pkg-config --cflags --libs glib-2.0`
if test $? -eq 0; then
nemiver debug
fi
;;
*)
echo "Gcc Build"
gcc -g -o debug $GEDIT_CURRENT_DOCUMENT_PATH
if test $? -eq 0; then
nemiver debug
fi
;;
esac
これで F5 を押すだけで筆者が使う言語は全部まかなえるぜ。
あと PHP があるけどこれは Apache 経由でしか使わないので。
いや、本当はモードごとに書いたほうがいいのだろうけどね。
ツールが一つで自力振り分けのほうが筆者はメンテが楽なだけ。
