| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Depending on Perl just for this is silly.
Now we use libregexp for filtering basically the same things as
w3mman2html did. This required another patch to QuickJS to avoid
pulling in the entire JS engine, but in return, we can now run regexes
without a dummy JS context global variable.
Also, man.nim now tries to find a man command on the system even if it's
not in /usr/bin/man.
|
|
|
|
|
| |
* do not eat \\c, \\C
* emulate vi-style word boundary matching (\<, \>) with \b
|
|
|
|
|
|
|
| |
I've gotten tired of not being able to search for forward slashes.
Now it works like in vim, and you can also set default ignore case in
the config.
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of the broken attempt at making regexes zero-copy (it copied
anyway), copy once and forget about it.
(There have been way too many problems with the destructor approach,
including the latest one where the GC would happily zero out our
regexes if they were in a sequence.
Maybe we can make this work once we switched to ORC. For now, it's
not worth the trouble.)
|
|
|
|
|
|
|
|
|
|
| |
* ips -> io/
* loader related stuff -> loader/
* tempfile -> extern/
* buffer, forkserver -> server/
* lineedit, window -> display/
* cell -> types/
* opt -> types/
|
| |
|
|
|
|
|
| |
A capture size of 0 (e.g. |) no longer sends the regex matcher into an
infinite loop.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove some unused properties from objects
* Un-extern JSFunctionList
* Remove js/javascript dependency from regex (the wrapper functions
were rather pointless)
* Remove setProperty (only toJS(Table) used it, but there we have to
use defineProperty instead.)
* Accordingly, use definePropertyCWE in toJS(Table)
* Simplify fromJSTable (replace pointer arithmetic with UncheckedArray)
* Reduce implicit `result' usage
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Events: just implement the interfaces, no events are triggered yet.
JS changes:
* add LegacyUnforgeable
* make consts enumerable
* fix crash in isInstanceOf
* fix destructor warnings
* refactor registerType
As a result, peakmem is now 1G+ on 1.6.14. It stays ~750M on 2.0.0. Hmm.
Well, better upgrade to 2.0.0 I guess.
|
|
|
|
|
|
|
| |
This makes it so that host = 'example\.org' mandates an exact match,
but host = '^example' matches example.org, example.com, etc.
(Previously, 'example\.org' would have matched exampleexample.org
as well, which was quite counter-intuitive.)
|
|
|
|
|
|
|
| |
This allows us to greatly simplify exec(Regex). In particular, we
no longer have to convert any line containing non-ascii characters
into UTF-16 (which was a significant inefficiency in regex search
until now).
|
| |
|
|
|
|
|
| |
We have to set it to (capture - cstr) >> 1, because libregexp later
shifts it left.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Also probably other fixes.
|
| |
|
|
|
|
| |
Including replace.
|
|
|
|
| |
Also, fix a bug in the
|
|
|
|
|
|
| |
This enables rule-based dynamic url rewriting.
Also, lineedit is a bit less broken now (though it's still less than
ideal.)
|
| |
|
| |
|
| |
|
|
Uses libregexp from QuickJS. Incremental search is quite hacky for now,
but overall it seems to work OK.
|