【因工作原因,好久不更新了,向各位關(guān)心的朋友說聲道歉】
去年的某一天,對MegaxEdit進(jìn)行了整理,因最后MFC靜態(tài)編譯出來的東西較大,遂萌生往WTL轉(zhuǎn)移的想法。
前前后后花了很長事件移植完畢,與其說是移植,倒不如說是重寫。
現(xiàn)在編譯出來只有300K左右,壓縮一下,100多K,挺小巧。
最近反復(fù)在想,我為什么做這個(gè)東西?最后的答案是:興趣。
多少年以前我就想做編輯器,一直斷斷續(xù)續(xù)到現(xiàn)在還沒完工,哎。。O(∩_∩)O呵呵。
看了網(wǎng)上一些對編輯器的評論,感觸頗深。
尤其是Mac上的TextMate,我沒用過,不過看介紹,似乎并沒有什么特殊的功能,僅僅是一個(gè)什么Bundles就讓很多
程序員趨之若鶩。其實(shí)也就是個(gè)代碼完成,感覺實(shí)現(xiàn)起來沒什么技巧。也許具有足夠的可定制性不是一件easy的事情吧。
還有e這個(gè)Editor,真不想說什么了,我覺得很一般很一般。一個(gè)編輯器,啟動(dòng)就要25M內(nèi)存。編輯稍微大點(diǎn)的文件,內(nèi)存就直線
上升。我用了一會(huì),就發(fā)現(xiàn)一堆的bug.真不明白,這么一個(gè)破編輯器也要賣39歐。
還有Notepad++,竟然被評為最好用的編輯器了,俺不服。
與其罵別人,倒不如激勵(lì)自己。我的編輯器到底應(yīng)該有什么樣的特色呢?
我覺得下面這幾個(gè)是我必須得要的。
1, 支持unicode和東亞字符,最好可以自動(dòng)探測文件編碼(這點(diǎn),借助Firefox,我實(shí)現(xiàn)了,hoho)
2, 支持自定義語法文件,語法渲染要好。這點(diǎn)上,我最后使用了詞法分析的方式來做。大多數(shù)人都會(huì)使用到
少數(shù)幾個(gè)編程語言,都希望編輯器能夠更好的渲染這幾種常用的語言代碼。另外我提供了一個(gè)CommonLex供一般程序使用,
可以分析單行,多行注釋,字符串,數(shù)字,分組關(guān)鍵字,分隔符,這些其實(shí)就夠了。
3, 支持Schema,眼睛累了,就可以換一個(gè),hehe
lua比較好用,我直接把顏色保存成table,想用哪個(gè)schema,配置一下就Ok了。
4, 一定不要過于占用內(nèi)存和CPU。
5, 我還想要什么呢。。。還沒想好。最主要我想要我做的。O(∩_∩)O哈哈~
發(fā)個(gè)截圖,留作紀(jì)念。


另外,哪位朋友給我寫個(gè)從后面查找的指定字符串的函數(shù),原型如下:
就一個(gè)要求,要高效,要對啊
src: 源字符串
len: 源字符串長度
start: 從該位置開始查找
sub: 字符串
sub_len: 子字符串長度
case: 區(qū)分大小寫
int rstrstr( const char* src, int len, int start, const char* sub, int sub_len, bool case );
posted on 2009-02-25 19:39
megax 閱讀(2535)
評論(23) 編輯 收藏 引用