Merge lines.love
This commit is contained in:
commit
6b33c9e223
|
@ -798,7 +798,7 @@ function Text.to_pos_on_line(State, line_index, mx, my)
|
||||||
-- (The final screen line positions past end of screen line as always.)
|
-- (The final screen line positions past end of screen line as always.)
|
||||||
if screen_line_index < #line_cache.screen_line_starting_pos and mx > State.left + Text.screen_line_width(State, line_index, screen_line_index) then
|
if screen_line_index < #line_cache.screen_line_starting_pos and mx > State.left + Text.screen_line_width(State, line_index, screen_line_index) then
|
||||||
--? print('past end of non-final line; return')
|
--? print('past end of non-final line; return')
|
||||||
return line_cache.screen_line_starting_pos[screen_line_index+1]-1
|
return line_cache.screen_line_starting_pos[screen_line_index+1]
|
||||||
end
|
end
|
||||||
local s = string.sub(line.data, screen_line_starting_byte_offset)
|
local s = string.sub(line.data, screen_line_starting_byte_offset)
|
||||||
--? print('return', mx, Text.nearest_cursor_pos(State.font, s, mx, State.left), '=>', screen_line_starting_pos + Text.nearest_cursor_pos(State.font, s, mx, State.left) - 1)
|
--? print('return', mx, Text.nearest_cursor_pos(State.font, s, mx, State.left), '=>', screen_line_starting_pos + Text.nearest_cursor_pos(State.font, s, mx, State.left) - 1)
|
||||||
|
|
|
@ -485,9 +485,9 @@ function test_click_past_end_of_screen_line()
|
||||||
y = y + Editor_state.line_height
|
y = y + Editor_state.line_height
|
||||||
-- click past end of second screen line
|
-- click past end of second screen line
|
||||||
edit.run_after_mouse_click(Editor_state, App.screen.width-2,y-2, 1)
|
edit.run_after_mouse_click(Editor_state, App.screen.width-2,y-2, 1)
|
||||||
-- cursor moves to end of screen line
|
-- cursor moves to end of screen line (one more than final character shown)
|
||||||
check_eq(Editor_state.cursor1.line, 1, 'cursor:line')
|
check_eq(Editor_state.cursor1.line, 1, 'cursor:line')
|
||||||
check_eq(Editor_state.cursor1.pos, 12, 'cursor:pos')
|
check_eq(Editor_state.cursor1.pos, 13, 'cursor:pos')
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_click_on_wrapping_line_rendered_from_partway_at_top_of_screen()
|
function test_click_on_wrapping_line_rendered_from_partway_at_top_of_screen()
|
||||||
|
@ -506,9 +506,9 @@ function test_click_on_wrapping_line_rendered_from_partway_at_top_of_screen()
|
||||||
y = y + Editor_state.line_height
|
y = y + Editor_state.line_height
|
||||||
-- click past end of second screen line
|
-- click past end of second screen line
|
||||||
edit.run_after_mouse_click(Editor_state, App.screen.width-2,y-2, 1)
|
edit.run_after_mouse_click(Editor_state, App.screen.width-2,y-2, 1)
|
||||||
-- cursor moves to end of screen line
|
-- cursor moves to end of screen line (one more than final character shown)
|
||||||
check_eq(Editor_state.cursor1.line, 1, 'cursor:line')
|
check_eq(Editor_state.cursor1.line, 1, 'cursor:line')
|
||||||
check_eq(Editor_state.cursor1.pos, 12, 'cursor:pos')
|
check_eq(Editor_state.cursor1.pos, 13, 'cursor:pos')
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_click_past_end_of_wrapping_line()
|
function test_click_past_end_of_wrapping_line()
|
||||||
|
@ -576,8 +576,8 @@ function test_click_past_end_of_word_wrapping_line()
|
||||||
y = y + Editor_state.line_height
|
y = y + Editor_state.line_height
|
||||||
-- click past the end of the screen line
|
-- click past the end of the screen line
|
||||||
edit.run_after_mouse_click(Editor_state, App.screen.width-2,y-2, 1)
|
edit.run_after_mouse_click(Editor_state, App.screen.width-2,y-2, 1)
|
||||||
-- cursor moves to end of screen line
|
-- cursor moves to end of screen line (one more than final character shown)
|
||||||
check_eq(Editor_state.cursor1.pos, 20, 'cursor')
|
check_eq(Editor_state.cursor1.pos, 21, 'cursor')
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_select_text()
|
function test_select_text()
|
||||||
|
|
2
text.lua
2
text.lua
|
@ -662,7 +662,7 @@ function Text.to_pos_on_line(State, line_index, mx, my)
|
||||||
-- (The final screen line positions past end of screen line as always.)
|
-- (The final screen line positions past end of screen line as always.)
|
||||||
if screen_line_index < #line_cache.screen_line_starting_pos and mx > State.left + Text.screen_line_width(State, line_index, screen_line_index) then
|
if screen_line_index < #line_cache.screen_line_starting_pos and mx > State.left + Text.screen_line_width(State, line_index, screen_line_index) then
|
||||||
--? print('past end of non-final line; return')
|
--? print('past end of non-final line; return')
|
||||||
return line_cache.screen_line_starting_pos[screen_line_index+1]-1
|
return line_cache.screen_line_starting_pos[screen_line_index+1]
|
||||||
end
|
end
|
||||||
local s = string.sub(line.data, screen_line_starting_byte_offset)
|
local s = string.sub(line.data, screen_line_starting_byte_offset)
|
||||||
--? print('return', mx, Text.nearest_cursor_pos(State.font, s, mx, State.left), '=>', screen_line_starting_pos + Text.nearest_cursor_pos(State.font, s, mx, State.left) - 1)
|
--? print('return', mx, Text.nearest_cursor_pos(State.font, s, mx, State.left), '=>', screen_line_starting_pos + Text.nearest_cursor_pos(State.font, s, mx, State.left) - 1)
|
||||||
|
|
|
@ -459,9 +459,9 @@ function test_click_past_end_of_screen_line()
|
||||||
y = y + Editor_state.line_height
|
y = y + Editor_state.line_height
|
||||||
-- click past end of second screen line
|
-- click past end of second screen line
|
||||||
edit.run_after_mouse_click(Editor_state, App.screen.width-2,y-2, 1)
|
edit.run_after_mouse_click(Editor_state, App.screen.width-2,y-2, 1)
|
||||||
-- cursor moves to end of screen line
|
-- cursor moves to end of screen line (one more than final character shown)
|
||||||
check_eq(Editor_state.cursor1.line, 1, 'cursor:line')
|
check_eq(Editor_state.cursor1.line, 1, 'cursor:line')
|
||||||
check_eq(Editor_state.cursor1.pos, 12, 'cursor:pos')
|
check_eq(Editor_state.cursor1.pos, 13, 'cursor:pos')
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_click_on_wrapping_line_rendered_from_partway_at_top_of_screen()
|
function test_click_on_wrapping_line_rendered_from_partway_at_top_of_screen()
|
||||||
|
@ -480,9 +480,9 @@ function test_click_on_wrapping_line_rendered_from_partway_at_top_of_screen()
|
||||||
y = y + Editor_state.line_height
|
y = y + Editor_state.line_height
|
||||||
-- click past end of second screen line
|
-- click past end of second screen line
|
||||||
edit.run_after_mouse_click(Editor_state, App.screen.width-2,y-2, 1)
|
edit.run_after_mouse_click(Editor_state, App.screen.width-2,y-2, 1)
|
||||||
-- cursor moves to end of screen line
|
-- cursor moves to end of screen line (one more than final character shown)
|
||||||
check_eq(Editor_state.cursor1.line, 1, 'cursor:line')
|
check_eq(Editor_state.cursor1.line, 1, 'cursor:line')
|
||||||
check_eq(Editor_state.cursor1.pos, 12, 'cursor:pos')
|
check_eq(Editor_state.cursor1.pos, 13, 'cursor:pos')
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_click_past_end_of_wrapping_line()
|
function test_click_past_end_of_wrapping_line()
|
||||||
|
@ -550,8 +550,8 @@ function test_click_past_end_of_word_wrapping_line()
|
||||||
y = y + Editor_state.line_height
|
y = y + Editor_state.line_height
|
||||||
-- click past the end of the screen line
|
-- click past the end of the screen line
|
||||||
edit.run_after_mouse_click(Editor_state, App.screen.width-2,y-2, 1)
|
edit.run_after_mouse_click(Editor_state, App.screen.width-2,y-2, 1)
|
||||||
-- cursor moves to end of screen line
|
-- cursor moves to end of screen line (one more than final character shown)
|
||||||
check_eq(Editor_state.cursor1.pos, 20, 'cursor')
|
check_eq(Editor_state.cursor1.pos, 21, 'cursor')
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_select_text()
|
function test_select_text()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user