about summary refs log tree commit diff stats
path: root/src/utils
Commit message (Collapse)AuthorAgeFilesLines
...
* css: implement case insensitivitybptato2023-08-101-8/+0
| | | | For some reason I forgot about this.
* Fixes & workarounds to compile on Nim 2.0.0bptato2023-08-011-2/+4
| | | | | | | | | | | | | | * Import punycode, as it has been removed from stdlib. * Fix some syntax errors * Apparently you can no longer compare distinct pointers with nil. Add explicit comparisons with typeof(nil) instead. * htmlparser: rename _ to other, as semantics of _ have changed. (Quite a shame, it looked better with _. Oh well.) * Explicitly specify mm:refc, as the browser OOMs with orc for some reason. Confirmed to compile & run on 2.0.0, 1.6.14, 1.6.12, 1.6.10 and 1.6.8. (<1.6.8 it's broken & wontfix.)
* Fix twtstr.cmpbptato2023-07-281-2/+2
| | | | We were comparing the wrong sides of ranges here.
* Fix toHex weirdnessbptato2023-07-071-7/+6
|
* Fixes in ipv6 parser and serializerbptato2023-07-071-3/+20
|
* term: fix ANSI color approximationbptato2023-07-061-4/+0
| | | | Fixes a bug that lead to incorrect color approximation.
* Fix regression in twidthbptato2023-07-061-3/+3
|
* Add popup menu for select elementbptato2023-07-051-2/+3
| | | | | | | 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.)
* Fix JS type conversion regressionsbptato2023-07-031-3/+4
|
* Fix CastSize warningsbptato2023-07-031-2/+2
| | | | Introduced by 1.6.14. Warns of undefined behavior.
* return Result[T, JSError] from fromJSbptato2023-07-021-0/+3
|
* Factor out map search, remove sugarbptato2023-06-293-11/+31
|
* Refactor fromJS bodybptato2023-06-281-1/+4
|
* twtstr: remove unused functionbptato2023-06-251-13/+0
|
* Improve broken cookie handling, add multipart to formbptato2023-06-251-0/+11
| | | | | | | | 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.
* Option -> Opt in config, return error in compileSearchRegexbptato2023-06-241-0/+6
|
* radixtree: optimize searchingbptato2023-06-231-7/+39
|
* eprint: simplifybptato2023-06-231-33/+23
|
* Get rid of the .jserr pragmabptato2023-06-191-4/+1
|
* Rework JS exception systembptato2023-06-192-27/+45
| | | | | Now we use Result for passing exceptions to JS. As a result, we can finally get rid of the .jserr pragma.
* Use utils/opt in toml parserbptato2023-06-182-14/+66
|
* approximateANSIColor: fix possible underflowbptato2023-06-101-0/+4
|
* Fix some type confusion with colors, fix crash in pagerbptato2023-06-091-4/+37
|
* Add indexed color, other png improvementsbptato2023-06-091-0/+39
|
* Add support for width, height media querybptato2023-06-071-0/+3
|
* Add support for canvas and multipartbptato2023-06-051-44/+50
| | | | | | | | | | | | | | | Quite incomplete canvas implementation. Crucially, the layout engine can't do much with whatever is drawn because it doesn't support images yet. I've re-introduced multipart as well, with the FormData API. For the append function I've also introduced a hack to the JS binding generator that allows requesting the JSContext pointer in nim procs. Really I should just fix the union generator thing and add support for overloading. In conclusion, for now the only thing canvas can be used for is exporting it as PNG and uploading it somewhere. Also, we now have PNG encoding and decoding too. (Now if only we had sixels as well...)
* Refactor config, add charset optsbptato2023-05-162-0/+40
| | | | Only document-charset supported for now.
* Add elogbptato2023-05-011-0/+16
| | | | Like eprint, but writes to `a'
* what 003ca26b was supposed to dobptato2023-04-301-0/+1
|
* eprint: make it a functionbptato2023-02-051-1/+1
| | | | This makes the compiler complain less.
* Update character width rangesbptato2023-02-051-168/+102
| | | | | Use the Unicode 15 EastAsianWidth.txt file instead of an ancient wcwidth implementation's ranges.
* Make width table at compile-timebptato2023-01-271-63/+100
|
* utils/twtstr: simplify mnormalizebptato2023-01-061-4/+1
| | | | Use the isAscii function for early return.
* twtstr: fix oversightbptato2023-01-051-6/+1
|
* data/idna, utils/twtstr: clean up, fix bugsbptato2023-01-051-50/+62
| | | | | | | Looks like lazily loading the idna table doesn't work, so now it's statically loaded. Also, bugfixes in idna handling.
* convert_size: truncate resultbptato2023-01-011-13/+18
|
* buffer: fix some search bugs & refactor regex stuffbptato2023-01-011-18/+24
| | | | | | | | 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.
* Proper support for tabsbptato2022-12-271-4/+16
|
* Correct attribute functions, de-extern jserrbptato2022-12-261-3/+9
| | | | | | Instead of unnecessarily marking every jserr function as *, add the used pragma (so the C compiler can get rid of them later.) Also, use the correct definition of attribute namespace.
* dom: correct constructors, more create functionsbptato2022-12-261-0/+9
|
* DOM: implement many new methodsbptato2022-12-261-0/+56
|
* Add unicode normalization, etcbptato2022-12-191-16/+75
|
* More DOM workbptato2022-12-191-0/+4
|
* More work on DOM (incl. bugfixes)bptato2022-12-191-13/+1
|
* Add JS support to documentsbptato2022-12-181-0/+28
|
* makeCRLF: move to twtstr, write last charbptato2022-12-151-0/+23
|
* Fix path mime type detectionbptato2022-12-131-2/+2
|
* Add network.max-redirect, prepend-https optionsbptato2022-12-131-2/+2
|
* Add support for the encoding standard, fix parseLegacyColorbptato2022-12-101-1/+1
| | | | Also, fix a bug in the
* Fix a punycode decoding bugbptato2022-12-051-1/+1
|