mirror of
				https://github.com/SquidDev-CC/CC-Tweaked
				synced 2025-10-30 21:23:00 +00:00 
			
		
		
		
	Added term.getLine and window.getLine
This commit is contained in:
		| @@ -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) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 liquid
					liquid