經過數天的艱苦奮戰,終于添加了對多選區的支持。
幸虧我從最開始就考慮了這個東西,不然還真有點麻煩。尤其是對現有的source進行抽象重構。
單選,列選都劃為多選的一種。
單選就簡單的執行普通選擇。
列選嘛,就是行連續的多選。
雖然都是多選的一種,不過我仍然做了區分, nomal selection, column selection和multiple selection。
主要是為了方便外部程序調用。
不過,我未實現多個重疊/相鄰選區的合并操作。實現這個需要對集合做一個交集的處理,太麻煩了。
而且似乎也沒有存在的必要,遂省略之。如果探測到重疊,為了安全起見,直接消掉全部選區。
重疊選區的存在是非常危險的,因為對重疊選區的操作是很詭異的。
明日 or 后日 release? (⊙o⊙)…我得好好休息了!
posted @
2011-05-20 20:27 megax 閱讀(181) |
評論 (1) |
編輯 收藏
本質上,普通選擇和列選擇都是多選區的特例。
理想的情況是多個選區之間應該沒有交集。
對多個選區可以執行拷貝,插入,刪除操作。這樣sinppt的替換操作就很自然了。
mark一下。
posted @
2011-05-19 23:14 megax 閱讀(255) |
評論 (2) |
編輯 收藏
前兩天在godaddy上把域名買了www.fantype.net
被分到新加坡機房了。。暈!
可能看我的是日本的IP地址吧。
1.美化了圖片,從ue上拷貝的。
2.優化了查找和替換。不過replace all還是有點問題,放放在整。
查找和替換的實現是很有技巧性的,不能蠻干。以后還要往上接增量查找。代碼一定要漂亮,不然來看的動力都沒有了。
3.添加了一個Line Highlight接口,像查找高亮,語法拼寫檢查,這些東西,都使用該接口,獨立出來。
你可以在查找勾選加亮,就看到效果了。
下一步,要解決的是replace all.
下個版本爭取把hunspell裝上去。lexer, tab trigger打算用腳本來做。
說到腳本,我覺得我的想法最簡單,我已經實踐過了,可行!
操作可以簡單的分為2種,Command和Event。command就是鍵盤,菜單,toolbar之類所產生的WM_COMMAND。
event是當發生特定操作的時候,所定義的事件。比如文件打開關閉之類的。
腳本端可以簡單的定義一個function,然后bindcommand(id, func)或者bindevent(id, func)這樣的方式添加就行了。
嗯,不能想的太多了,要不然又得胎死腹中。還是先做好下個簡單版本吧。
下載:
點我下載
posted @
2011-05-18 22:23 megax 閱讀(207) |
評論 (1) |
編輯 收藏
查找和替換真是麻煩至極。
普通模式還好,比較簡單。
正則需要考慮行頭和行尾模式,也就是^和$。還有換行符\n。
由此會產生行數的變化。在加上光標位置的考慮,會讓人崩潰。
測試了一下,editplus未實現上述模式,scite系和vim也不行,hidemaru和emeditor也只是實現一小部分。
....繼續考慮中
posted @
2011-05-17 12:28 megax 閱讀(196) |
評論 (1) |
編輯 收藏
查找,替換完成,支持正則。
目前還不支持多行替換,只是簡單的按行遍歷替換而已。查找的時候,可以高亮當前文件的匹配。
右鍵菜單,折疊所選。
目前這個程序還是比較小巧的。爭取KO掉notepad2之流的wrapper.
可以動態更改encoding和eol,點擊狀態欄會出來菜單。
雖然目前還沒啥特色,不過還好核心性能非常棒,我覺得。至少完美支持各種字符,占用內存非常少(假設你不做變態的操作)
intype現在半死不活的,e-textedi我不認為它會有前途——巨慢&特浪費內存。
textmate到現在,內核還未能夠完美支持中日韓文,總言而之,還有機會!
下一版本,更新一下toolbar和菜單。在下一步就是往上裝lexer之類的。
點這里下載。
/Files/megax/FanType20110512.zip
posted @
2011-05-12 21:05 megax 閱讀(341) |
評論 (5) |
編輯 收藏
前些日子,集成了Lua,做了一個自以為很棒的架構。
最后糾結于可拖放式Tab的時候,究竟是多個Lua instance還是單個中,糾結的頭疼。媽的!
另外同步做了一個Lite版本。做到查找這兒了!
爭取常更新
核心被封裝成了標準控件,類名為FTEDIT32, 任何工具只要可以創建window,就可以使用。我在vb里面測試了一下,可以使用,很方便。
另外,哈哈,改名了,叫fantype,上一篇帖子一個網友起的,覺得名字挺短,還未被注冊,過幾天我得趕緊注冊去。
/Files/megax/Release20110509.zipps: cppblog的博客后臺真是難用啊,打算godaddy買一個去!
posted @
2011-05-09 22:32 megax 閱讀(443) |
評論 (8) |
編輯 收藏
全盤script化之后,配置文件少多了,思路也清晰了。不過也越來越像vim了。
.主菜單和上下文菜單完全可以自定義,并且可以自定義自己的函數。
.快捷鍵也完全自定義,不過目前只有一個全局快捷HACCEL.將來應該每一個control有一個快捷鍵句柄,在加上一個全局的。
到現在為止模仿vim和emacs的操作應該是好無問題了。
posted @
2011-03-28 20:16 megax 閱讀(556) |
評論 (8) |
編輯 收藏
摘要: 首先說,這篇文章是很久很久很久以前寫的,后來覺得沒啥技術含量,就沒發。今天放到這兒賺個眼球,主要目的還是征名,CPPBLOG網友一定要給力哦!
征名:
1. LiteEdit
2. EditLite
3. EverEdit
4. EditWin
5. MegaxEdit
閱讀全文
posted @
2011-01-04 20:21 megax 閱讀(3024) |
評論 (26) |
編輯 收藏
摘要: 首先,對于下面的文字你可以盡情的噴,不過還是建議你留下聯系方式,以便我能和你做進一步探討。現在這個進度雖然不具備發布的條件,不過還是放上來獻丑吧。
歷時數月大幅強化了內核功能,目前已經可以很流暢的編輯大文件了,并且只占用較低的內存。打開一般文件的時候,所使用內存也大幅降低,同時也提高了批量命令的執行效率。當然除了內核,目前還談不上什么外圍功能。只實現了查找、替換、打開、保存、關閉、編碼探測、多窗口切換、DockWindow、窗口分割、bs/js腳本嵌入等等。附件中的版本應該會有很多問題,在以后的日子里,我的主要工作是讓其穩定。
內核功能主要有以下特色:
閱讀全文
posted @
2010-12-29 22:51 megax 閱讀(2634) |
評論 (30) |
編輯 收藏
以動態內存保存style,大幅降低內存占用。
采用多線程SDI.
實現了輕量級TagList,和VIM那個看起來差不多吧。
順便實現了列插入、刪除
編輯大文件時,采用了SwapFile
完美集成VBS
--------------------------------
MegaxEdit打算換個名字,我看中的那個域名好像還沒被注冊。。。。
一個很可能成為4塊錢盜版盤中的軟件,莫非要從我手中產生。。。。。期待中
1點了,睡嘍。
posted @
2010-11-15 23:56 megax 閱讀(605) |
評論 (22) |
編輯 收藏