aboutsummaryrefslogtreecommitdiff
path: root/src/term
Commit message (Collapse)AuthorAge
...
* Remove need for inclusive rangesManish Goregaokar2017-01-06
|
* Remove need for range_contains featureManish Goregaokar2017-01-06
|
* Remove need for step_by featureManish Goregaokar2017-01-06
|
* Handle invalid gotos more gracefully.Josh Leverette2017-01-06
|
* Add support for SGR mouse reportingJoe Wilm2017-01-01
| | | | | According to: http://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Mouse-Tracking
* Improve RenderableCellsIter performanceJoe Wilm2016-12-29
| | | | Also adds a benchmark for cell.reset().
* Add Default impl for CellJoe Wilm2016-12-29
| | | | Just a bit of cleanup.
* Fix pty read sometimes not triggering drawJoe Wilm2016-12-29
| | | | | | | | | | | There was a lot of complexity around the threadsafe `Flag` type and waking up the event loop. The idea was to prevent unnecessary calls to the glutin window's wakeup_event_loop() method which can be expensive. This complexity made it difficult to get synchronization between the pty reader and the render thread correct. Now, the `dirty` flag on the terminal is also used to prevent spurious wakeups. It is only changed when the mutex is held, so race conditions associated with that flag shouldn't happen.
* Fix some bugs with selectionsJoe Wilm2016-12-29
| | | | Moving the window on macOS would cause a panic in certain circumstances.
* Unify Cursor, Location and name it PointJoe Wilm2016-12-29
|
* Fix selection copy for long linesJoe Wilm2016-12-29
| | | | | | Long lines were previously broken at the terminal width. Now, a wrapping marker is kept on the final cell so that extra newlines are not inserted.
* Implement copying selection for macOSJoe Wilm2016-12-26
| | | | Still need automatic loading into selection copy buffer for linux.
* Implement visual component of mouse selectionsJoe Wilm2016-12-22
| | | | | | This adds the ability to click and drag with the mouse and have the effect of visually selecting text. The ability to copy the selection into a clipboard buffer is not yet implemented.
* Misc formatting fixesJoe Wilm2016-12-16
|
* Rustup and clippyJoe Wilm2016-12-16
| | | | All of the changes in this commit are due to clippy lints.
* Handle overflow in Term::move_backwardJoe Wilm2016-12-15
| | | | Resolves #25
* Remove need for Rc<RefCell<_>> usageJoe Wilm2016-12-12
| | | | | | | This adds a trait OnResize and a separate method handle_resize to the display. Instead of having a callback to receive resize events, a list of &mut OnResize are passed to this new method. Doing this allowed the only RefCell usage in the codebase to be removed :).
* Track terminal cells on mouse movementJoe Wilm2016-12-11
| | | | | | | The cell under the cursor is now tracked in the input processor at `self.mouse.line` and `self.mouse.column`. This could probably be optimized to only compute the cell when in certain states, but the calculation is cheap.
* Display manages window, renderer, rasterizerJoe Wilm2016-12-11
| | | | | | | | | | This is part of an ongoing decoupling effort across the codebase and tidying effort in main.rs. Everything to do with showing the window with a grid of characters is now managed by the `Display` type. It owns the window, the font rasterizer, and the renderer. The only info needed from it are dimensions of characters and the window itself for sizing the terminal properly. Additionally, the I/O loop has access to wake it up when new data arrives.
* Implement Handler::identify_terminal for TermJoe Wilm2016-12-11
| | | | | The identify_terminal function signature had to change to support writing to the terminal before processing additional input.
* Add support for indexed colorsJoe Wilm2016-12-11
| | | | | | | | ANSI escape sequences like `\x1b[48;5;10m` were not supported until now. Specifically, the second attribute, 5, says that the following attribute is a color index. The ref tests were updated since `enum Color` variants changed.
* Add support for bracketed pasteJoe Wilm2016-12-11
| | | | | Binding/Action execute now has access to TermMode to support bracketed paste mode.
* Move term::cell module to its own fileJoe Wilm2016-12-11
The cell module was previously implemented within term.rs. Now each module has its own file.