Skip to main content

Terminal source tree viewer with split-pane preview and search

Project description

LazyViewer

A TUI source code viewer I vibe coded to browse full source code with git diff previews inline with easy keyboard navigation of both the source code and the file tree.

LazyViewer Demo

As I am coding with LLMs, they create a lot of code that I wanted to browse fast, and I haven't found a great viewer for it where I can see the changes like in Cursor/VSCode GUI, but still fit well with the TUIs. The best I found were LazyGit (awesome tool) and nvim tree view with preview, but with LazyGit I couldn't browse all the files, just the changes, and nvim's tree browser with preview was quite slow and is not optimized for viewing these changes either.

I created a simple tool, LazyViewer that is just between these 3 tools and optimized for my most common workflow for understanding the code base that LLMs create.

It has syntax highlighting, shows the function headers, is able to browse multiple project trees, respects .gitignore and hidden files (but can be turned off), git overlay is on by default, but it can be turned off, and it's quite interactive (ripgrep for a syntax with a mouse click for example).

There are lots of ways I'm tempted to improve it (inline editor support?), but at the same time I'm trying to keep it minimal and focus on the smooth interaction of the features that isn't available using other tools that treat them as separate features of a more complex program.

The code base is really ugly, far from how I'd like it to be, but it's partly because I started working on it with codex before this program existed :)

I'm having fun using/developing it though, hopefully it will be fun/useful for others as well.

Tip: add alias lv='lazyviewer' to your shell config.

Install

The easiest way:

pipx install lazyviewer

Or with pip:

pip install lazyviewer

/ content search uses ripgrep (rg). Install it with your package manager:

  • macOS (Homebrew): brew install ripgrep
  • Ubuntu/Debian: sudo apt install ripgrep
  • Fedora: sudo dnf install ripgrep
  • Arch: sudo pacman -S ripgrep
  • Windows (winget): winget install BurntSushi.ripgrep

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lazyviewer-0.1.1.tar.gz (126.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lazyviewer-0.1.1-py3-none-any.whl (162.3 kB view details)

Uploaded Python 3

File details

Details for the file lazyviewer-0.1.1.tar.gz.

File metadata

  • Download URL: lazyviewer-0.1.1.tar.gz
  • Upload date:
  • Size: 126.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lazyviewer-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6c2280d279860e62eb993289f2da5641e9749bf542918606a22d652c682e54a9
MD5 6a16af2294382e6314e51e6730d7d785
BLAKE2b-256 9eafc956a1bd12cfc4228ebaabd6ce3a9b23920800ea9e146604a5d06e9d99bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazyviewer-0.1.1.tar.gz:

Publisher: publish-pypi.yml on adamritter/lazyviewer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lazyviewer-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: lazyviewer-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 162.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lazyviewer-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 37b105924cdeb96713598076f05e27c7cb1081d752be75d2cdc5270e5ad74b69
MD5 f0c597cc96149a02f9094885b591c66c
BLAKE2b-256 813da94852fbde97f64970b445c412d8063967f8874d5454069088efe89fc9ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazyviewer-0.1.1-py3-none-any.whl:

Publisher: publish-pypi.yml on adamritter/lazyviewer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page