posts - 76,  comments - 621,  trackbacks - 0
 
经过数天的艰苦奋战,终于添加了对多选区的支持。
幸亏我从最开始就考虑了这个东西,不然还真有点麻烦。尤其是对现有的source进行抽象重构。

单选,列选都划为多选的一种。
单选就简单的执行普通选择。
列选嘛,就是行连续的多选。
虽然都是多选的一种,不过我仍然做了区分, nomal selection, column selection和multiple selection。
主要是为了方便外部程序调用。

不过,我未实现多个重叠/相邻选区的合并操作。实现这个需要对集合做一个交集的处理,太麻烦了。
而且似乎也没有存在的必要,遂省略之。如果探测到重叠,为了安全起见,直接消掉全部选区。
重叠选区的存在是非常危险的,因为对重叠选区的操作是很诡异的。

明日 or 后日 release? (⊙o⊙)…我得好好休息了!
posted @ 2011-05-20 20:27 megax 阅读(169) | 评论 (1)编辑 收藏
本质上,普通选择和列选择都是多选区的特例。
理想的情况是多个选区之间应该没有交集。
对多个选区可以执行拷贝,插入,删除操作。这样sinppt的替换操作就很自然了。
mark一下。
posted @ 2011-05-19 23:14 megax 阅读(240) | 评论 (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 阅读(177) | 评论 (1)编辑 收藏
查找和替换真是麻烦至极。
普通模式还好,比较简单。
正则需要考虑行头和行尾模式,也就是^和$。还有换行符\n。
由此会产生行数的变化。在加上光标位置的考虑,会让人崩溃。
测试了一下,editplus未实现上述模式,scite系和vim也不行,hidemaru和emeditor也只是实现一小部分。
....继续考虑中
posted @ 2011-05-17 12:28 megax 阅读(184) | 评论 (1)编辑 收藏

查找,替换完成,支持正则。
目前还不支持多行替换,只是简单的按行遍历替换而已。查找的时候,可以高亮当前文件的匹配。
右键菜单,折叠所选。
目前这个程序还是比较小巧的。争取KO掉notepad2之流的wrapper.

可以动态更改encoding和eol,点击状态栏会出来菜单。
虽然目前还没啥特色,不过还好核心性能非常棒,我觉得。至少完美支持各种字符,占用内存非常少(假设你不做变态的操作)

intype现在半死不活的,e-textedi我不认为它会有前途——巨慢&特浪费内存。

textmate到现在,内核还未能够完美支持中日韩文,总言而之,还有机会!

下一版本,更新一下toolbar和菜单。在下一步就是往上装lexer之类的。

点这里下载。

/Files/megax/FanType20110512.zip
posted @ 2011-05-12 21:05 megax 阅读(328) | 评论 (5)编辑 收藏
前些日子,集成了Lua,做了一个自以为很棒的架构。
最后纠结于可拖放式Tab的时候,究竟是多个Lua instance还是单个中,纠结的头疼。妈的!
另外同步做了一个Lite版本。做到查找这儿了!
争取常更新

核心被封装成了标准控件,类名为FTEDIT32, 任何工具只要可以创建window,就可以使用。我在vb里面测试了一下,可以使用,很方便。
另外,哈哈,改名了,叫fantype,上一篇帖子一个网友起的,觉得名字挺短,还未被注册,过几天我得赶紧注册去。

 /Files/megax/Release20110509.zip

ps: cppblog的博客后台真是难用啊,打算godaddy买一个去!
posted @ 2011-05-09 22:32 megax 阅读(378) | 评论 (8)编辑 收藏

全盘script化之后,配置文件少多了,思路也清晰了。不过也越来越像vim了。

.主菜单和上下文菜单完全可以自定义,并且可以自定义自己的函数。

.快捷键也完全自定义,不过目前只有一个全局快捷HACCEL.将来应该每一个control有一个快捷键句柄,在加上一个全局的。

 

到现在为止模仿vimemacs的操作应该是好无问题了。

posted @ 2011-03-28 20:16 megax 阅读(532) | 评论 (8)编辑 收藏
     摘要: 首先说,这篇文章是很久很久很久以前写的,后来觉得没啥技术含量,就没发。今天放到这儿赚个眼球,主要目的还是征名,CPPBLOG网友一定要给力哦!

征名:

1. LiteEdit
2. EditLite
3. EverEdit
4. EditWin
5. MegaxEdit  阅读全文
posted @ 2011-01-04 20:21 megax 阅读(2972) | 评论 (26)编辑 收藏
     摘要: 首先,对于下面的文字你可以尽情的喷,不过还是建议你留下联系方式,以便我能和你做进一步探讨。现在这个进度虽然不具备发布的条件,不过还是放上来献丑吧。

历时数月大幅强化了内核功能,目前已经可以很流畅的编辑大文件了,并且只占用较低的内存。打开一般文件的时候,所使用内存也大幅降低,同时也提高了批量命令的执行效率。当然除了内核,目前还谈不上什么外围功能。只实现了查找、替换、打开、保存、关闭、编码探测、多窗口切换、DockWindow、窗口分割、bs/js脚本嵌入等等。附件中的版本应该会有很多问题,在以后的日子里,我的主要工作是让其稳定。

内核功能主要有以下特色:  阅读全文
posted @ 2010-12-29 22:51 megax 阅读(2570) | 评论 (30)编辑 收藏

以动态内存保存style,大幅降低内存占用。

采用多线程SDI.

实现了轻量级TagList,和VIM那个看起来差不多吧。

顺便实现了列插入、删除

编辑大文件时,采用了SwapFile

完美集成VBS

--------------------------------

MegaxEdit打算换个名字,我看中的那个域名好像还没被注册。。。。

一个很可能成为4块钱盗版盘中的软件,莫非要从我手中产生。。。。。期待中

1点了,睡喽。

posted @ 2010-11-15 23:56 megax 阅读(583) | 评论 (22)编辑 收藏
仅列出标题
共8页: 1 2 3 4 5 6 7 8