mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-01-28 18:04:47 +00:00
Added term.getLine and window.getLine
This commit is contained in:
parent
f9929cb27d
commit
85b740f484
@ -67,6 +67,7 @@ public class TermAPI implements ILuaAPI
|
||||
"nativePaletteColour",
|
||||
"nativePaletteColor",
|
||||
"getCursorBlink",
|
||||
"getLine"
|
||||
};
|
||||
}
|
||||
|
||||
@ -279,6 +280,21 @@ public class TermAPI implements ILuaAPI
|
||||
case 25:
|
||||
// getCursorBlink
|
||||
return new Object[] { m_terminal.getCursorBlink() };
|
||||
case 26:
|
||||
// getLine
|
||||
int y = getInt( args, 0 ) - 1;
|
||||
if ( y < 0 || y >= m_terminal.getHeight() )
|
||||
{
|
||||
throw new LuaException( "Line is out of range." );
|
||||
}
|
||||
String line, lineTextColour, lineBackgroundColour;
|
||||
synchronized (m_terminal)
|
||||
{
|
||||
line = m_terminal.getLine( y ).read();
|
||||
lineTextColour = m_terminal.getTextColourLine( y ).read();
|
||||
lineBackgroundColour = m_terminal.getBackgroundColourLine( y ).read();
|
||||
}
|
||||
return new Object[] { line, lineTextColour, lineBackgroundColour };
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
@ -388,6 +388,16 @@ function create( parent, nX, nY, nWidth, nHeight, bStartVisible )
|
||||
return nBackgroundColor
|
||||
end
|
||||
|
||||
function window.getLine( nY )
|
||||
if type(nY) ~= "number" then expect(1, nY, "number") end
|
||||
|
||||
if nY < 1 or nY > nHeight then
|
||||
error( "Line is out of range.", 2 )
|
||||
end
|
||||
|
||||
return tLines[nY].text, tLines[nY].textColor, tLines[nY].backgroundColor
|
||||
end
|
||||
|
||||
-- Other functions
|
||||
function window.setVisible( bVis )
|
||||
if type(bVis) ~= "boolean" then expect(1, bVis, "boolean") end
|
||||
|
@ -9,4 +9,13 @@ describe("The term library", function()
|
||||
:eq("term is not a recommended redirect target, try term.current() instead")
|
||||
end)
|
||||
end)
|
||||
|
||||
describe("term.getLine", function()
|
||||
it("validates arguments", function()
|
||||
local _, y = term.getSize()
|
||||
expect.error(term.getLine, nil):eq("bad argument #1 (expected number, got nil)")
|
||||
expect.error(term.getLine, 0):eq("Line is out of range.")
|
||||
expect.error(term.getLine, y + 1):eq("Line is out of range.")
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
@ -120,4 +120,15 @@ describe("The window library", function()
|
||||
expect.error(w.reposition, 1, 1, 1, nil):eq("bad argument #4 (expected number, got nil)")
|
||||
end)
|
||||
end)
|
||||
|
||||
describe("Window.getLine", function()
|
||||
it("validates arguments", function()
|
||||
local w = mk()
|
||||
w.getLine(1)
|
||||
local _, y = w.getSize()
|
||||
expect.error(w.getLine, nil):eq("bad argument #1 (expected number, got nil)")
|
||||
expect.error(w.getLine, 0):eq("Line is out of range.")
|
||||
expect.error(w.getLine, y + 1):eq("Line is out of range.")
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
Loading…
Reference in New Issue
Block a user