mirror of
https://github.com/LDDestroier/CC/
synced 2025-05-24 08:14:05 +00:00
Fixed horizontal scrolling, added tab character
This commit is contained in:
parent
962a1d3c0c
commit
b0a0cf958d
28
eldit.lua
28
eldit.lua
@ -276,6 +276,7 @@ prompt = function(prebuffer)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local scrollToCursor = function()
|
local scrollToCursor = function()
|
||||||
|
lineNoLen = #tostring(#eldit.buffer)
|
||||||
local lowCur, highCur = eldit.cursors[1], eldit.cursors[1]
|
local lowCur, highCur = eldit.cursors[1], eldit.cursors[1]
|
||||||
local leftCur, rightCur = eldit.cursors[1], eldit.cursors[1]
|
local leftCur, rightCur = eldit.cursors[1], eldit.cursors[1]
|
||||||
for id,cur in pairs(eldit.cursors) do
|
for id,cur in pairs(eldit.cursors) do
|
||||||
@ -297,8 +298,8 @@ prompt = function(prebuffer)
|
|||||||
end
|
end
|
||||||
if leftCur.x - eldit.scrollX < 1 then
|
if leftCur.x - eldit.scrollX < 1 then
|
||||||
eldit.scrollX = rightCur.x - 1
|
eldit.scrollX = rightCur.x - 1
|
||||||
elseif rightCur.x - eldit.scrollX > eldit.size.width then
|
elseif rightCur.x - eldit.scrollX > eldit.size.width - lineNoLen then
|
||||||
eldit.scrollX = leftCur.x - eldit.size.width
|
eldit.scrollX = leftCur.x - (eldit.size.width - lineNoLen)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -331,7 +332,7 @@ prompt = function(prebuffer)
|
|||||||
),
|
),
|
||||||
math.max(
|
math.max(
|
||||||
0,
|
0,
|
||||||
getMaximumWidth() - eldit.size.width + 1
|
getMaximumWidth() - eldit.size.width + 1 - lineNoLen
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
@ -633,11 +634,19 @@ prompt = function(prebuffer)
|
|||||||
if keysDown[keys.leftCtrl] or keysDown[keys.leftCtrl] then
|
if keysDown[keys.leftCtrl] or keysDown[keys.leftCtrl] then
|
||||||
|
|
||||||
if evt[2] == keys.backspace then
|
if evt[2] == keys.backspace then
|
||||||
|
if #eldit.selections > 0 then
|
||||||
|
deleteSelections()
|
||||||
|
else
|
||||||
deleteText("word", "backward")
|
deleteText("word", "backward")
|
||||||
|
end
|
||||||
doRender, isCursorBlink = true, false
|
doRender, isCursorBlink = true, false
|
||||||
|
|
||||||
elseif evt[2] == keys.delete then
|
elseif evt[2] == keys.delete then
|
||||||
|
if #eldit.selections > 0 then
|
||||||
|
deleteSelections()
|
||||||
|
else
|
||||||
deleteText("word", "forward")
|
deleteText("word", "forward")
|
||||||
|
end
|
||||||
doRender, isCursorBlink = true, false
|
doRender, isCursorBlink = true, false
|
||||||
|
|
||||||
elseif evt[2] == keys.q then
|
elseif evt[2] == keys.q then
|
||||||
@ -678,7 +687,10 @@ prompt = function(prebuffer)
|
|||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
if evt[2] == keys.insert then
|
if evt[2] == keys.tab then
|
||||||
|
placeText("\9")
|
||||||
|
doRender = true
|
||||||
|
elseif evt[2] == keys.insert then
|
||||||
isInsert = not isInsert
|
isInsert = not isInsert
|
||||||
doRender, isCursorBlink = true, true
|
doRender, isCursorBlink = true, true
|
||||||
|
|
||||||
@ -713,11 +725,19 @@ prompt = function(prebuffer)
|
|||||||
doRender = true
|
doRender = true
|
||||||
|
|
||||||
elseif evt[2] == keys.backspace then
|
elseif evt[2] == keys.backspace then
|
||||||
|
if #eldit.selections > 0 then
|
||||||
|
deleteSelections()
|
||||||
|
else
|
||||||
deleteText("single", "backward")
|
deleteText("single", "backward")
|
||||||
|
end
|
||||||
doRender, isCursorBlink = true, false
|
doRender, isCursorBlink = true, false
|
||||||
|
|
||||||
elseif evt[2] == keys.delete then
|
elseif evt[2] == keys.delete then
|
||||||
|
if #eldit.selections > 0 then
|
||||||
|
deleteSelections()
|
||||||
|
else
|
||||||
deleteText("single", "forward")
|
deleteText("single", "forward")
|
||||||
|
end
|
||||||
doRender, isCursorBlink = true, false
|
doRender, isCursorBlink = true, false
|
||||||
|
|
||||||
elseif evt[2] == keys.left then
|
elseif evt[2] == keys.left then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user