- Adjust to terminal width
- Strip out ansi color codes
- Add colors
- Fix EAGAIN errors when paging
- Handle file addition/deletion properly
- Fix incorrect line positions when a hunk has discontinuous inserts and/or deletes
- Organize code
- Move visual config to theme
- Colorize commit messages
- Write tests
- Handle moves and renames without diffs
- Look into EPIPE errors when used with git log
- Support line wrapping
- Ensure compatibility to node12
- Publish to npm
- Improv line wrap perf
- Read settings from git config
- Add README
- Fix binary file diffs not showing file names
- Test on windows
- Highlight changes in lines
- Show unified diff on narrow widths
- Semi-automate screenshots with a script
- Fix unified diffs
- Test on very large diffs
- Syntax highlighting
- Simplify operations with formatted strings using something like SpannableStringBuilder
- Highlight changes in unified mode
- Make sure to pad wrapped lines in commits
- Wrapped lines on the left with inline changes leak formatting to the right
- Support alpha in colors
- Keep colors from --stat
- Tests for syntax highlighting
- Load shiki languages on-demand (by switching to shikiji)
- Benchmark for syntax highlighting
- Display 3-way merge diffs (e.g. during merge conflicts)
- See why
less
occasionally goes into search mode - Test on linux
- Support custom themes
- Calculate correct display widths, e.g. https://github.com/microsoft/MS-DOS/commit/29a0f9c130b6883080046b830e27403a289de72d
- Add a theme without background colors
- Add eslint rule to check for async/await gotchas