# Changelog
## [0.6.4](https://github.com/Piturnah/gex/compare/v0.6.3...v0.6.4) - 2023-11-12
### Added
- Configuration options for navigation keymaps ([#77](https://github.com/Piturnah/gex/pull/77)), thanks **@LukeHalasy**!
- Config option `sort_branches` to sort the branch list by some key ([#84](https://github.com/Piturnah/gex/pull/84)), thanks **@LukeHalasy**!
- Press e to edit the currently selected file or hunk (for supported editors) ([#85](https://github.com/Piturnah/gex/issues/85))
- New config option: `options.editor`
### Fixed
- Minibuffer border messed up on terminal resize ([#65](https://github.com/Piturnah/gex/pull/65))
- Couldn't use Esc to cancel creating new branch ([#78](https://github.com/Piturnah/gex/issues/78))
## [0.6.3](https://github.com/Piturnah/gex/compare/v0.6.2...v0.6.3) - 2023-08-30
### Fixed
- Entering unreachable code on inserting trailing newline ([#62](https://github.com/Piturnah/gex/issues/62))
- Incorrect positioning of "new branch" prompt ([#63](https://github.com/Piturnah/gex/issues/63))
## [0.6.2](https://github.com/Piturnah/gex/compare/v0.6.1...v0.6.2) - 2023-08-10
### Added
- Support for hex strings (`#RRGGBB`) in config file for colour themes ([#51](https://github.com/Piturnah/gex/issues/51))
## [0.6.1](https://github.com/Piturnah/gex/compare/v0.6.0...v0.6.1) - 2023-08-05
### Added
- Support for custom colour themes via `colors` in config file ([#30](https://github.com/Piturnah/gex/issues/30))
- Support for `NO_COLOR` environment variable ([#50](https://github.com/Piturnah/gex/issues/50))
### Fixed
- `ws_error_highlight` setting was ignored for new files
## [0.6.0](https://github.com/Piturnah/gex/compare/v0.5.0...v0.6.0) - 2023-07-25
### Added
- Trailing whitespace detection based on setting in either gitconfig or gex config ([#45](https://github.com/Piturnah/gex/issues/45))
- New config option: `options.ws_error_highlight`
- Arbitrary process execution with ! ([#25](https://github.com/Piturnah/gex/issues/25))
### Changed
- Item expansion no longer resets on updating status ([#39](https://github.com/Piturnah/gex/issues/39))
## [0.5.0](https://github.com/Piturnah/gex/compare/v0.4.0...v0.5.0) - 2023-07-10
### Added
- Scrolling on cursor movement if content goes off-screen ([#1](https://github.com/Piturnah/gex/issues/1))
- Config file to configure certain options
- `auto_expand_files`
- `auto_expand_hunks`
- `lookahead_lines`
- `truncate_lines`
- Command line argument to provide alternative config file to use
- Use Space to toggle expansion of items
### Changed
- Hunks are now automatically expanded by default
- Use J to jump to next file
- Use K to jump to previous file
### Fixed
- Minibuffer can obscure the available subcommands ([#33](https://github.com/Piturnah/gex/issues/33))
- Minibuffer receiving double inputs on certain terminals such as Windows Terminal
- (un)staging an already (un)staged hunk may affect the wrong hunk ([#27](https://github.com/Piturnah/gex/issues/27))
## [0.4.0](https://github.com/Piturnah/gex/compare/v0.3.8...v0.4.0) - 2023-07-03
### Added
- Counts indicating the number of staged/unstaged changes
- Improvements to minibuffer
- Emacs-style cursor motion
- Support for Home and End
- Basic stashing functionality with z
- Basic push functionality with p
### Changed
- Use b b to open the branch list
- Use b n to create a new branch
### Fixed
- Receiving double inputs on certain terminals such as Windows Terminal
- LF/CRLF warning breaks UI on hunk staging ([#26](https://github.com/Piturnah/gex/issues/26))
- Bad diff preview when external diff tool is enabled ([#28](https://github.com/Piturnah/gex/pull/28)), thanks **@vereym**!
- Terminal left in bad state in case of panic
- Cursor disappears in status view after jumping to top ([#31](https://github.com/Piturnah/gex/issues/31))
## [0.3.8](https://github.com/Piturnah/gex/compare/v0.3.7...v0.3.8) - 2023-04-23
### Added
- Support for Del in minibuffer
### Changed
- Cursor switches to bar when navigating left and right in minibuffer
- Formatting of `--help` information (Clap v4)
## [0.3.7](https://github.com/Piturnah/gex/compare/v0.3.6...v0.3.7) - 2023-01-25
### Added
- Improvements to arbitary git command execution
- Reuse commands from history with up and down arrow keys ([#19](https://github.com/Piturnah/gex/issues/19))
- Border above the input line while typing a command
- Esc to exit writing git command
- Navigate currently typing git command with left and right arrow keys
### Fixed
- Error reporting for unrecognised file prefixes from git ([#18](https://github.com/Piturnah/gex/pull/18))
## [0.3.6](https://github.com/Piturnah/gex/compare/v0.3.5...v0.3.6) - 2022-12-28
### Added
- Optional argument for the repository path
### Fixed
- Not clearing text underneath commit menu ([#11](https://github.com/Piturnah/gex/issues/11))
## [0.3.5](https://github.com/Piturnah/gex/compare/v0.3.4...v0.3.5) - 2022-12-21
### Fixed
- Stdout propagation from command execution causing top of display to go off-screen
- Crashing on jumping to top/bottom of diffs when there are no diffs
- Not refreshing after executing a command with :
- Error reporting for failed hunk patch
## [0.3.4](https://github.com/Piturnah/gex/compare/v0.3.3...v0.3.4) - 2022-12-07
### Added
- Warning when opening Gex with locale other than English ([#13](https://github.com/Piturnah/gex/issues/13))
- New navigation controls
- g / K to jump to first element of list
- G / J to jump to last element of list
- Colour coding of `--help` flag output
### Changed
- Minibuffer now maintains a stack of messages so messages are not lost if more than one is sent per frame
- Display an error instead of panicking on invalid UTF8 from a git process
### Removed
- Colouring of `+` and `-` in stdout propagation
### Fixed
- Sometimes showing empty messages in minibuffer, for example after creating a commit
## [0.3.3](https://github.com/Piturnah/gex/compare/v0.3.2...v0.3.3) - 2022-08-30
### Changed
- Errors are reported properly instead of panicking
## [0.3.2](https://github.com/Piturnah/gex/compare/v0.3.1...v0.3.2) - 2022-08-21
### Fixed
- Showing first heading in bold before initial commit
- Not showing previous commit information on initial commit ([#6](https://github.com/Piturnah/gex/issues/6))
- Displaying diff of new files with an extra space at beginning of all lines other than first
## [0.3.1](https://github.com/Piturnah/gex/compare/v0.3.0...v0.3.1) - 2022-08-19
### Fixed
- gex crashes on repositories with no commits
## [0.3.0](https://github.com/Piturnah/gex/compare/v0.2.2...v0.3.0) - 2022-08-19
### Added
- Most recent commit hash and title displayed in status
- : to execute arbitrary git command
- Two new commit commands
- extend - add additional changes to previous commit
- amend - fix commit message
- UI to display available commit commands
- Colouring of `+` and `-` in stdout propagation
- `--help` or `-h` flag for help information
### Changed
- Use c c to create a commit
- `-v` flag changed to `-V`
- User is notified of unrecognised command line arguments and gex exits instead of quietly ignoring
- Status says "Unstaged changes" and "Staged changes" instead of "files"
- Propagate all of stdout instead of only first line
### Fixed
- Showing empty stdout or stderr in the case that the exit code didn't match
- gex not recognising git repositories from within subdirectories ([#2](https://github.com/Piturnah/gex/issues/2))
## [0.2.2](https://github.com/Piturnah/gex/compare/v0.2.1...v0.2.2) - 2022-08-15
### Added
- `--version` or `-v` flag to display gex version
- Notice if there are no existing branches in branch list
- Propagation of errors and stdout from git subprocesses
- F to pull remote changes
### Fixed
- gex freezing on viewing branch list before initial commit
## [0.2.1](https://github.com/Piturnah/gex/compare/v0.2.0...v0.2.1) - 2022-08-12
### Fixed
- gex crashing on untracked files in some cases
- gex not displaying "working tree clean" message
## [0.2.0](https://github.com/Piturnah/gex/compare/v0.1.0...v0.2.0) - 2022-08-12
### Added
- Press b to switch to a new `Branch` mode where you can switch between local branches with Space
- Checkout new branch within gex (b in `Branch` mode)
- Exit `Branch` mode with Esc
- Init git repository by running gex in a folder that is not a git repository
- Indication that working tree is clean
- [DELETE] or [RENAME] indicators in status view
### Changed
- Esc can no longer be used to exit gex
- Current branch name is now highlighted in bold
### Fixed
- gex crashing on attempts to perform actions when working tree clean
- gex crashing on encountering deleted files
## [0.1.0](https://github.com/Piturnah/gex/commits/v0.1.0) - 2022-08-05
### Added
- `git status` display with diff information and current branch
- Keyboard navigation between diffs of files and hunks
- Diff items can be expanded or collapsed with Tab
- Diff items can be (un)staged one at a time or all at once
- Status can be refreshed at any time with r
- Commits can be made from within gex, using git's `core.editor`
- Quit gex using q / Esc