mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-01-30 10:54: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",
|
"nativePaletteColour",
|
||||||
"nativePaletteColor",
|
"nativePaletteColor",
|
||||||
"getCursorBlink",
|
"getCursorBlink",
|
||||||
|
"getLine"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -279,6 +280,21 @@ public class TermAPI implements ILuaAPI
|
|||||||
case 25:
|
case 25:
|
||||||
// getCursorBlink
|
// getCursorBlink
|
||||||
return new Object[] { m_terminal.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:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -388,6 +388,16 @@ function create( parent, nX, nY, nWidth, nHeight, bStartVisible )
|
|||||||
return nBackgroundColor
|
return nBackgroundColor
|
||||||
end
|
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
|
-- Other functions
|
||||||
function window.setVisible( bVis )
|
function window.setVisible( bVis )
|
||||||
if type(bVis) ~= "boolean" then expect(1, bVis, "boolean") end
|
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")
|
:eq("term is not a recommended redirect target, try term.current() instead")
|
||||||
end)
|
end)
|
||||||
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)
|
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)")
|
expect.error(w.reposition, 1, 1, 1, nil):eq("bad argument #4 (expected number, got nil)")
|
||||||
end)
|
end)
|
||||||
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)
|
end)
|
||||||
|
Loading…
Reference in New Issue
Block a user