about summary refs log tree commit diff stats
path: root/search.lua
Commit message (Collapse)AuthorAgeFilesLines
* stop caching screen_bottom1Kartik K. Agaram2024-06-111-2/+4
| | | | | | | | | | | | | | | | | | | I'm not sure this is very useful. I had an initial idea to stop using screen_bottom1 in final_text_loc_on_screen, by starting from screen_top1 rather than screen_bottom1. But that changes the direction in which we scan for the text line in situations where there is somehow no text on screen (something that should never happen but I have zero confidence in that). Still, it doesn't seem like a bad thing to drastically reduce the lifetime of some derived state. Really what I need to do is throw this whole UX out and allow the cursor to be on a drawing as a whole. So up arrow or left arrow below a drawing would focus the whole drawing in a red border, and another up arrow and left arrow would skip the drawing and continue upward. I think that change to the UX will eliminate a whole class of special cases in the code.
* use editor state font for width calculationsKartik K. Agaram2024-01-121-1/+1
|
* audit all assertsKartik K. Agaram2023-11-181-1/+1
| | | | | | | | | | | | | Each one should provide a message that will show up within LÖVE. Stop relying on nearby prints to the terminal. I also found some unnecessary ones. There is some potential here for performance regressions: the format() calls will trigger whether or not the assertion fails, and cause allocations. So far Lua's GC seems good enough to manage the load even with Moby Dick, even in some situations that caused issues in the past like undo.
* rfind bugfix: handle empty pattern like string.findKartik K. Agaram2023-10-151-0/+2
|
* add some tests for rfindKartik K. Agaram2023-10-151-0/+7
|
* bugfix: searching files containing unicodeKartik K. Agaram2023-05-131-28/+42
| | | | | Before this change the cursor was moving, but not being highlighted properly when the cursor line contained unicode before the cursor.
* App.width can no longer take a TextKartik K. Agaram2023-04-011-4/+1
| | | | | In the process I discovered the horrible fact that Text.x allocates a new Text. And it gets called (just once, thank goodness) on every single frame.
* reduce use of rfindKartik K. Agaram2023-01-131-0/+2
|
* support special chars like '(' in searchKartik K. Agaram2022-09-181-8/+8
|
* editing source code from within the appKartik K. Agaram2022-09-031-12/+8
| | | | | integrated from pong.love via text.love: https://merveilles.town/@akkartik/108933336531898243
* generalize a functionKartik K. Agaram2022-08-181-2/+2
|
* drop some obsolete argsKartik K. Agaram2022-08-181-2/+2
|
* swap return valuesKartik K. Agaram2022-08-171-2/+2
|
* bugfix: check after cursor on same line when searching upwardsKartik K. Agaram2022-08-111-1/+9
|
* search: transparently handle drawings everywhereKartik K. Agaram2022-08-111-22/+18
|
* bugfix: search upwardsKartik K. Agaram2022-08-111-1/+1
|
* bugfix: check before cursor on same lineKartik K. Agaram2022-08-111-1/+12
|
* update cursor in search boxKartik K. Agaram2022-07-251-3/+1
|
* bugfix: skip over drawings when searchingKartik K. Agaram2022-07-251-8/+15
|
* left/right margin -> left/right coordinatesKartik K. Agaram2022-07-121-2/+2
| | | | | Editor state initialization now depends on window dimensions, so we have to more carefully orchestrate startup.
* add state arg to a few functionsKartik K. Agaram2022-07-121-38/+38
| | | | | - Text.search_next - Text.search_previous
* add state arg to some functionsKartik K. Agaram2022-07-121-6/+6
| | | | | | - Text.draw - Text.draw_cursor - Text.draw_search_bar
* group all editor globalsKartik K. Agaram2022-07-121-41/+41
| | | | We're still accessing them through a global. But we'll change that next.
* make colors easier to editKartik K. Agaram2022-07-111-3/+3
|
* add args to some functionsKartik K. Agaram2022-07-081-2/+2
| | | | - Text.pos_at_start_of_cursor_screen_line
* extract a couple of filesKartik K. Agaram2022-06-031-0/+114