カーソル位置のtextapi()をtext.hから検索してコメントと共にステータスウィンドウに表示します。
//20091010 iprintfに変更 //20081108 #define行に対応 //20081029 かなり修正 #include <windows.h> #include <text.h> get_textapi{ title: カーソル位置のtextapiをtext.hからを引いてステータスに表示します。 HTEXT text = getfocus(); HTEXT word = getword(text); if (word){ printf("検索文字列:%s\n",word); HTEXT wordapi=dup(word); jumptop(wordapi);insert(wordapi,\"\s");jumpend(wordapi);insert(wordapi,\"\([a-zA-Z]"); HTEXT worddef=dup(word); jumptop(worddef);insert(worddef,\"#define\s");jumpend(worddef);insert(worddef,\"\s"); HTEXT dic = new(); load(dic,"wz://text.h"); if (0 != search(dic,wordapi,SEARCH_RE|SEARCH_ALL)){ jumpparatop(dic); if(searchinpara(dic,\"textapi\(\d*\)\s",SEARCH_RE)){ iprintf("%s\n",dic); for(jumpnextpara(dic);!iscureof(dic);jumpnextpara(dic)){ jumpparatop(dic); if(searchinpara(dic,"//",SEARCH_RE|SEARCH_CUR)){ iprintf("%s\n",dic); }else{ break; } } }else{ iprintf("マクロ / textapi()ではないようです。\n"); } }else if(0 != search(dic,worddef,SEARCH_RE|SEARCH_ALL)){ iprintf("%s\n",dic); for(jumpnextpara(dic);!iscureof(dic);jumpnextpara(dic)){ jumpparatop(dic); if(searchinpara(dic,"#define",SEARCH_RE|SEARCH_CUR)){ break; }else if(searchinpara(dic,"//",SEARCH_RE|SEARCH_CUR)){ iprintf("%s\n",dic); }else{ ("マクロ / textapi()ではないようです。\n"); } } }else{ iprintf("マクロ / textapi()ではないようです。\n"); } }else{ iprintf("取得できませんでした。\n"); } }