about summary refs log tree commit diff stats
path: root/src/buffer/container.nim
Commit message (Collapse)AuthorAgeFilesLines
* move some modules to local/bptato2023-09-141-1024/+0
| | | | makes a bit more sense than the previous arrangement
* container: accept numbers in cursorLeft, cursorRight, etc.bptato2023-09-091-8/+8
| | | | | | These functions now take a numeric argument to determine how many cells/lines to move. Also, update the default config so e.g. 9j now works.
* add extern, refactor some term functionsbptato2023-09-091-0/+5
| | | | | | | | | | | * Add an extern() call. Maybe it should be defined on client. It certainly should accept a dictionary instead of the enum type we use now. Perhaps it should return the error code? I'll leave it undocumented until I figure this out. * Refactor enableRawMode, unblockStdin, etc. so that they operate on the term object instead of global state. * Move editor to a separate folder, and factor out runprocess into a different module.
* Add vi-style numeric prefixes, make gotoLine 1-basedbptato2023-09-081-6/+5
| | | | | | | | * it is now possible to jump to the nth line by typing {n}G * gotoLine is now 1-based, so to go to the first line you would use pager.gotoLine(1) * it is now allowed to return a function from a keybinding (which will be subsequently executed as a regular keybinding)
* container: add separate commands for 0 and ^bptato2023-09-081-0/+9
| | | | | Just as in vi, 0 puts the cursor at the beginning of the current line, and ^ puts the cursor at the position of the first non-blank character.
* container: remove strformat dependencybptato2023-09-071-2/+4
|
* container: remove attrsbptato2023-09-071-3/+0
| | | | It was unused; we just set the width and height instead.
* Add mailcap, mime.types & misc refactoringsbptato2023-08-131-44/+67
| | | | | | | | * add mailcap: works with copiousoutput, needsterminal, etc. * add mime.types (only works with mailcap) * refactor pipeBuffer * remove "dispatcher" * fix bug in directory display where baseurl would not be used
* Fix double line bug in dump modebptato2023-07-291-2/+2
|
* Buffer search fixes & improvementsbptato2023-07-111-17/+26
| | | | | * Fix race condition in updateReadLineISearch * Disable reshape during isearch
* Add popup menu for select elementbptato2023-07-051-44/+153
| | | | | | | Replaces the weird CSS implementation we have had until now with a searchable popup menu similar to that of w3m. (The previous implementation broke on websites that do not expect <select> to expand on click, had no separate search, and was ugly.)
* use =destroy instead of finalizersbptato2023-07-011-0/+2
| | | | | This should help with moving to ORC in the future. (Also, finalizers do not work very well in the first place.)
* Improve broken cookie handling, add multipart to formbptato2023-06-251-2/+3
| | | | | | | | Now it's not as horribly broken as before (but it's still far from perfect). We can at least log in to sr.ht (hooray). The form multipart part is straightforward, just pass what we used to pass long ago before I broke multipart.
* Rework JS exception systembptato2023-06-191-2/+2
| | | | | Now we use Result for passing exceptions to JS. As a result, we can finally get rid of the .jserr pragma.
* Add XTERM title renamingbptato2023-06-071-2/+2
|
* Fix more config inconsistenciesbptato2023-06-011-1/+1
| | | | So that the default config actually works again. Also some doc updates.
* Name negative response codesbptato2023-05-141-1/+1
|
* buffer: disable popup confirmation for formsbptato2023-04-101-1/+2
|
* buffer: do not move cursor in scrollLeftbptato2023-01-201-2/+0
|
* buffer/container: fix cursor overwriting double-width charsbptato2023-01-111-1/+22
| | | | | In some terminals, placing the cursor on the second cell of a double-width character deletes half of said character, so let's not do that.
* Slightly refactor commandModebptato2023-01-061-1/+1
|
* Add ask()bptato2023-01-051-0/+3
|
* container, pager: work around bad codegenbptato2023-01-021-3/+3
|
* Fix connection load info not being shownbptato2023-01-021-1/+1
|
* loader: proper redirect handlingbptato2023-01-011-5/+3
|
* buffer: fix some search bugs & refactor regex stuffbptato2023-01-011-22/+18
| | | | | | | | cursorBytes uses twidth now. cursorNextMatch matches the byte *after* the cursor (somewhat more consistently than before). match() no longer counts capture groups. LRE_FLAG_GLOBAL now goes through the entire string.
* Add promise support to JSbptato2022-12-311-7/+7
|
* buffer/container: fix highlighting widthbptato2022-12-281-2/+2
|
* Proper support for tabsbptato2022-12-271-35/+32
|
* container: fix requestLines not setting setxbptato2022-12-251-0/+1
|
* pager: proxy values in container; js: bugfixesbptato2022-12-201-52/+73
| | | | Also, a little bonus: w3m keybindings
* Add unicode normalization, etcbptato2022-12-191-0/+1
|
* Allow cycling through hover-texts with ubptato2022-12-161-5/+29
|
* container: do not load all lines at once in readLinesbptato2022-12-151-7/+17
|
* Fix console display bugs, add container.locationbptato2022-12-151-1/+4
|
* Add discardTree, update docsbptato2022-12-151-2/+2
|
* Make load() slightly less dumbbptato2022-12-151-2/+3
| | | | | This gets rid of the inefficient timeout thing. Still, the ideal solution would be to move the timeout into the container; TODO.
* Add referer support, re-render on windowChangebptato2022-12-131-10/+16
|
* Fix stream error handling confusion, title displaybptato2022-12-131-1/+6
| | | | Also probably other fixes.
* Add more cookie optionsbptato2022-12-131-5/+2
|
* Update config and config docsbptato2022-12-131-2/+5
|
* Add all sorts of config options and cookiesbptato2022-12-131-8/+17
|
* Add urlfilterbptato2022-12-121-1/+1
|
* Fixes & QOL improvementsbptato2022-12-111-1/+1
| | | | | | | | * fix infinite loop after closing buffer * fix setx not triggering hover updates * fix D not going back to PREV but to parent * add M-d, M-,, M-., M-/ for old D behavior, cycle through siblings, back to parent
* Fix -dbptato2022-12-101-12/+9
|
* Optimize sendCursorPosition/updateHover, close streams after loadResourcebptato2022-12-061-10/+9
|
* Trigger status event when number of lines changedbptato2022-12-051-5/+7
| | | | (So that line information is updated automatically)
* Add title tag support, peek, peekCursorbptato2022-12-051-0/+10
|
* Make redraw() actually clear the screenbptato2022-12-011-1/+3
| | | | It's more useful this way.
* Fix some screen update issues, remove redraw timerbptato2022-12-011-7/+14
| | | | | For now it's unnecessary; may be re-added later to support some dynamic document features.