最終更新: 2010-05-19T17:19+0900
確かに変ですが、ここの部分をきっちりやろうとするとレイアウト処理性能にシビアに影響するみたいです。 ざっと試したところでは、ファイル読み込みで1.5~3倍くらいの処理時間がかかるようになってしまいました。 右端で折り返す設定で画面幅を変化させるときの応答にも同様に効いてきます。http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?log=data&tree=r7015
さらりと、できなくはないと書かれているが、どうやるんだろう?
sakura_core\view\colors\CColorStrategy.cpp の後半(「色開始」部分)をこう書きかえてみても中途半端な結果。フ
bool CColorStrategyPool::CheckColorMODE( CColorStrategy** ppcColorStrategy, //!< [in/out] int nPos, const CStringRef& cLineStr ) { //色終了 if(*ppcColorStrategy){ if((*ppcColorStrategy)->EndColor(cLineStr,nPos)){ *ppcColorStrategy = NULL; return true; } } //色開始 if(!*ppcColorStrategy){ for(int i = 0; i < (int)m_vStrategies.size(); ++i) { if(m_vStrategies[i]->BeginColor(cLineStr, nPos)) { *ppcColorStrategy = m_vStrategies[i]; break; } } } return false; }
違う。CheckColorMODE()のときに正規表現キ
白々しさ爆発だけど書く。下は sakura/trunk2/sakura_core/doc/CLayoutMgr_DoLayout.cpp から削除されたコ
if(!*ppcColorStrategy){ CColorStrategyPool* pool = CColorStrategyPool::Instance(); for(int i=0;i<pool->GetStrategyCount();i++){ CColorStrategy* pcSample = pool->GetStrategy(i); if(pcSample->BeginColor(cLineStr,nPos)){ *ppcColorStrategy = pcSample; //bRet = true; break; } } }
俺が感じたプログレスバ
CheckColorMODE()がないとク
レイアウト(禁則処理とか折り返しとか)とク
http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?log=dev&v=4079#4083
サクラエデ
ィタの色分け解析ル ーチンは、全部で3つあ って、
- 行デ
ータの変更に、各レイアウト行の先頭色を決めるもの(CLayoutMgr) - 実際の作画時に各文字の色を決定しつつ作画するもの(CEditView::OnPaint)
- 対括弧の色を戻すときに各文字の色を決定するもの(CEditView::GetColorIndex)
最終更新: 2009-09-24T04:29+0900
方法は sakura/trunk2/sakura_core/sakura_rc.rcから CBS_SORTを一か所削除するだけでした。CRecentImp.AppendItem()が名前に反してあえて「アイテムを先頭に追加」しているけど、俺もそれが自然だと思う。「開く...(ドロ
ダイアログつながりで、拡張子補完も完全に切
最終更新: 2009-08-24T23:53+0900
STAY~夜明けのSoul~(初回限定盤A)(DVD付)
GIZA
¥ 2,843
たまにアマゾンを検索して CDの発売を知る。
最終更新: 2009-08-28T23:41+0900
表示方法はこう。
# coding: utf-8 require 'date' add_section_leave_proc{|date, index| diary = @diaries[date.strftime('%Y%m%d')] next unless diary # in case @mode == 'preview' section, sidx = nil, 0 diary.each_section{|sec| sidx+=1 if sidx == index section = sec break end } lm = section.last_modified rescue next next unless lm lm = DateTime.new(*(lm.utc.to_a.values_at(5,4,3,2,1,0))).new_offset(Rational(135,360)) # 日本時間 lm.strftime %<<p class="lastmodified">最終更新: %Y-%m-%dT%H:%M%Z</p>> # 色分けテストとして、あえてタグと同じアングルブラケットで囲ってみた。 }
DateTimeのオフセ
るりまにはスタンドアロンサ
組み込みの Timeが UTCと localtimeしか扱わないのがも
lm = section.last_modified rescue next next unless lm offset = 9 * 60 * 60 # 秒 lm_local = (lm + offset).utc # UTCと見せかけて lmの地方時。 %<<p class="lastmodified">最終更新: %d-%02d-%02dT%02d:%02d%s%+03d%02d</p>> % [lm_local.year, lm_local.month, lm_local.day, lm_local.hour, lm_local.min, offset/60/60, offset/60%60] }
……てなことを、makerss.rbの中の TDiary::RDFSection#time_stringが
g = @time.dup.gmtime l = Time::local( g.year, g.month, g.day, g.hour, g.min, g.sec )
gmtimeに基づく年月日時分秒からロ
脱線終了。表示するまでの仕込みがこんな感じ。
主に plugin/makerss.rbからの要請で更新日時を記録したいので、ち
最初にポストされた時刻も有用だろうか? 日記だから最初にポストされた日はほとんど確定してるし、時刻まで知りたいとも思わないけど。
WikiSectionに last_modifiedプロパテ
「編集」でセクシ
最終更新: 2019-12-01T02:10+0900
20090525に書いたことをや
"正しい\ 文字列(ECMAScript 5th ed.の場合)"
"不正な 文字列(ですらない)"
/* 正しい コメント */
/* 閉じていない
コメント?
ノ
「/*」があ
NOTE 文字 LineTerminator は、それにバ
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/7_Lexical_Conventions.html#section-7.8.4ックスラ ッシ ュ \ を先行させても、文字列リテラル内には出現できない。
以前、ど
一次情報にあたらなければ同じミスをおかすんじ
A line terminator cannot occur within any token except a StringLiteral. Line terminators may only occur within a StringLiteral token as part of a LineContinuation.
Final final final final draft Standard ECMA-262 5th edition(pdf) 7.3
NOTE A line terminator character cannot appear in a string literal, except as part of a LineContinuation to produce the empty character sequence. The correct way to cause a line terminator character to be part of the String value of a string literal is to use an escape sequence such as \n or \u000A.
Final final final final draft Standard ECMA-262 5th edition(pdf) 7.8.4
日本語にもそういう罠があるけど、英語だとう
3rdから 5thに更新するにあたり現状を追認するように書き換わ
面倒くさがらずにダウンロ
NOTE A 'LineTerminator' character cannot appear in a string literal, even if preceded by a backslash \. The correct way to cause a line terminator character to be part of the string value of a string literal is to use an escape sequence such as \n or \u000A.
Microsoft Word - Ecma-262.doc(pdf) 7.8.4
5thで exceptだ
というわけで上のサンプルソ
最終更新: 2019-12-01T02:10+0900
既読は 8/100作品でした。し
マイクル クライトン『アンドロメダ・ストレイン』も 100冊の中にまぜてあげて欲しか
最終更新: 2019-12-01T02:10+0900
行単位で処理してるのはどちらも同じだし、サクラエデ
色分けが正規表現キ
今のサクラエデ
シ
正規表現リテラルの影響があるのも嫌だな。パタ
<追記@2009-09-23>サクラエデ
CColor_RegexKeywordだけをいじるんでなく、CColorStrategy関連を作り直して CColor_*をそれに対応させるのがゴ
でもや
//参照 CEditView* pcView; CGraphics gr; //(SColorInfoでは未使用) //描画位置 DispPos* pDispPos; DispPos sDispPosBegin; CLogicInt GetPosInLayout() const; const CDocLine* GetDocLine() const; const CLayout* GetLayout() const;
こういうの。
与えられた行に対して、これからはそれより前の行の色分け結果も参照しつつ、一行分の色分け結果をまとめて返すから、描画はそちら(CEditView)でどうぞ、検索語のハイライトとの重ね合わせもそちらでよろしく、といいたいんだけど。
CColor_*
BREGEXPの情報は「BREGEXP DLL」を見てたんだけど、そこには載
typedef int (__cdecl *BREGEXP_BMatchExW2) (const wchar_t* str, const wchar_t* targetbeg, const wchar_t* target, const wchar_t* targetendp, BREGEXP_W** rxp, wchar_t* msg); typedef int (__cdecl *BREGEXP_BMatchW2) (const wchar_t* str, const wchar_t* target, const wchar_t* targetendp, BREGEXP_W** rxp, wchar_t* msg);
これは期待できるなあ。
ざ
// 拡張関数がない場合は、行の先頭("^")の検索時の特別処理 by かろと if (!ExistBMatchEx()) { /* ** 行頭(^)とマッチするのは、nStart=0の時だけなので、それ以外は false */ if( (m_ePatType & PAT_TOP) != 0 && nStart != 0 ) { // nStart!=0でも、BMatch()にとっては行頭になるので、ここでfalseにする必要がある return false; } // 検索文字列=NULLを指定すると前回と同一の文字列と見なされる matched = BMatch( NULL, target + nStart, target + len, &m_pRegExp, m_szMsg ); } else { // 検索文字列=NULLを指定すると前回と同一の文字列と見なされる matched = BMatchEx( NULL, target, target + nStart, target + len, &m_pRegExp, m_szMsg ); }
「拡張関数がない場合」もあるんですか……。BMatchExの google検索結果もた
BMatch()の戻り値は int。だが boolean扱いしてはいけない。BMatch関数のサンプルとして
while (BMatch(patern1,t1+pos,t1+lstrlen(t1),&rxp,msg)) { (マッチング結果の処理) }
みたいに書いてあるので騙されたけど、サクラエデ
// 検索文字列=NULLを指定すると前回と同一の文字列と見なされる matched = BMatchEx( NULL, target, target + nStart, target + len, &m_pRegExp, m_szMsg );
if ( matched < 0 || m_szMsg[0] ) { // BMatchエラー // エラー処理をしていなかったので、nStart>=lenのような場合に、マッチ扱いになり // 無限置換等の不具合になっていた 2003.05.03 by かろと return false; } else if ( matched == 0 ) { // 一致しなかった return false; }
負数の時はエラ
レイアウトと色分けの関係。変更のあ
次の行以降に影響する文字( " など)を入力しても即座には反映されない(最小化して元に戻すと反映されている。アンド
before
bool CEditView::DrawLogicLine( HDC _hdc, //!< [in] 作画対象 DispPos* _pDispPos, //!< [in/out] 描画する箇所、描画元ソース CLayoutInt nLineTo //!< [in] 作画終了するレイアウト行番号
after
bool CEditView::DrawLogicLine( HDC _hdc, //!< [in] 作画対象 DispPos* _pDispPos, //!< [in/out] 描画する箇所、描画元ソース CLayoutInt* pnLineTo //!< [in/out] 作画終了するレイアウト行番号
第3引数を双方向にして CEditView::DrawLogicLine()の呼び出し元にさらなる DrawLogicLine()呼び出しと描画領域の拡大をしてもらうことにな
……ということをや
や
あとは
折り返し、WSHマクロ、矩形選択、置換などはまだ試してない。落ちてから対応する。(分割ビ
自分が忘れてたので覚え書き。この変更で
正規表現キ
設定のフ
正規表現キ
たとえば、正規表現キ
再帰的な構造に対しては、JavaScriptで動く SHJSに対して鬼車が使えるサクラエデ
ときどき落ちる(落ちないはずがない)
レアな機能を呼び出したときが危ない。
JavaScriptで使
自分に対しても仕様を明確にしたい。もはや色分け結果は、良くも悪くも以前のものと変わらない。
フ
JSON_checkerを修正して使用することにした。修正内容は……
> allow_comment_and_regex_literal_and_single_quotation_string_and_identifier_as_a_object_key
遷移表が 30×31(=930エントリ)から 40×35(=1400エントリ)へ 50%増加している。ま、気にすることではないな。
enum modesと enum statesをヘ
(どうでもいいこと: JSON_checker.cの enum定義部分だけが LFでなく CRLF改行だ
「SHJSの言語フ
sh_preprocとか sh_functionという色指定をいちいち正規表現キ
オブジ
enumの要素(ラベル)が定数に置き換えられて構文エラ
#undef IN した。これは windows.hで定義されていたもの。
でけた。GUIがないから iniフしていないした)。SHJSの色指定は sh_normal、sh_keyword、sh_string、sh_comment、sh_number、sh_urlだけがサクラエデ
BREGEXP.DLLしかないときだ
C/C++とか PL/SQLというタイプ設定名をどうしよう。全角に変換しようか。……。した。<<< 曖昧な書き方だ
ヘ
正規表現キ
短い名前 | EColorIndexType | 長い名前 |
---|---|---|
RKB | COLORIDX_REGEX_KEYWORD | 正規表現キ |
RKC | COLORIDX_REGEX_TYPE | 正規表現キ |
RKD | COLORIDX_REGEX_VARIABLE | 正規表現キ |
RKE | COLORIDX_REGEX_CONSTANT | 正規表現キ |
RKF | COLORIDX_REGEX_ASSIGN | 正規表現キ |
RKG | COLORIDX_REGEX_OPERATOR | 正規表現キ |
RKH | COLORIDX_REGEX_FUNCTION | 正規表現キ |
RKI | COLORIDX_REGEX_OBJECT | 正規表現キ |
RKJ | COLORIDX_REGEX_BLOCK | 正規表現キ |
RKK | COLORIDX_REGEX_RXPATTERN | 正規表現キ |
RKL | COLORIDX_REGEX_DATE | 正規表現キ |
RKM | COLORIDX_REGEX_TIME | 正規表現キ |
どなたかの受け売りで代入( = など)と演算子( == など)を分けた。この日記での色分けも以前からそうしている。
タイプ別設定のデフ
付け加えるなら、コピ
カスタマイズされたタイプ設定というのも、すべての項目を持つのではなく、基本設定からの差分、ここだけは譲れないという設定だけを持つようにしたい。強調キ
さらに、強調キ
キ
スリム化といえば、MRU関連を別フ
全く関係ないが思い出したこと。既存のフ
@2009-12-16 カレントデ
一つだけ棚上げされていた CColor_Foundの移植完了。検索語のハイライトがドキ
重さとか、気になるなあ。気がつけば CPUや GPUよりケ
「ヘ
移植ミスかと思
\w{10} というパタ
こうしてみた。
//検索マークの切替え // 2001.12.03 hor クリア を 切替え に変更 void CViewCommander::Command_SEARCH_CLEARMARK( void ) { this->m_pCommanderView->m_bCurSrchKeyMark = ! this->m_pCommanderView->m_bCurSrchKeyMark; this->m_pCommanderView->RedrawAll(); return; }
これで本当に Ctrl+F3が検索語ハイライトの切り替えにな
<追記@2010-06-20>
検索条件が選択文字列で置きかわるのは意図された動作だ
脈絡もなく突然死する。abnormal program terminationと出るから、throwしてる部分が原因。どうしてそこを実行するような状態になるのかがわからない。色分けの反映が、外因による再描画が起こるまで遅れることも、やはり前後の脈絡なく起こる。徐々に壊れてい
昨日の突然死はコ
仮想関数を持
気付かなか
派生クラスで分かり易さのためにわざわざ virtual
関連。C#のえろい人の話>「Versioning, Virtual, and Override」
degradeの回復はもううんざりだお。次はこれをする。
パタ
JavaScriptの正規表現と違
/(A)(B)(C)/
というように隣接させる必要がない。入れ子にすることも許される。入れ子にしたら一番内側の色が適用されるようにしたつもり。
@2009-10-11に書いた Ctrl+F3での検索語ハイライトの切り替えについて。ANSI版、UNICODE版に共通するパタ
検索語ハイライトのやり方を変えないといけない。
先に、さらに別の問題の、上検索で行末からの検索が行われていなか
まだ直
検索語ハイライトのやり方を変えた。パタ
@2011-03-31 ハイライトが原因で1行3000桁を超える程度のフ
Luaち
>>'\0'も置換できるように >正規表現で \x00 とすれば出来ます。
無理。俺は NUL文字を考慮していない。
> // 前の行のNULL文字(\0)にもマッチさせるために+1 2003.05.16 かろと
というコメントを CSearchAgent::SearchWord() @ CSearchAgent.cpp で見つけたときに嫌な予感はしたけどもう遅い。
設定フ
正規表現インクリメンタルサ
>正規表現による複数行検索対応(簡易版)
正規表現ライブラリに適切なインタ
既存の APIに適合させるための非効率的なごり押し(に思える)や、バ
色分けのために行ごとに保存するキ
昨日の空の選択範囲が消えない対策として空のときは範囲選択をしないことにしたら、今度は下検索が先へ進まない。現在の選択範囲が空かどうかでその場足踏み対策をしていたからだ
空の選択範囲はキ
わか
というわけでもなか
選択開始時というのは幅0の選択をしている状態である。そのときにCViewSelect::DrawTextArea()を呼ぶことで選択範囲の始点の反転・反転解除の対応がとれたと思う。空の選択範囲のゴミは残らなくな
そもそもどの変更でゴミが残るようにしてしま
// 2005/04/02 かろと 0文字マッチだと反転幅が0となり反転されないので、1/3文字幅だけ反転させる // 2005/06/26 zenryaku 選択解除でキャレットの残骸が残る問題を修正 // 2005/09/29 ryoji スクロール時にキャレットのようなゴミが表示される問題を修正
こういうコメントが残
ここ数日は一退一進で進んでいない。
18日から 20日にかけて、exeのサイズが 50KB、diffのサイズが数KB縮んでいる。mergeのやり方を変えたんだが、失敗しているとしか思えない。
色分けは別スレ
中心となるデ
色分けスレ
メインスレ
こういう機能はどうや
そもそも、配列を所有するオブジ
違う違う。両方のスレ
Unicodeリテラル(>20091007)といい、正常進化だよね。>「C++0xのマルチスレ
非キ
正規表現でたとえると、従来の色分けは \b\w+\b を色分けする。昨日までは \b(\w+|[^\w\s]+)\b を色分けしていた。今日のは \b\S.*?\b を色分けする。(\bは \wと [^\w\s]、\wと \s、[^\w\s]と \sの境界)
弱点は、最長一致ではないから共通の接頭辞を持つ複数のキ
<追記@2010-04-04>
やはりというか、掲示板(unicode:1156)で最長一致について言及されてしま
昨日おかした間違いにトイレで気がついたよ。<どうでもいい
長さが足りなくて登録キ
予想通りだ
こういうケ
# 強調キーワード(2つ) 本日は、晴天なり 晴天じゃないよ # テキスト(1行) 本日は、晴天じゃないよ。
晴天じ
ハイライトの描画が古い情報に基づいていたのを修正した。なにが大丈夫だから省略、だ。> 過去の自分
@2009-10-20での矩形選択始点にゴミが残る問題の修正の結果、普通の選択でゴミが残るようにな
組み込みの「半角数値」の色分けが単語の境界を認識せず、数字とみれば見境なく色分けするようにしてしま
検索語ハイライトがおかしい。CEditView::IsSearchString()の仕様が正規表現検索とそうでない場合で異な
修正した。
@2009-10-10で書いた、「どなたかの受け売りで代入( = など)と演算子( == など)を分けた。この日記での色分けも以前からそうしている。」の元ネタを再発見した。これを以前読んでいたのだ。
With syntax highlighting it would be possible to mark "=" and "==" in different colours. Yay! A good reason for implementing syntax highlighting! But — and at this point it probably won't surprise you — every colour scheme I've come across uses the same colour to highlight both "=" and "==".
http://www.linusakesson.net/programming/syntaxhighlighting/index.php
ち
正規表現キ
>複数検索結果のハイライト表示 Request/197 - SakuraEditorWiki
最初に一言。検索履歴を利用して複数の色分け対象を探すのは、使いやすいインタ
検索機能は大枠で三種類ある。パタ
ツ
検索文字列の色設定のチ
Very Sleepyを試してみた。Ctrl+Endを押すと wcschr()がものすごい勢いで呼ばれているらしい。それを呼ぶのは文字変換系などを除くと WCODE::IsZenkakuKigou()がくさい。さらにそれを呼ぶのは CWordParse::WhatKindOfChar()。これは単語の境界判定で使われている。
改行文字36223個、折り返し64935行のフ
sakuraW.exe!CWordParse::WhatKindOfChar(const wchar_t * pData=0x027dd078, int pDataLen=134) 行 120 C++ sakuraW.exe!CWordParse::WhereCurrentWord_2(const wchar_t * pLine=0x027dd078, int nLineLen=134, int nIdx=125, int * pnIdxFrom=0x0017f76c, int * pnIdxTo=0x0017f768, CNativeW * pcmcmWord=0x00000000, CNativeW * pcmcmWordLeft=0x00000000) 行 49 + 0x10 バイト C++ sakuraW.exe!CEditView::IsSearchString(const CStringRef & cStr={...}, int nPos=125, int * pnSearchStart=0x026338f4, int * pnSearchEnd=0x026338f8) 行 307 + 0x24 バイト C++ sakuraW.exe!CColorML_Found::IsStartOfKeyword(const CEditDoc * const pDoc=0x02740048, const int nLineNumber=40057076, const int nPosWithinLine=125, EColorIndexType * const outColor=0x0017f80c, void * * userData=0x04af1e94) 行 56 C++ sakuraW.exe!ColorMLStrategy::HighlightEngine::DoHighlightLine(const std::vector<CColorML_Base * const,std::allocator<CColorML_Base * const> > & strategies=[2](0x026338a8,0x026338e8 {pView=0x0263a458 lineNum=1582 begin=-1 ...}), const CEditDoc * const pDoc=0x02740048, const int nLineNumber=1582, const ColorMLStrategy::HighlightEngine::StartingStrategy & startingStrategy={...}, ColorMLStrategy::Result * const outResult=0x00000000) 行 113 + 0x27 バイト C++ sakuraW.exe!ColorMLStrategy::HighlightEngine::HighlightLine(const std::vector<CColorML_Base * const,std::allocator<CColorML_Base * const> > & strategies=[2](0x026338a8,0x026338e8 {pView=0x0263a458 lineNum=1582 begin=-1 ...}), const CEditDoc * const pDoc=0x02740048, const int nLineNumber=36202, ColorMLStrategy::Result * const outResult=0x0017f9bc) 行 69 C++ sakuraW.exe!ColorMLStrategy::HighlightLine(const CEditDoc * const pDoc=0x02740048, const int nLineNumber=36202, ColorMLStrategy::Result * const outResult=0x0017f9bc) 行 200 C++ sakuraW.exe!CEditView::DrawLogicLine(HDC__ * _hdc=0x00008d6a, DispPos * _pDispPos=0x00000000, int * pnLineTo=0x0017fbe4) 行 546 C++ sakuraW.exe!CEditView::OnPaint(HDC__ * _hdc=0x01011734, tagPAINTSTRUCT * pPs=0x0017fc38, int bDrawFromComptibleBmp=18) 行 377 C++ sakuraW.exe!CEditView::DispatchEvent(HWND__ * hwnd=0x00080684, unsigned int uMsg=0, unsigned int wParam=0, long lParam=0) 行 693 C++ sakuraW.exe!EditViewWndProc(HWND__ * hwnd=0x00080684, unsigned int uMsg=15, unsigned int wParam=0, long lParam=0) 行 103 C++
CLayoutMgrの実装もリスト。ランダムアクセスの遅さ(=CLayoutMgr.SearchLineByLayoutY()の遅さ)がスクロ
インデ
ポインタ二個分のオ
Alphaは、GreenPadとならんで、ソ
GreenPadはねえ、どこに機能があ
Alpha-0.7.5.16α-fix10で .rbフ
ソ
昨日は「Localization(でいいのかな?)」と書いたけど、2006年あたりの日記(Alpha の باطل な日記)を見てると Multilingualizationまで踏み込んでいる気がする。「気がする」のは用語の適用範囲がいまいちわか
破
@2009-10-17に書いた「上検索で行末からの検索が行われていなか
サクラは '00000'00000 ←→ 00000'00000' だから、挙動に納得は出来る。 EmEditorは一見、真魚と同じに見えるが、 aaa1aaa1aaa1に対して、.+1で検索すれば、 順方向では開始位置から最後までがヒ
汁么ゴ魚 - 鬼車#3ットするのに逆方向ではa1だけがヒ ットする。 これも全く納得できない理解不能な動作だ。
上検索で a1 ではなく aaa1aaa1aaa1 にマ
真魚の最新版(2.2.3.5)で aaa1aaa1aaa1 に対して .+1 を下検索すると全体がマ
気にせず greedyな上検索にしてみたけど、中途半端な結果にな
本家のサクラエデ
対称性は(自分の望んだ結果なのだから)捨てられるとしても、2番目と 3番目にはよりよいマ
行末やキ
同じく、真魚の作者の日記から
正しくは、 CR:← LF:↓ CRLF:←曲がって↓ LFCR:↓で一行、←で一行 こんな表記になる。 あきらかに間違っているのはサクラエディタで、CRとLFの矢印が逆だ。 いや、Windowsの間違いにわざと乗ってやってると言うべきなのか。 CR:↓(逆) LF:←(逆) CRLF:↓曲がって←(逆+逆) LFCR:←曲がって↓(一行にまとめてはいけない)汁么ゴ魚 - CRとLFの問題
今は ANSI版、Unicode版ともに CRと LFの逆転は解消され、CRは←で、LFは↓で描画されている。CRLFはそのままだがこれは、LF(↓)と CR(←)の組み合わせなのではなく、リタ
URLの色分けがいつからかできてないや。
2009-11-16からだ。アルフ
intと wchar_t(オプシ
相変わらずマ
行をまたぐ色分けに問題があ
括弧類を色分け対象にしていて、「対括弧の強調」も有効にな
このブランチ単体でも、純粋な公式 trunk2でも再現しないからその差分を見ていたら見つけた。
http://sakura-editor.svn.sourceforge.net/viewvc/sakura-editor?view=rev&revision=1723
Index: sakura_core/view/CEditView_Paint_Bracket.cpp =================================================================== --- sakura_core/view/CEditView_Paint_Bracket.cpp (.../shjs_style_regex_keyword) (リビジョン 45197) +++ sakura_core/view/CEditView_Paint_Bracket.cpp (.../build_my_sakura) (リビジョン 45197) @@ -138,7 +138,7 @@ if( IsBracket( pLine, OutputX, CLogicInt(1) ) ){ // 03/10/24 ai 折り返し行のColorIndexが正しく取得できない問題に対応 // 2009.02.07 ryoji GetColorIndex に渡すインデックスの仕様変更(元はこっちの仕様だった模様) - nColorIndex = GetColorIndex( pcLayout, OutputX ); + nColorIndex = GetColorIndex( pcLayout, OutputX + 1 ); } else{ SetBracketPairPos( false );
+1したら次の文字の色になるのも当然。GetColorIndex()の中身がブランチの方で別物にな
ここらで続く。
sakuraW+rkw2.zip (645KiB, 2011-05-25, 2.0.2.0(r1913)ベ
shjs_style_regex_keyword(trunk2@1711).patch (352KiB, 2010-04-14)
svn co https://sakura-editor.svn.sourceforge.net/svnroot/sakura-editor/sakura/trunk2/@1711
気ままな変更がちらほら。
色分けされないときのチ
Javaだ
* WikiPedia(ja)を見たら JSONで表現できるデ
⁑ 内部で使用するだけの型の完全な情報を実装(cppフ
⁂ @2009-10-24 デストラクタが呼べないのは、auto_ptrをメンバに持つクラスのデストラクタがコンパイラの生成するデフ
*4 @2010-01-29 『More Exceptional C++』を読み返していたら、これにも原因の説明と対処法が載
*5 今のままでは正規表現のフラグとフラグの間にコメントが埋め込めそう。コメントは空白文字だとして、returnStateに戻る代わりに state_transition_table[returnState][C_SPACE]に戻れば良さげ。
*6 現在までに書いた C++コ
*7 というか、そのときの C#しか知らない。
*8 共有メモリにオブジ
@2013-07-26 Scintillaでの行管理の工夫。「[[Scintillaのデ
*9 文字列の内部表現が Unicodeなのに \xXX という ASCIIコ
速くなると聞いては捨ておけぬ。
category_anchorでの nil.yearエラ
plugin/makerss.rbが直前に変更のあ
という手順を考えた。
セクシ
新規作成や修正されたセクシ