最終更新: 2011-11-30T12:36+0900
Vistaの新機能:ハイブリ
なんだ
#! rubyw require 'Win32API' SetSuspendState = Win32API.new('powrprof.dll', 'SetSuspendState', %w(i i i), 'i'); SetSuspendState.call( 0, # hibernate: S4(TRUE) or S3(FALSE) 0, # force: アプリケーションに事前に通知(PBT_APMQUERYSUSPEND)しない(TRUE)。通知する(FALSE)。 0 # disableWakeEvent: イベントによる復帰を許可しない(TRUE)。許可する(FALSE)。 );
rundll32.dllが要求する仕様を知
最終更新: 2010-04-08T22:28+0900
参照(説明の丸投げ)> 萌デ
SHJSと萌デ
SHJSの場合は、JavaScriptであることと eval()で評価されることを利用して、ネイテ
今日試しにダウンロ
・<<(["'`]?)(\w+)\1 .... ^$2$ ヒアドキュメント1。後ろのディスクリプターは行内に唯一でなければ ならない。
右側の検索文字列には、後方参照が使えます。 左側で()でくく
ってグル ーピングしたマ ッチ文字列を、 右側の検索文字列の中で取得できます。 取得するには、 K2Editorの置換機構の 後方参照と同じように、$1,$2などを使います。
\1、\2でなくて $1、$2だから、右側のパタ
SHJS(と萌デ
formatted_text = <<TEXT.strip.gsub(/\t/, " "*8) TEXT
texts = [<<TEXT1, <<TEXT2] TEXT1 TEXT2
こんなんどうする?
最終更新: 2009-12-06T02:34+0900
たとえば、http://sakura.qp.land.to/?Junk%2F31 で展開されている GNU Global対応。息の長い支持があるが本体に取り込まれてはいない。こういう万人向けでない機能がプラガブルにな
プラグイン化を推し進めると、不要な機能をそぎ落として、メニ
い
なんでもできるエデ
でも実際は、エデ
という要素を自分は求めている(らしい。サクラエデ
この展開の着地点を Windows ということにしてみよう。エデ
最終更新: 2009-11-20T01:27+0900
/* * (略) * @author ピクミン (以下略) 何故・・・。
ピクミンをや
最終更新: 2014-12-05T17:24+0900
理由は makerss.cacheが hiddenな spamコメントで埋め尽くされたから。問題です。
最終更新: 2009-11-19T05:26+0900
すくなくとも幅0の矩形選択で改行の手前にタブやスペ
折り返しの結果として行頭に改行がきている場合もタブやスペ
Index: sakura_core/CViewCommander.cpp =================================================================== --- sakura_core/CViewCommander.cpp (リビジョン 42643) +++ sakura_core/CViewCommander.cpp (リビジョン 42644) @@ -4733,11 +4733,11 @@ // From Here 2001.12.03 hor /* SPACEorTABインンデントで矩形選択桁がゼロの時は選択範囲を最大にする */ // Aug. 14, 2005 genta 折り返し幅をLayoutMgrから取得するように - if((wcChar==SPACE || wcChar==TAB) && m_pCommanderView->GetSelectionInfo().IsBoxSelecting() && GetSelect().GetFrom().x==GetSelect().GetTo().x ){ - GetSelect().SetToX( GetDocument()->m_cLayoutMgr.GetMaxLineKetas() ); - m_pCommanderView->RedrawAll(); - return; - } + //if((wcChar==SPACE || wcChar==TAB) && m_pCommanderView->GetSelectionInfo().IsBoxSelecting() && GetSelect().GetFrom().x==GetSelect().GetTo().x ){ + // GetSelect().SetToX( GetDocument()->m_cLayoutMgr.GetMaxLineKetas() ); + // m_pCommanderView->RedrawAll(); + // return; + //} // To Here 2001.12.03 hor wchar_t szWork[2]; auto_sprintf( szWork, L"%lc", wcChar ); @@ -4833,7 +4833,8 @@ nDelLen = nIdxTo - nIdxFrom; /* TABやスペースインデントの時 */ - if( bIndent && 0 == nDelLen ) { + const bool emptyLine = ! pcLayout || 0 == pcLayout->GetLengthWithoutEOL(); + if( bIndent && emptyLine ) { continue; }
隠し機能がでてきましたよ。>「矩形選択時のSPACE/TAB動作に手を入れる場合、実装上、>>dev:4103 あたりのSPACE/TABインデント仕様を実現するための実装部が絡んできそうです。」
これだから迂闊なことはできない。自分用だと自分が使う範囲で問題がない限り気にしないで済むけど。
リンク先で議論されている桁揃えのためのインデント(条件によりタブやスペ
矩形選択はつ
挿入位置の文字の末尾が矩形選択範囲に含まれていないときにインデント用の文字を入力しないことで、インデント揃えができるように追加修正した版 > fix_indentation (4.1KiB, diff to trunk2@1674)
矩形選択時、その範囲内に文字がない状態でインデントすると桁が揃うようにスペ
hor氏のヘルプースを補完します。それ以外の場合、範囲内に文字のない行はインデント対象外になります。
「範囲内に文字のない行」は考慮外だ
あいう abc
というテキストの一桁目(「あ」の前半と「a」)や、
^ ABC DEF
というテキストの一桁目(タブの前半と「D」)を矩形選択してタブやスペ
一応入力された文字の幅を考慮して右移動しているけど、右移動を行うのが選択範囲の一行目だから、この場合一回右移動するだけで行き過ぎてしまう。
それも修正 > fix_indentation.rev2 (5.3KiB, diff to trunk2@1674)
問題の存在がわかれば叩きようも考えられるけど、それがわからなければ手の打ちようがない。テスト重要。
どうして、(幅のある)文字の先頭部分が矩形選択範囲に含まれているときだけインデント用の文字を挿入、ではなく文字の末尾が含まれているときだけ、なのかといえばおそらく、そうでないとインデントの桁揃えができないから。実際に試してみればすぐわかるけど、文字の先頭を条件にするとほとんど常にインデント文字が挿入されてしま
現在認識している問題点。
入力がインデント用の文字のときにも矩形選択の幅0を維持するようにした結果、CViewCommander::Command_INDENT_TAB()の
if(m_pCommanderView->GetSelectionInfo().IsTextSelected() && m_pCommanderView->GetSelectionInfo().IsBoxSelecting() && GetSelect().GetFrom().x==GetSelect().GetTo().x){ Command_INDENT( WCODE::TAB ); return; }
このコ
修正した。>fix_indentation.rev3 (5.8KiB, diff to trunk2@1674)
1つ目は fix_indentaiton.rev2のバグ。意図せず bIndent引数を trueから falseに変更してしま
指摘を受けて修正。原因は rev2のタイポ。指摘を受けたケ
本腰を入れて読んでいなか
つ
あいうえお 1かきくけこ
という行で幅1矩形選択をしてインデント用の文字を入力するとおかしな事になる。文字を挿入するときは幅0選択でいいじ
「ptLayoutNewを使
オプシ
とりあえずインデント文字のうちスペ
また従来は矩形選択範囲が折り返し桁に達した場合、行番号はそのままで選択範囲が行頭に移動して循環していたが、折り返し桁でとどまるようにな
折り返しといえば
1|ABC< 2|DEF< 3|GHI<
CFIを矩形選択して _を入力したとき、_が Fと Iの直前に入力されるわけではないというのはどう考えられているのだろう。これがあるから矩形選択入力と折り返しを組み合わせてはいけない、どんな結果も期待してはいけない、と思
タブが入力されたときもおかしなことにならないように改善した。>fix_indentation.rev6 (8.4KiB, diff to trunk2@1674)
原因はインデント文字の入力をスキ
テスト。1行目と 2行目をどこでも幅1矩形選択してタブを入力する。最初に選択した文字が取り残されないことを確認する。
あいうえお 1かきくけこ
4タブ設定で「う」の前半と「き」の後半を幅1矩形選択してタブをいくつか入力したとき、初回だけ「う」が後ろに行きすぎる。これはもうあきらめている。
0123456789 あいうえお 1かきくけこ (TAB幅は4の設定) で、1行目の「4」の左から3行目の「き」の右までを矩形選択(幅1桁)して TABを3回入力すると、1行目の「4」の左右にTABが入ります。
これは、「これはもうあきらめている」(@2009-11-09)ケ
行番号が55行ほどずれてしま
っています...
う
Editor.Char(9) と Editor.IndentTab() の使い分け
すでに BOOL bIndent引数が存在するのだからこれを厳密に適用しようということですね。悪くないと思いますし、対象も重な
矩形選択範囲がタブ境界にあり、全角文字の前半分が範囲からはみ出しているときにタブを挿入すると、行によりタブの幅が最小と最大にな
あいうえお 1かきくけこ で、「い」の左から「き」の右まで矩形選択します。 まず、「さ」を入力します。 次に、「a」を入力します。 結果、1行目には「さ」の手前に「a」が入ってしまいます。
不安に思
TABを含めた文字列をクリ
ップボ ードから貼り付けた場合
この場合はインデントではありませんし、揃えることよりもクリ
'int' から 'CLayoutInt' に変換できません。
直しました。個人的にデバ
二、三日前から毎日これぞ決定版fix_indentation.rev8 (10.8KiB, diff to trunk2@1674)
selectionIsOutOfLineの判定条件が(たぶん)おかしいです。 (括弧が足りてない気がします)
詳細なレポ
一日を失う手痛いミス >fix_indentation.rev8.1 (10.8KiB, diff to trunk2@1674)
インデント揃えにからむ機能のオンオフを機能の割り付けでコントロ
タブインデントとタブ文字の入力を区別。>fix_indentation.rev9
矩形選択入力で、(TABインデントや SPACEインデントによらない)タブやスペ
rev9.1を眺めていて、従来の動作に疑問。テキストが選択されていなか
わか
矩形選択で、改行文字の手前にインデント用の文字(タブとスペ
ABC ABC
Cの後ろを幅0矩形選択してスペ
矩形選択範囲の先頭が全角文字やタブなど幅広の文字のとき、インデント用の文字の挿入が桁揃えのためにスキ
あいう abc
一桁目(あの前半とa)を矩形選択してスペ
矩形選択範囲が全角文字の前半ばかりを移動してしまい、スペ
あいうえお 1かきくけこ
1行目と 2行目をどこでも幅1矩形選択して、スペ
矩形選択してタブを入力したとき、最初に選択されていた文字を置いてきぼりにして選択範囲が後ろに移動したりしない。
あいうえお 1かきくけこ
1行目と 2行目をどこでも幅1矩形選択して、タブをいくつか入力し、最初に選択した文字が範囲内に残
(何人いるのかわからない)ななしさんに協力してもら
追加修正もあるようで、
元に戻
ダウンロ
「GNU patchが5年ぶりにバ
patch 2.5.4 Copyright 1984-1988 Larry Wall Copyright 1989-1999 Free Software Foundation, Inc. This program comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of this program under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. written by Larry Wall and Paul Eggert
* 追記@2009-11-18 http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?log=dev&v=4137#4137 にまさにその手順が書かれていた。ぱ
最終更新: 2009-11-05T05:03+0900
いやらしいプラグインだなあ(笑)
しかしこの変哲のないただリンクに見えるもののどこに着目して、googleは小見出しを作成してるんだ。
Before...
♭ ななしデバ ッグモ ードでコンパイルすると、4883行で、 error C2440: 'int' から 'CLayoutInt..
♭ ななしrev8です。 あいうえお 1かきくけこ 0123456789 「い」の右側から、3行全部を0幅選択してスペ ース..
♭ ななしrev8.1でOKな気がします。 いい感じ (^^)
♭ anonymouse「1文字のTAB/SPACE入力が必ずインデント扱いにな ってしま っていて変」 (2009年11月10日 (火) 10..
♭ ななし念のため。 上記の、 ・タブキ ーとスペ ースキ ーに割り付けられた機能を削除すると、 複数行選択したときのタブやスペ..
♭ ds14050ええと、具体的にどういう動作が不満で、どういう結果になるのがよいのでし ょうか。rev.9版のバイナリは http:/..
♭ ななし行末を超えた位置にも通常文字は入る。 SPACEキ ーにインデントを割り付けて*いない*ときは、 行末を超えた位置には..
♭ ds14050この部分ですね。 ---- if( nDataLen == 1 && IsIndentChar( pData[0] ..
♭ ななしnDataLen == 1 && IsIndentChar( pData[0] ) なんていう条件だと、 クリ ッ..
♭ ななし> 選択範囲が一行だけだ ったとき、Command_INDENT_TAB()は Command_INDENTの代わりに..
♭ ds14050>1字のSPACE/TABという条件は、コ ードをはじめて見た >瞬間におかしいと思 ったし、誰でも同じことが想像できる..
♭ ds14050どうしようもないな。「元の挙動を残し」た。<<<大嘘
♭ ds14050なんかもうぐだぐだだけど気づいてしま ってので訂正。 >知らないのは事実です。最初のコメントに書いたとおり。 最初のコ..