| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
* Add select & copy selection functionality to container
* Fix bug in generateSwapOutput where output could be misplaced
because of zero-width cells
* Add fromJSPromise, call runJSJobs in every iteration of the
headed event loop
* "await" pager actions that output a promise
* Change default view source keybinding to `\'
|
|
|
|
|
| |
pager.tty refers to infile, not outfile. rename to avoid further
confusion
|
|
|
|
|
| |
pkg-config does not find termcap (or really, ncurses) here, so we
have to find it ourselves.
|
|
|
|
| |
now it's a function
|
| |
|
|
|
|
|
|
| |
* rename module (window -> winattrs, to avoid conflict with env/window)
* do not use result
* remove unused cell_ratio
|
|
|
|
| |
this was causing crashes
|
| |
|
|
|
|
|
| |
We must decrease cursori by `len`, because exactly `len` bytes have
been deleted from before the cursor.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The editor box never uses the last cell. However, it should still
overwrite it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old lineedit system worked quite well in the original synchronous
model. However, because it needs access to the terminal, it has been
subtly broken ever since buffer updates are allowed while the user
is in line edit mode.
This is best observed in incremental search, where searching for a
bgcolor'ed text would result in the bgcolor bleeding into the line
editor box.
The new version is much simpler, and therefore less optimized. But
it can still take advantage of output optimization in the terminal
controller, and it is free of races (because we simply query the
current state from the pager and feed it into the main output grid).
|
|
|
|
|
|
|
|
|
|
| |
* ips -> io/
* loader related stuff -> loader/
* tempfile -> extern/
* buffer, forkserver -> server/
* lineedit, window -> display/
* cell -> types/
* opt -> types/
|
|
|
|
| |
makes a bit more sense than the previous arrangement
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now connect to buffers from the client, instead of connecting
buffers to the client. This has the following advantages:
* Simplifies the client event loop.
* Makes the client a real client (no more serversocket dependency).
* Slightly more secure, as we no longer have to trust buffers not
lying about their process ids.
* Facilitates the potential future addition of connections from
several clients to a single buffer.
|
| |
|
|
|
|
| |
changing addr semantics strikes again
|
| |
|
|
|
|
| |
And use that in extern().
|
|
|
|
|
|
|
|
|
|
|
| |
* Add an extern() call. Maybe it should be defined on client. It
certainly should accept a dictionary instead of the enum type we use
now. Perhaps it should return the error code?
I'll leave it undocumented until I figure this out.
* Refactor enableRawMode, unblockStdin, etc. so that they operate on
the term object instead of global state.
* Move editor to a separate folder, and factor out runprocess into
a different module.
|
|
|
|
|
|
|
|
| |
* it is now possible to jump to the nth line by typing {n}G
* gotoLine is now 1-based, so to go to the first line you would use
pager.gotoLine(1)
* it is now allowed to return a function from a keybinding (which will be
subsequently executed as a regular keybinding)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Split out parts of the JS module, because it was starting to confuse
the compiler a little.
(Peakmem is back at 750M. Interesting.)
|
| |
|
|
|
|
| |
This way we do not need the ugly getProperty call.
|
|
|
|
| |
Operation "modularize Chawan somewhat" part 1
|
|
|
|
|
|
|
|
| |
* add mailcap: works with copiousoutput, needsterminal, etc.
* add mime.types (only works with mailcap)
* refactor pipeBuffer
* remove "dispatcher"
* fix bug in directory display where baseurl would not be used
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* Use the output charset in lineedit (as w3m does)
* encoder: fix broken UTF-8 encoding, use openArray instead of var
seq for input queue
* Add RuneStream as an in-memory interface to EncoderStream
* Document display-charset config option
|
|
|
|
|
| |
* Fix race condition in updateReadLineISearch
* Disable reshape during isearch
|
| |
|
|
|
|
|
| |
Instead of directly appending nodes to the DOM, use a DOMBuilder
interface.
|
|
|
|
| |
Fixes a bug that lead to incorrect color approximation.
|
|
|
|
|
|
|
| |
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.)
|
| |
|
| |
|
|
|
|
| |
...because that doesn't work at all.
|
| |
|
|
|
|
| |
Introduced by 1.6.14. Warns of undefined behavior.
|
| |
|
| |
|
|
|
|
|
| |
This should help with moving to ORC in the future. (Also, finalizers
do not work very well in the first place.)
|
|
|
|
| |
Note: setters do not work yet.
|
|
|
|
| |
Kind of a hack, but better than nothing.
|