2011-01-01から1年間の記事一覧

Migemo Groupingのまとめ

検索エンジンのようなAND/ORによる絞り込みです。空白がAND、|がOR、-でNOT、""でLITERAL、~でREGEXになり、そして括弧によるGROUPINGができます。 設定ダイアログでSettings/setup/(AC)MigemoGroupingを有効にすることで使えます。(デフォルトで有効) 文字…

Giraffe+ 0.6.18.1134

Downloadページへ ADD: Container.flatten ADD: Giraffe.Storage, load/saveを持ち、JSON風文字列をGiraffe.iniに保存する ADD: Method.+, `[f(g())]をg.+ fから作る ADD: Object.assign_invoke_restore(val, `self[]) ADD: migemo_groupingで, ~regexp とし…

Giraffe+ 0.6.17.1080

Downloadページへ ADD: Copy Command Line in window-menu.giraffe ADD: Giraffe.Event.Key/Hotkey/Drop/Timer.slot を走査メソッドとして ADD: Giraffe.GetCommandLineOfProcess, window:get-command-line ADD: Object.call_from を call_with_context のシ…

高階関数の書き方 (invoke_in, invoke_from)

gs

C++側で書く場合は、どちらにしろContextオブジェクトをmethod invocationに渡すので、そのContextをcallerにすればいいだけだが、gsで高階関数を書く場合、これといって、このあたりのidiom的なものが無い。 というか、C++で書いてばかりで、gsで書くことが…

Giraffe+ 0.6.16.1058

Downloadページへ ADD: Container.to_Map ADD: Object.invoke (Method.invokeから移動) ADD: Object.invoke_from (指定したcontextを継承してのinvoke) ADD: Object.invoke_in (Method.invoke_inlineからの移動) FIX: Statusのテキストをシリアライズすべき …

Giraffe+ 0.6.15.1053

Downloadページへ ADD: Regex.+ (フラグはselfのに) ADD: String.regex_escape ADD: settings/setup/google-mode.encrypted.google.com FIX: settings.iniの値が空欄でエラーになる FIX: 設定ダイアログでスクリプト名に空白等を使えない MOD: AddRegItemは…

Giraffe+ 0.6.14.1049

Downloadページへ ADD: Event.OnCaretChange ADD: Object.extend, extend! MOD: Boost 1.47.0 (Filesystem 3) MOD: Config.AutoResize.MoveLeftを2にするとウインドウを真ん中に

resolveとclosureのまとめ

gs

Giraffe+のScript\samples\resolve_and_closure.giraffeにテストとしてまとまってますが、resolve, resolve2, closure, closure2, closure3と十分ややこしくなってきてるので解説しておきます。LispやJavaScriptのようなクロージャはgiraffeにはありません。…

Giraffe+ 0.6.13.1042

Downloadページへ ADD: defのみで構成される配列リテラルはオブジェクトリテラルに ADD: Method.closure3, self等もクロージャする FIX: Method.closure2が[x: 0 `[x: 1].closure2]をできない FIX: IMEのcompositionフォントサイズはEditがフォーカスを得る…

ShortcutViewerとSesObjectを更新

ShortcutViewerを久しぶりに使ったら気になるところが多くあったのであれこれ改善しました。変更点等はtoolsページのreadmeを参照してください。 SesObjectもついでにUNICODEビルドにしました。 sesファイルがUNICODEを保持できないのは、sesファイルの中身…

Giraffe+ 0.6.12.1035

Downloadページへ ADD: expr.()はcall_obj(expr)のように解釈されるべき ADD: x()はxがmethodで無い場合、x.invokeと扱うべき FIX: Editのキャレットはフォント変更時にリサイズされるべき MOD: カレントスクリプトディレクトリはスクリプト名が"../"で始ま…

Giraffe+ 0.6.11.1018

Downloadページへ ADD: Block.file_name, file_line and file_collumn ADD: Container.next/prev_permutation/combination (as Generator Range) ADD: Contextは最後の式を持つべき (calleeがcaller.last.file_nameでどこから呼ばれた分かる等) ADD: Event.D…

mayuにC/C++のpreprocessorを搭載してみた

mayu.exeとmayu_pp.exe, mayu_pp.cfgのdownloadと概要はhttp://www.ric.hi-ho.ne.jp/giraffe/mayus/。 目的と例 Windowsの定数の定義 #include <winuser.h> window ConsoleWindow /ConsoleWindowClass/ : Global key C-Up = &PostMessage(ToItself, WM_VSCROLL, SB_LINE</winuser.h>…

mayuの&PlugIn関数を改善

http://www.ric.hi-ho.ne.jp/giraffe/mayusにの下の方にmayu.exeがあります。sourceもあります。 スレッド生成において指定時間待てるようにしました。

Giraffe+ 0.6.10.978

Downloadページへ ADD: Container.mismatch, boost::mismatchを呼ぶ ADD: Ios.support_utf8, Istream.read_utf8, Ostream.write_utf8 ADD: Object.clone_without_OnClone, copy_without_OnCopy ADD: Giraffe.Edit.GetUndoData, 選択位置が付随した文字列を持…

Google日本語入力の"その他の文字種"でmayuのIME状態等(IL, MAX等)が無効になる件

対症療法済mayu.dll 原因はGoogleJapaneseInputCandidateWindowにWM_SETFOCUSが送られるため。そうなる原因は知らない。 とにかくhook.cppで、 case WM_SETFOCUS: { TCHAR cls[0xff]; if(GetClassName(cwps.hwnd, cls, sizeof(cls)) && boost::equals("Googl…