about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* layout: consider inline positioning for absolute blocksbptato2024-01-293-78/+102
| | | | | When an absolute block is a descendant of an inline box, its positioned ancestor must be set to that box.
* forkserver: clean upbptato2024-01-295-30/+24
| | | | | Move forkBuffer into forkserver (why was it in container anyway), remove unused mainproc variable, etc.
* client: stop entire process group on suspend()bptato2024-01-292-3/+4
| | | | | * pass 0 so e.g. git does not hang * use sigtstp so e.g. cgi scripts can clean up if needed
* man: fix man -kbptato2024-01-271-20/+37
|
* mimetypes: simplify parseMimeTypesbptato2024-01-272-16/+15
| | | | | * use functions like until * do not call atEnd for every line, use boolean readLine instead
* loader: clean up error handlingbptato2024-01-265-82/+71
| | | | | | | | | * remove pointless exception -> bool conversions; usually they were ignored anyway + exceptions are more convenient here * add EPIPE handler to raisePosixIOError * fix socketstream to use raisePosixIOError * fix socketstream sendFileHandle error handling * cgi: immediately return on file not found error
* cgi: fix broken libexec path env variablebptato2024-01-264-9/+10
|
* Add mancha man page viewerbptato2024-01-2610-11/+434
| | | | | | | | | | derived from w3mman2html.cgi, there are only a few minor differences: * different man page opener command * use man:, man-k:, man-l: instead of query string to specify action * no form input (C-lC-uman:pageC-m is faster anyway) TODO rewrite in Nim so we don't have to depend on Perl...
* js: update pragma docsbptato2024-01-241-3/+9
|
* js: define toStringTag properlybptato2024-01-243-3/+13
|
* js: allow specifying static function name, small refactoringbptato2024-01-243-63/+62
| | | | | | | | * static function names can now be defined using the syntax `Class:functionName' (or just use `Class' to take the default name * fix URL.canParse with 1 argument only * do not store JSFuncGenerator for constructors; just put the function node in BoundFunctions
* Remove newFormatbptato2024-01-235-20/+16
| | | | Pointless; it just returned a default zero-initialized object.
* color: remove Premul typebptato2024-01-231-18/+10
|
* rendertext: add support for backspace overstrike, misc fixesbptato2024-01-232-47/+125
| | | | | * parse manpage output styled ugly backspace overstrike formatting * fix broken charset detection for large files
* md2manpreproc: fix non-portable behaviorbptato2024-01-221-6/+6
| | | | Turns out \? for BRE is not in POSIX. Accordingly, it fails on FreeBSD.
* doc: fix cookie sharing examplebptato2024-01-221-4/+4
| | | | This configuration scheme really is a nightmare to use :(
* container: fix b/e unnecessarily switching linesbptato2024-01-201-3/+8
| | | | | cursorWordEnd & cursorWordBegin must only change the current line if no new word was found.
* Fix form action when submitter has a "form" attrbptato2024-01-192-20/+30
| | | | | | | * Unify form variable for all form-associated elements * Fix broken form association logic in resetFormOwner * Use form action for all form-associated submitters * Remove unused getElementsByTag + de-extern some functions
* charwidth: use ptint in controls calculationbptato2024-01-192-19/+19
| | | | int was incorrect
* buffer: fix clone on *BSDbptato2024-01-191-1/+8
| | | | kqueue does not like being closed after fork(2).
* about:chawan: fix some descriptionsbptato2024-01-191-2/+2
|
* Re-design word handling, add e, E, W, B, etc.bptato2024-01-197-59/+266
| | | | | | | | | | | | * Add functions for moving to the beginning/end of words (vi `b', `e'). * As it turns out, there are many possible interpretations of what a word is. Now we have a function for each reasonable interpretation, and the default settings match those of vi (and w3m in w3m.toml). (Exception: it's still broken on line boundaries... TODO) * Remove `bounds` from lineedit, it was horrible API design and mostly useless. In the future, an API similar to what pager now has could be added. * Update docs, and fix some spacing issues with symbols in the tables.
* utils/map: remove unused special casebptato2024-01-171-3/+0
| | | | Even if it were used, it's UB...
* Remove std/terminal dependencybptato2024-01-174-55/+66
| | | | It is mostly unnecessary, and conflicts with our use of termcap anyway.
* js: small improvementsbptato2024-01-173-22/+54
| | | | | * turn JSFuncGenerator into a ref object (it's faster this way) * remove strformat dependency
* dom: fix innerHTML tag name regressionbptato2024-01-171-2/+8
|
* dom: fix invalid object conversion defectbptato2024-01-171-1/+1
|
* quickjs: patch libunicode.h to use LRE_BOOLbptato2024-01-151-2/+2
| | | | | | | This way it actually compiles :) (QJS includes cutils.h too, so BOOL works there. We don't, so this is the easiest fix.)