https://github.com/ryym/toss
Last synced: 16 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/ryym/toss
- Owner: ryym
- Created: 2025-09-15T14:30:12.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2026-07-04T11:03:52.000Z (25 days ago)
- Last Synced: 2026-07-04T13:04:18.272Z (25 days ago)
- Language: Rust
- Size: 14.7 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Toss ― A modern terminal pager
Toss is a terminal pager like `less`. Toss focuses on the following features:
- **Smooth scroll** - Animate scrolling with easing
- **Incremental search** - Highlight matches as you type
- **Sticky header** - Pin a pattern-matched header line while scrolling

## Status
- In active development
- Not a direct replacement of `less`; Toss currently lacks many features of `less`
## Installation
```bash
git clone https://github.com/ryym/toss
cd toss
cargo install --path .
```
## Usage Examples
### View a Git commit with [Delta][delta]
[delta]: https://github.com/dandavison/delta
```bash
# View a commit with Delta and Toss.
git show @ | delta \
--file-modified-label 'updated:' \
--pager 'toss -F \
--header 1 \
--heading "^(added:|updated:|renamed:|removed:)" --heading-lines 2'
# --header 1
# Always display the first line, which is a commit hash.
# --heading "..." --heading-lines 2
# Make each file name header sticky by pattern-matching.
```
You can make this a default pager in Git by specifying the above `delta` command as a `core.pager` of your Git.
### View files with [Bat][bat]
[bat]: https://github.com/sharkdp/bat
```bash
# Bat config (https://github.com/sharkdp/bat#configuration-file)
--theme=TwoDark
--style='header,numbers,grid,changes'
# ...
--pager 'toss -F --heading "─┬─" --heading-lines 3'
```