WLJCIXYMSTCNSYCFOEBQNDLBZ5D2Z3WTF4E4WYL5CFGIJ434FKNQC S2MISTTMPEULTO6WRO4Q4NRUO7XC2PTZW3UBR7K7SO6JPZO6HBHAC F65ADDGLR2PNXVSM2XBHM3OSLQC2OTRR3GQBI7DJWIKPJCJ5CSOAC Z5HLXU4PJWWJJDBCK52NBD6PIRIA3TAN2BKZB5HBYFGIDBX4F5HAC 2TQR4PSY2FBIKEEKC2Y5ZPVPOD2QJ3EATII47PPWNMTAQA7EQ6GAC BULPIBEGL7TMK6CVIE7IS7WGAHGOSUJBGJSFQK542MOWGHP2ADQQC LF7BWEG4DKQI7NMXMZC4LC2BE5PB42HK5PD6OYBNIDMAZBJASOKQC PIEDOKYQWPQIQV3UDNLHZU7BXDPI7YBZ2LOQ2I6MN5JQM2CPPDOAC ZPUQSPQPQFVRUIHGLAWW3IDBYODIWDHO62HAC3WWF5TM3CIJGHNQC HTWAM4NZFOY463TNSKYIM2EWB7QNBGDRRTTGHF5N3Z4TGC7Q3SFAC YJJ4X4JGABMVA5JBQW5UAWI543P3Y7NDVFTOHA6LIDA5KSFGUFNQC QCQTMUZ7M3BKJFTKXTTXL4TS4CAQNIUNK3LR3WQIJDU3VVTOPS6AC 62PZGSUCEXJOCVWEOOENSDJITJFR27BGW7BPGFYVD3E5M6446RQQC SVJZZDC3K6AKAXHGRNAZKRE2ZXEKJANNLG7LSSUZJARFBL5F7C4AC WOXIYUTL4NU7ACHQYXEXJDSXCRDLQ2X457KO6C7GEXFQZ43F3L7QC LXTTOB33N2HCUZFIUDRQGGBVHK2HODRG4NBLH6RXRQZDCHF27BSAC 4J2L6JMR7NZBGCNX63CL2E3AIB7P7QTCC7QQBPNAEPQ7ISQXL7EQC 2L5MEZV344TOZLVY3432RHJFIRVXFD6O3GWLL5O4CV66BGAFTURQC LNUHQOGHIOFGJXNGA3DZLYEASLYYDGLN2I3EDZY5ANASQAHCG3YQC local screen_line_index,screen_line_starting_pos = Text.pos_at_start_of_cursor_screen_line(left, right)
local screen_line_index,screen_line_starting_pos = Text.pos_at_start_of_cursor_screen_line(State, left, right)
function Text.pos_at_start_of_cursor_screen_line(left, right)Text.populate_screen_line_starting_pos(Editor_state.lines[Editor_state.cursor1.line], left, right)for i=#Editor_state.lines[Editor_state.cursor1.line].screen_line_starting_pos,1,-1 dolocal spos = Editor_state.lines[Editor_state.cursor1.line].screen_line_starting_pos[i]if spos <= Editor_state.cursor1.pos then
function Text.pos_at_start_of_cursor_screen_line(State, left, right)Text.populate_screen_line_starting_pos(State.lines[State.cursor1.line], left, right)for i=#State.lines[State.cursor1.line].screen_line_starting_pos,1,-1 dolocal spos = State.lines[State.cursor1.line].screen_line_starting_pos[i]if spos <= State.cursor1.pos then
--? local _,botpos = Text.pos_at_start_of_cursor_screen_line(left, right)--? local botline1 = {line=Editor_state.cursor1.line, pos=botpos}--? return Text.lt1(Editor_state.screen_bottom1, botline1)
--? local _,botpos = Text.pos_at_start_of_cursor_screen_line(State, left, right)--? local botline1 = {line=State.cursor1.line, pos=botpos}--? return Text.lt1(State.screen_bottom1, botline1)
if Text.cursor_past_screen_bottom() thenText.snap_cursor_to_bottom_of_screen(State.margin_left, App.screen.height-State.margin_right)
if Text.cursor_past_screen_bottom(State) thenText.snap_cursor_to_bottom_of_screen(State, State.margin_left, App.screen.height-State.margin_right)