程序代码:
--Scite鼠标选择区域, 代码折叠.
--首尾添加注释代码;{-- ;}
function CommentFold()
local p1=editor.SelectionStart
local p2=editor.SelectionEnd
--print(p2)
local L=editor:LineFromPosition(p1)
if p1~=p2 then
local Asc = {[9]=1,[13]=1}
--~停止字符集合: 9=Tab,13=Enter, --[0]=1,[10]=1,[13]=1,[32]=1,[34]=1,[39]=1,[44]=1
while Asc[editor.CharAt[p1]] == nil do
p1 = p1 + 1
end
while Asc[editor.CharAt[p2]] == nil do
p2 = p2 + 1
end
editor:InsertText(p1," ;{ -- ")
editor:InsertText(p2+7," ;}")
end
editor:GotoPos(p1+7)
scite.SendEditor(SCI_TOGGLEFOLD, L)
end
--首尾添加注释代码;{-- ;}
function CommentFold()
local p1=editor.SelectionStart
local p2=editor.SelectionEnd
--print(p2)
local L=editor:LineFromPosition(p1)
if p1~=p2 then
local Asc = {[9]=1,[13]=1}
--~停止字符集合: 9=Tab,13=Enter, --[0]=1,[10]=1,[13]=1,[32]=1,[34]=1,[39]=1,[44]=1
while Asc[editor.CharAt[p1]] == nil do
p1 = p1 + 1
end
while Asc[editor.CharAt[p2]] == nil do
p2 = p2 + 1
end
editor:InsertText(p1," ;{ -- ")
editor:InsertText(p2+7," ;}")
end
editor:GotoPos(p1+7)
scite.SendEditor(SCI_TOGGLEFOLD, L)
end
上面这段代码是, 使用在Scite编辑器中, 添加代码折叠.
作用是:
鼠标当前框选部分的首行尾 ----添加 ";{"
鼠标当前框选部分的末行尾 ----添加 ";{"
实现 代码折叠 ;{ 代码 ;}
用在ahk编写.
现在的问题是, 如果框选到文件最后一行. 就会卡死. 如何增加一个条件判断. 已经到了文件结束就跳出While
while Asc[editor.CharAt[p2]] == nil do
p2 = p2 + 1
end