{"id":24107599,"url":"https://github.com/bclehmann/lesser","last_synced_at":"2026-05-12T11:42:48.818Z","repository":{"id":267048915,"uuid":"900121138","full_name":"bclehmann/lesser","owner":"bclehmann","description":"A searching terminal pager.","archived":false,"fork":false,"pushed_at":"2025-11-21T02:35:18.000Z","size":59,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-21T02:36:06.021Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bclehmann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-07T23:10:46.000Z","updated_at":"2025-11-21T00:42:57.000Z","dependencies_parsed_at":"2024-12-08T00:20:24.330Z","dependency_job_id":"084b5171-08a5-4d10-bf77-c418a1d53864","html_url":"https://github.com/bclehmann/lesser","commit_stats":null,"previous_names":["bclehmann/lesser"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bclehmann/lesser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bclehmann%2Flesser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bclehmann%2Flesser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bclehmann%2Flesser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bclehmann%2Flesser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bclehmann","download_url":"https://codeload.github.com/bclehmann/lesser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bclehmann%2Flesser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32937999,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T09:19:52.626Z","status":"ssl_error","status_checked_at":"2026-05-12T09:17:33.438Z","response_time":102,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-10T22:39:46.614Z","updated_at":"2026-05-12T11:42:48.811Z","avatar_url":"https://github.com/bclehmann.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lesser\n\nThis is a basic terminal pager that has support for searching. I made this because I found myself reaching for a better way to read through log files at work. And secondarily because I want to work more with rust.\n\n## Features\n\n- Line-by-line paging with up/down arrows\n- Search by pressing `/`, or regex search with `r`\n- Suitable for paging through streaming input\n    - note that on Powershell `foo | lesser` will _not_ pipe anything in until `foo` terminates. I may make a workaround, but even though I'm a Windows user I use WSL for work, so I haven't found a way to address this\n- Open multiple files at once: `lesser file1 file2 ...` or with a glob like `lesser dir/*` (switch between them with `s`)\n- Open a file in watch mode with `--watch`, this will subscribe to updates\n\n\n## Controls\n\n- Quit: `q`, `ESC`\n- Line up/down: arrow keys\n- Page up/down: `u` and `d` or `PgUp` and `PgDn`\n- Go to end: `Enter`\n- Enter search mode: `/`\n   - Next/prev occurrences with arrow keys\n   - Exit search mode: Escape\n- Enter search mode (regex): `r`\n- Go to line: `g`\n    - Enter line number and press `Enter`, or press `g` again to go to start\n- Go to next file: `s`\n\n## Code\n\nI wrote this in an afternoon and I haven't really cleaned up the code since I got it to the level I needed. But it'll likely need a little spring cleaning before non-trivial changes will make much sense. It's all GPL-ed, so feel free to hack in your own usecase.\n\n## Features I'd like to add\n\n- Rewriting the whole screen on every change is probably not ideal from a performance perspective. But I don't yet know if it'll be a big problem\n- Multiplexing and merging different files\n  - My thinking is `lesser logs/*` should be able to merge all the logs together in timestamp order (likely with a prefix denoting which file a line belongs to), not just let you switch between them\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbclehmann%2Flesser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbclehmann%2Flesser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbclehmann%2Flesser/lists"}