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 経由でしか使わないので。
いや、本当はモードごとに書いたほうがいいのだろうけどね。
ツールが一つで自力振り分けのほうが筆者はメンテが楽なだけ。