| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
std/unicode has the following issues:
* Rune is an int32, which implies overflow checking. Also, it is
distinct, so you have to convert it manually to do arithmetic.
* QJS libunicode and Chagashi work with uint32, interfacing with these
required pointless type conversions.
* fastRuneAt is a template, meaning it's pasted into every call
site. Also, it decodes to UCS-4, so it generates two branches that
aren't even used. Overall this lead to quite some code bloat.
* fastRuneAt and lastRune have frustratingly different
interfaces. Writing code to handle both cases is error prone.
* On older Nim versions which we still support, std/unicode takes
strings, not openArray[char]'s.
Replace it with "twtuni", which includes some improved versions of
the few procedures from std/unicode that we actually use.
|
|
|
|
|
|
|
|
|
| |
* buffer, pager, config: add meta-refresh value, which makes it possible
to follow http-equiv=refresh META tags.
* config: clean up redundant format mode parser
* timeout: accept varargs for params to pass on to functions
* pager: add "options" dict to JS gotoURL
* twtstr: remove redundant startsWithNoCase
|
|
|
|
| |
Parse rule values in sheet addRule, not during cascade.
|
|
|
|
|
|
|
|
|
| |
* factor out skipWhitespace
* remove streams dependency
(cssparser could never stream without blocking the event loop, so we
were just passing a StringStream in all cases, which made the whole
streaming pointless.)
|
|
|
|
|
|
| |
* separate params with ; (semicolon) instead of , (colon)
* reduce screaming snake case use
* wrap long lines
|
|
|
|
| |
obviously for ident tokens we must check value, not unit
|
|
|
|
|
| |
* skip whitespace in some places where we didn't but should
* fix crash in get_tok when eof comes after whitespace
|
|
|
|
|
|
| |
* rename buffer enums
* fix isAscii for char 0x80
* remove dead code from URL
|
| |
|
| |
|
|
|
|
| |
much better
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now it is (technically) no longer mandatory to link to libcurl.
Also, Chawan is at last completely protocol and network backend
agnostic :)
* Implement multipart requests in local CGI
* Implement simultaneous download of CGI data
* Add REQUEST_HEADERS env var with all headers
* cssparser: add a missing check in consumeEscape
|
|
|
|
|
|
|
|
| |
* tolower: strutils toLowerAscii is good enough for the cases where
we need it. Also, it's easy to confuse with unicode toLower and
vice versa.
* isWhitespace: in AsciiWhitespace is more idiomatic. Also has a
naming collision with unicode toLower.
|
| |
|
|
|
|
|
|
|
|
| |
We did were not using it as a unicode value anywhere, it was just
making our life harder.
If we ever need unicode delimiter tokens, we can re-introduce them
as a different token type.
|
|
|
|
|
|
|
|
|
|
| |
* ips -> io/
* loader related stuff -> loader/
* tempfile -> extern/
* buffer, forkserver -> server/
* lineedit, window -> display/
* cell -> types/
* opt -> types/
|
| |
|
|
|
|
|
|
|
| |
Split out parts of the JS module, because it was starting to confuse
the compiler a little.
(Peakmem is back at 750M. Interesting.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.)
|
| |
|
|
|
|
| |
return DOMException instead
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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...)
|
| |
|
| |
|
|
|
|
| |
To-do: use decoderstream...
|
|
|
|
| |
Also probably other fixes.
|
|
|
|
| |
Just a typo...
|
| |
|
|
|
|
| |
And parse An+B syntax for nth-child/nth-last-child.
|
| |
|
|
|
|
| |
It was slightly outdated and in many places incorrect.
|
| |
|
|
|
|
| |
Plus a few warnings.
|
|
|
|
| |
Nim can't really differentiate between them, unfortunately.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
...also, one can kinda use this as a file viewer now I guess
|
| |
|
|
|