about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
...
* loader: significantly more efficient loadingbptato2024-02-112-98/+137
| | | | | | | | | | The previous version was running the processor on 100% because select would immediately return for writes even when no buffers to send were available. (This has been the case since I added asynchronous sending, but the previous commit put the console buffer's fd in loader too and that made the problem quite obvious.)
* widthconv: bugfixesbptato2024-02-112-26/+14
| | | | | | | * fix failed assertion on non-ha-column half-width chars followed by handakuten with text-transform: full-width * fix dquot full-width conversion * fix lone half-width han/dakuten conversion
* Get rid of LOAD_PIPE BufferSourcebptato2024-02-119-110/+130
| | | | | Instead, use a stream: scheme and associate hostnames with file descriptors directly from the pager.
* loader: add rejectHandlebptato2024-02-101-8/+8
|
* pager: use 644 mask for mailcap temp filesbptato2024-02-101-2/+2
|
* loader: fix teebptato2024-02-104-126/+230
| | | | | | | | | | | | My eyes are bleeding, but at least there is a chance that this does what I wanted. The previous tee implementation mixed buffer and loader fds, so it was fundamentally broken. Also, it used MultiStream which makes asynchronous streaming impossible. This time we use a flat array of output handles and link to them any buffers not written to the target yet.
* loader: fixes & cleanupbptato2024-02-104-73/+55
| | | | | | | | | | | * LoaderHandle.fd is no more, we now check ostream's fd * setBlocking converted to a PosixStream method * SocketStream now sets fd variable * handle sostream/fd redirection properly * fix suspend/resume This fixes non-HTML resource loading, mostly. However, tee is still broken :/
* loader: use recvData instead of readDatabptato2024-02-093-16/+35
| | | | | | | | recvData is a new method for PosixStream that does less weird magic than readData. Also, allow duplicates in unregWrite/unregRead; it's simpler to live with them than to prevent them.
* cgi: do not register closed istreamsbptato2024-02-091-1/+2
|
* twtstr: misc refactoringsbptato2024-02-098-244/+247
| | | | | | * move out half width <-> full width converters * snake_case -> camelCase * improve toScreamingSnakeCase slicing
* buffer: fix index defect in updateHoverbptato2024-02-081-1/+2
| | | | | | Caused by a race condition when updateHover is executed after buffer.lines.len changed in buffer but before the change has been reported to container.
* buffer: use `of' instead of tagTypebptato2024-02-081-1/+1
|
* Update chamebptato2024-02-082-1/+1
|
* loader: fix (another) double-close bugbptato2024-02-081-4/+8
|
* loader: fix memory leakbptato2024-02-081-1/+3
|
* loader: fix double-close bugsbptato2024-02-081-3/+3
|
* buffer: load external resources when they are attachedbptato2024-02-084-103/+133
| | | | | We no longer have to wait for the entire document to be loaded to start loading CSS.
* loader: fix eagain in fetch, only add URL to handle in debugbptato2024-02-082-7/+12
| | | | | | * eagain was causing fetch to add unnecessary null bytes to input streams * URL is now only added to handles in debug mode
* Update todobptato2024-02-081-12/+15
|
* dom: reduce todosbptato2024-02-081-10/+20
| | | | | * enumize insertAdjacentHTML position * un-extern attrs
* js: fix fromJSEnumbptato2024-02-082-6/+17
| | | | std enum parsing uses Nim ident matching rules, which is incorrect here.
* chadombuilder: remove unnecessary pragmabptato2024-02-081-1/+1
|
* dom: enumize attribute namesbptato2024-02-088-206/+338
|
* dom: atomize id, name, DOMTokenListbptato2024-02-083-103/+162
|
* dom: reduce tagType usebptato2024-02-084-70/+46
| | | | | tagType is now a function call, but usually it's enough to just test for the object type.
* Update readmebptato2024-02-071-4/+4
|
* Update chamebptato2024-02-072-1/+1
|
* Fix some document.write bugsbptato2024-02-072-44/+88
|
* Incremental renderingbptato2024-02-078-224/+389
| | | | | | | | | | | | Yay! Admittedly, it is not very useful in its current form, except maybe on very slow networks. The problem is that renderDocument is *slow*, so we only run it when onload fails to consume all bytes from the network in a single pass. Even then, we are guaranteed to get a FOUC, since CSS is only downloaded in finishLoad(). Well, I think it's cool, anyway.
* Update chamebptato2024-02-0713-611/+1092
| | | | | | | | * Update chame to the latest version * Get rid of nodeType usage * Add atoms * Re-implement DOM attributes * document.write
* nim.cfg: disable threadsbptato2024-02-062-1/+2
| | | | | | | We do not use threads at the moment, so there's no need to link to pthreads either. (Also, add nim.cfg to the cha target in the Makefile.)
* fix bug in prev commitbptato2024-02-051-1/+1
| | | | it's 0, not 1 :(
* regex: fix 8-bit narrow strings in JSbptato2024-02-052-26/+40
| | | | | The previous approach to add UTF-8 support to libregexp was broken. This time, we use a separate flag (cbuf_len == 3) to indicate UTF-8 input.
* md2html: add support for strikethroughbptato2024-02-051-1/+7
|
* pager: display precnum *and* inputBuffer when precnum != 0bptato2024-02-011-3/+1
| | | | Previously we were overwriting it, and that looked a little strange.
* Makefile: fix about.nim depsbptato2024-02-011-1/+2
|
* about:license: fix typobptato2024-02-011-1/+1
|
* md2html: improved underscore ignoring rulesbptato2024-02-011-2/+4
| | | | Only ignore when prev/next chars are not alnum.
* md2html: skip space after list item startbptato2024-02-011-2/+2
|
* md2html: detect lists starting with dashbptato2024-02-011-1/+1
|
* toml: misc refactoringsbptato2024-01-301-71/+40
|
* toml: allow EOF in values with laxnamesbptato2024-01-301-0/+2
| | | | Useful for clearing settings with -o
* config: append */* rule instead of prependingbptato2024-01-302-11/+3
| | | | | | + actually use the result. Fixes default converters when no external mailcap exists.
* Update todobptato2024-01-301-0/+2
|
* Add default md2html converterbptato2024-01-305-16/+413
|
* doc/config: add missing backtickbptato2024-01-301-1/+1
|
* doc: do not emphasize th text, mention pager.locationbptato2024-01-301-33/+38
|
* Add command to yank link under cursor (yc)bptato2024-01-294-5/+34
|
* js: always use var destructorbptato2024-01-291-8/+2
| | | | See https://forum.nim-lang.org/t/10807
* layout: more consistent namingbptato2024-01-291-79/+41
|