Commit graph

2937 commits

Author SHA1 Message Date
Jesse Duffield 682be18507 refactor to use generics for file nodes
use less generic names
2022-07-31 19:43:14 +10:00
Jesse Duffield 2ca2acaca5
Merge pull request #2072 from jesseduffield/optimistic-file-rendering 2022-07-31 19:31:23 +10:00
Jesse Duffield 5f4c29d7b5
Merge pull request #2005 from mark2185/feature/recent-repos-path
Show active branch for recent repo
2022-07-31 19:30:30 +10:00
Luka Markušić 44de380c2b Add i18n for unknown branch 2022-07-31 08:57:57 +02:00
Luka Markušić 37bdbd9a21 Display short SHA when in detached HEAD state 2022-07-31 08:51:27 +02:00
Luka Markušić 767ef31661 Use filepath.Join instead of manual concat 2022-07-31 08:43:31 +02:00
Jesse Duffield c81c046615
Merge pull request #2059 from sportshead/master 2022-07-31 16:19:59 +10:00
Jesse Duffield a905165046 remove double negatives 2022-07-31 16:11:39 +10:00
Jesse Duffield 7077ea428f add optimistic rendering for staging and unstaging files 2022-07-31 14:34:57 +10:00
sportshead f2880ecb46 Add empty output message and refreshing to showOutput 2022-07-31 12:04:40 +08:00
Luka Markušić 966733240c Refactor a bit, enable worktrees 2022-07-30 19:02:19 +02:00
Luka Markušić 25ddac0d8f Gotta go fast 2022-07-30 17:42:15 +02:00
Luka Markušić 7c09ce3871 Parallelize fetching current branch 2022-07-30 17:05:17 +02:00
Luka Markušić e6e4513f45 Show active branch for recent repo
Split recent repo menu into three columns
2022-07-30 17:05:17 +02:00
Luka Markušić 9c6239df3d Worktrees should not be filtered out
But non-git directories should
2022-07-30 17:03:30 +02:00
Jesse Duffield ab5a8091f5 add better support for OpensMenu option when creating a menu 2022-07-30 20:27:51 +10:00
Jesse Duffield 95678b1b43
Merge pull request #2065 from jesseduffield/fix-rewording-merge-commit-with-editor
Fix rewording a merge commit with editor
2022-07-30 19:51:59 +10:00
Luka Markušić cc377b5c49 Fix rewording a merge commit with editor 2022-07-30 08:43:42 +02:00
Luka Markušić 1f482e585e Fix github linter errors 2022-07-30 08:10:29 +02:00
nullishamy 41b54d742f
Check for bare repositories 2022-07-29 23:55:34 +01:00
sportshead e1f41b653c Add showOutput option to custom commands (#1163) 2022-07-28 18:40:30 +08:00
Jesse Duffield c087dca60a
Merge pull request #2027 from jesseduffield/gozes-jesse
Attempt at fixing CI
2022-07-05 19:37:09 +10:00
Jesse Duffield 6d133fd611 better handling of gitignore files 2022-07-05 19:33:44 +10:00
Juan Sanchez Montalvo 11d766053e Allow adding a file to the .git/info/exclude file 2022-07-05 19:33:44 +10:00
Jesse Duffield 39ba397cf7 Update pkg/config/user_config.go 2022-07-04 11:36:18 -07:00
Michael Mead 9d304098bb feat: add confirm prompt for custom keybindings
- Supports configuring a custom confirmation prompt via `config.yml` for
  custom keybindings. A new `CustomCommandPrompt.Body` field is
  used to store the immutable body text of the confirmation popup.
- Adds a sample 'confirm' prompt to the example `config.yml`.
- Updates the `Prompts` section of the documentation to include
  'confirm' prompt type and also describe which fields pertain to it
  (i.e. `initialValue`).

Closes: https://github.com/jesseduffield/lazygit/issues/1858

Signed-off-by: Michael Mead <mmead.developer@gmail.com>
2022-07-04 11:36:13 -07:00
Jesse Duffield 582b1991a4
Merge pull request #1997 from shinhs0506/wsl-support 2022-07-04 18:13:55 +10:00
John Shin 1eb47deae4 apply gofumpt 2022-07-03 02:00:40 -07:00
Jesse Duffield a6eb2c7e9d
Merge pull request #2006 from jesseduffield/better-killing 2022-07-01 17:16:29 +10:00
Luka Markušić f1efa02640 Ask for initial branch name 2022-06-30 13:53:58 +02:00
Jesse Duffield c9d891a913 better process killing 2022-06-18 13:39:22 +10:00
Francisco Miamoto d8dfed79b3 fix: use todo parser to properly read rebase todo file 2022-06-12 20:01:32 -03:00
John Shin 4d54b3801f apply formatting 2022-06-11 23:23:22 -07:00
John Shin 3067c2c321 support open file and link on WSL 2022-06-11 23:18:29 -07:00
Jesse Duffield 02c5559704 run integration tests in parallel and properly cache windows build 2022-06-11 13:06:29 +10:00
Jesse Duffield 32c0b39dbd
Merge pull request #1950 from HiromasaNojima/add_subcommand_into_specific_layout_directly 2022-06-11 11:51:14 +10:00
Jesse Duffield b1e4968d0b allow opening lazygit to a specific panel 2022-06-11 11:23:56 +10:00
Luka Markušić a955dbcfd7 Validate recent repo before blindly opening it 2022-06-11 09:42:51 +10:00
Luka Markušić 658a6b239b Fix parsing of 'y/n' when starting in non-repo 2022-06-11 09:42:51 +10:00
Jesse Duffield 36aa01c3ac
Merge pull request #1970 from mark2185/fix-helpful-unmarshall-error 2022-06-11 09:19:30 +10:00
Jesse Duffield de3114edc3
Merge pull request #1972 from lei4519/feature/display-whole-graph-by-default 2022-06-09 20:17:25 +10:00
Jesse Duffield cdec70cc06
Merge pull request #1975 from mark2185/fix-unmatching-remote-branch-name 2022-06-09 20:12:56 +10:00
Jesse Duffield 9591cc381a support setting the author of a commit
update copy
2022-06-09 19:12:20 +10:00
Shin-JaeHeon b6b1f5dc37 improve korean translation 2022-06-07 23:46:32 +09:00
Shin-JaeHeon d2a873cb40 improve korean translation 2022-06-07 23:36:24 +09:00
Shin-JaeHeon d533427173 Korean translation 2022-06-07 23:31:56 +09:00
Luka Markušić 55a941d5dc Fetch the correct remote branch 2022-06-01 20:35:09 +02:00
Luka Markušić abf203e012
Update pkg/config/app_config.go
Print out error to narrow down the search

Co-authored-by: Ryoga <eial5q265e5+github@gmail.com>
2022-05-31 13:28:24 +02:00
Lay 684ea284af fix: lint error 2022-05-30 23:19:48 +08:00
Lay 666180cfd0 Add config param that displays the whole git graph by default 2022-05-30 13:52:39 +08:00
Luka Markušić abeb03b090 Add helpful message on unmarshall error 2022-05-28 17:29:30 +02:00
Jesse Duffield 8fd9dea641
Merge pull request #1936 from Ryooooooga/feature/tab-i18n 2022-05-18 22:24:45 +10:00
Jesse Duffield 499d51ecf6
Merge pull request #1931 from mark2185/fix-non-existant-recent-repo 2022-05-18 22:22:28 +10:00
Jesse Duffield e1e16a34da
Merge pull request #1948 from Ryooooooga/feature/time-format 2022-05-18 22:20:51 +10:00
Ryooooooga bfefef92a6
chore(i18n): move InitialViewTabContextMap to gui package 2022-05-18 21:09:48 +09:00
Ryooooooga 5275161a88
chore(i18n): localize panel titles 2022-05-18 20:55:42 +09:00
Ryooooooga e57931f56d
test: fix timezone for time format tests 2022-05-18 20:55:29 +09:00
Ryooooooga 1f1d871837
feat: add ability to customize time format 2022-05-18 20:55:27 +09:00
Ryooooooga 9693afd671
fix: fix lint error 2022-05-18 20:34:35 +09:00
Luka Markušić 1de5ca3511 Don't panic when there are no valid git repos 2022-05-17 07:28:52 +02:00
Jesse Duffield f31dcd3091
Merge pull request #1930 from mark2185/feature/discard-staged-only 2022-05-15 20:33:25 +10:00
Luka Markušić 241d182da7 Make tooltip i18n-able 2022-05-15 12:16:20 +02:00
Jesse Duffield 8e7f6822fc
Merge pull request #1944 from Ryooooooga/feature/fix-ambiguous-refname 2022-05-15 19:45:30 +10:00
Jesse Duffield 73491fed25
Merge pull request #1927 from HiromasaNojima/option_always_show_unstaged_staged_panels 2022-05-15 19:24:56 +10:00
Jesse Duffield d72ffdc4a7 refactor 2022-05-15 19:10:04 +10:00
Ryooooooga 61970a4439
fix: fix ambiguous refname 2022-05-13 21:05:51 +09:00
Ryooooooga 490a964432
chore(loaders): add -c log.showSignature=false flag to the rebasing commit loader 2022-05-10 19:47:10 +09:00
Ryooooooga f789e21377
perf: improve loading speed of commits and reflog when log.showSignature=true 2022-05-10 19:47:07 +09:00
Luka Markušić ca191159f5 Discard staged changes only 2022-05-08 14:24:28 +02:00
HiromasaNojima 1ef585969f add option to always show unstaged/staged panels 2022-05-08 17:24:55 +09:00
Jesse Duffield e67fef776b add author email to commits 2022-05-08 14:26:18 +10:00
Jesse Duffield 6f8063217d rename displayString to label for menu items 2022-05-08 14:26:18 +10:00
Jesse Duffield 25b213b992 fix cheatsheet 2022-05-08 13:31:13 +10:00
Jesse Duffield 20db9fc939 update copy 2022-05-08 13:29:57 +10:00
Jesse Duffield 8ef0032ee2 update snapshot to include author name and email in git log 2022-05-08 13:29:57 +10:00
Jens Pfeifle fbe23b3754 fixup! Add command to reset the commit author from the commits panel. 2022-05-08 13:29:57 +10:00
Jens Pfeifle 7ac487545c fixup! Add command to reset the commit author from the commits panel. 2022-05-08 13:29:56 +10:00
Jens Pfeifle 7c573a5bea Add command to reset the commit author from the commits panel. 2022-05-08 13:29:56 +10:00
Jesse Duffield 22d98249fe better popup resizing logic 2022-05-08 13:24:36 +10:00
Jesse Duffield f257740ea7 add tooltip view for showing menu item descriptions 2022-05-08 13:24:36 +10:00
Jesse Duffield 517e9445df refactor view definitions 2022-05-08 11:41:13 +10:00
Jesse Duffield 549409a6f3
Merge pull request #1923 from Ryooooooga/feature/fix-author-name 2022-05-07 23:41:16 +10:00
Ryooooooga 5717e72366
fix: fix copying author name to clipboard 2022-05-07 18:08:05 +09:00
Ryooooooga 540d2e379a
fix: fix collision of Donate and Ask Question 2022-05-07 18:02:09 +09:00
Ryooooooga 04babdfb82
fix: fix the appStatus width calculation 2022-05-07 17:37:53 +09:00
Ryooooooga 265e6d8360
fix: fix the prompt height calculation 2022-05-07 16:36:20 +09:00
Jesse Duffield 3bf0c9ef44 more documentation 2022-05-07 16:02:04 +10:00
Jesse Duffield cd5b041b0f clearer separation of concerns when bootstrapping application 2022-05-07 16:02:04 +10:00
Jesse Duffield cf80978f15
Merge pull request #1918 from RhydianJenkins/name-bug-fix 2022-05-07 11:02:24 +10:00
Rhydian Jenkins 7d495573ab Bug fix - unused name param 2022-05-06 23:00:44 +01:00
Ryooooooga b07e0ea032
fix: fix context of edit hunk 2022-05-06 21:58:40 +09:00
Ryooooooga d458e78d95
feat: add ability to edit hunk 2022-05-06 21:53:00 +09:00
Jesse Duffield 0940e0182b
Merge pull request #1870 from mark2185/feature/stash-unstaged 2022-05-06 20:17:33 +10:00
Jesse Duffield f7fae0b82e
Merge pull request #1869 from mark2185/feature/unset-upstream 2022-05-06 20:14:13 +10:00
Jesse Duffield 6253258d4b
Merge pull request #1913 from Ryooooooga/feature/japanese 2022-05-06 08:40:43 +10:00
Jesse Duffield 593eb19ca4
Merge pull request #1910 from Ryooooooga/feature/named-author-colors 2022-05-06 08:39:26 +10:00
Ryooooooga 2eb866fc62
fix: fix a crash when pressing enter in empty commits, reflog, or stash panel 2022-05-05 21:41:44 +09:00
Ryooooooga cda359fbc9
feat(i18n): japanese translation 2022-05-05 18:42:27 +09:00
Ryooooooga 494368a241
feat: accept named colors for gui.authorColors 2022-05-04 19:03:00 +09:00
Jesse Duffield 4dd09ee0d5 allow copying commit author to clipboard 2022-05-01 14:14:29 +10:00
Jesse Duffield d85f4792af
Merge pull request #1894 from Ryooooooga/feature/icons 2022-05-01 12:21:32 +10:00
Ryooooooga db3568e4f2
chore(gui): remove todo 2022-04-29 17:53:43 +09:00
Ryooooooga 86af186683
feat(file_icons.go): add Cargo.toml icons 2022-04-24 18:23:14 +09:00
Ryooooooga e5730cb80b
fix: improve default editCommandTemplate 2022-04-23 17:39:12 +09:00
Ryooooooga f972d6ae68
feat(gui): show remote icons 2022-04-23 12:25:42 +09:00
Ryooooooga 11d0e7e17d
feat(gui): show branch icons 2022-04-23 12:25:41 +09:00
Ryooooooga cb13fe7f46
feat(gui): show commit icons 2022-04-23 12:25:41 +09:00
Ryooooooga b07aeda5a6
feat(gui): show file icons 2022-04-23 12:25:40 +09:00
Jesse Duffield dfb293c985 better upstream changes presentation 2022-04-18 11:03:28 +10:00
Jesse Duffield 9b947b74a2 allow hiding bottom line 2022-04-18 09:58:36 +10:00
Luka Markušić bd9daf80b7 Add integration tests 2022-04-17 11:08:36 +02:00
Jesse Duffield 3477cbc81f better weight distribution in window arrangement 2022-04-17 12:48:04 +10:00
Jesse Duffield 2fa6d8037c always show list counts 2022-04-16 17:29:17 +10:00
Jesse Duffield d3b6acf096 restore highlighting of popup messages 2022-04-16 17:29:17 +10:00
Jesse Duffield e68093fe99 add scrollbars 2022-04-16 17:29:17 +10:00
Jesse Duffield b838b74801 do not highlight line if there are no items to display 2022-04-16 15:19:32 +10:00
Jesse Duffield 00afa30ebf better appearance for reverse attribute 2022-04-16 15:19:32 +10:00
Jesse Duffield 6a153acc8f clearer highlighting of current line 2022-04-16 15:19:32 +10:00
Ryooooooga b3e18bd258 fix(loaders/file.go): fix not to trim renamed file names 2022-04-15 08:58:49 +10:00
Mukhlis Akbarrudin 21336d3aa2 refactor: explicitly add alternative keybinding 2022-04-15 08:23:27 +10:00
Luka Markušić 1ae2dc9941 The four horsemen of stashing 2022-04-14 21:45:55 +02:00
Luka Markušić e114b5b5e8 Refresh BRANCHES and COMMITS after (un)staging upstream 2022-04-13 15:54:32 +02:00
Luka Markušić c4b958e3fd There's gotta be a better way for initial content 2022-04-13 15:21:01 +02:00
Luka Markušić f83308c8df Add option to (un)set upstream for a local branch 2022-04-11 14:04:06 +02:00
TheBlob42 bcc0466498 feat: pull request support for bitbucket server 2022-04-11 17:17:40 +10:00
Luka Markušić 6f7038c827 Add option to stash only unstaged files 2022-04-10 09:35:59 +02:00
Luka Markušić 58ed23a47a Make worktrees work 2022-04-09 09:53:03 +10:00
casswedson b7928042f0 chore: typo hunting ft. codespell 2022-04-06 08:52:41 +10:00
Ryooooooga 3b5a019e1a feat(merge_panel): Add open/edit files in merge conflict panel 2022-04-06 08:27:03 +10:00
Ryooooooga 53257db99d fix: fix diff of renamed files 2022-04-06 08:26:13 +10:00
Ryooooooga 954d1a8147 fix commit description 2022-04-02 17:04:42 +11:00
Ryooooooga 09d24ebd1d fix test 2022-04-02 17:04:42 +11:00
Ryooooooga 4835fc00b8 introduce Ref interface 2022-04-02 17:04:42 +11:00
Ryooooooga 30be50b641 add Commit.ParentRefName() 2022-04-02 17:04:42 +11:00
Ryooooooga 99ecc1cfdf fix loaders 2022-04-02 17:04:42 +11:00
Ryooooooga 86c259623c feat: fix permission problem of temp dirs 2022-04-02 08:48:38 +11:00
Ryooooooga 2fbb52fa2c chore: remove dead code 2022-04-02 08:48:38 +11:00
Moritz Haase e35ab3c5fe pkg/gui: Use 'alert' popups instead of 'confirm' popups where appropriate
Invocations of 'IPopupHandler::Confirm()' that use neither 'HandleConfirm' nor
'HandleClose' can be replaced by 'Alert()'.
2022-03-30 20:13:43 +11:00
Moritz Haase 8fb2acc224 pkg/gui: Rename IPopupHandler::Ask() to Confirm()
Follow the JavaScript naming scheme for user interaction (alert, prompt,
confirm) as discussed in #1832.
2022-03-30 20:13:43 +11:00
Moritz Haase f2fb6453a1 pkg/gui: Show notification popup when update was successful
Show a proper notification popup once an update has been installed successfully
so the user knows we're done (so far a popup is only shown if an error occurred).
The popup also reminds him to restart lazygit for the changes to take effect.
2022-03-28 09:13:34 +11:00
Moritz Haase b7079634ee i18n: Make user-facing strings in the updater translatable
Convert a number of static (english) user-facing string in the updater code to
translatable ones.
2022-03-28 09:13:34 +11:00
Moritz Haase 9bccc20888 pkg/gui: Add support for 'notification' popups
Add a new 'Notification()' method to 'IPopupHandler' that makes it easier to
show a modal info message to the user. This is simply a convenience wrapper
around 'Ask()', so the popup can be closed using both 'Enter' and 'ESC'.
2022-03-28 09:13:34 +11:00
Jesse Duffield b3636a537b reduce glitchiness of patch building mode 2022-03-27 19:18:07 +11:00
Jesse Duffield 7c3d14ee19 allow amending and reverting commits when filtering by file 2022-03-27 18:50:29 +11:00
Jesse Duffield 897c4402a4 better colour 2022-03-27 18:16:16 +11:00
Jesse Duffield 860d1e0145 fix copy for merge confirmation 2022-03-27 18:16:16 +11:00
Jesse Duffield e011acbab2 better logging for stash flow 2022-03-27 18:16:16 +11:00
Jesse Duffield 3e5d4b2c74 add menu keybindings for various things 2022-03-27 18:16:16 +11:00
Jesse Duffield e94312b664 use colour 2022-03-27 18:16:16 +11:00
Jesse Duffield 9c226eed37 allow menu to store keybindings for quick menu navigation 2022-03-27 18:16:16 +11:00
Jesse Duffield e43ce23642 require hitting escape to exit menu panel 2022-03-27 18:16:16 +11:00
Jesse Duffield 0dfb7c08b7 remove controllers struct 2022-03-27 18:16:16 +11:00
Jesse Duffield f0a4dcfdc3 refactor menu context 2022-03-27 18:16:16 +11:00
Jesse Duffield 98e7ec0905 add type alias for Key 2022-03-27 18:16:16 +11:00
Jesse Duffield 7128d822cb show stdout in error message if stderr is blank 2022-03-27 14:58:20 +11:00
Jesse Duffield 20ec6d98ad refactor integration tests 2022-03-27 14:58:20 +11:00
Jesse Duffield 2b3d457aa4 honour push.default matching config value 2022-03-27 14:58:20 +11:00
Jesse Duffield ae10a5ea88 add git fetch prune integration test 2022-03-27 10:28:46 +11:00
Moritz Haase 4abd80e2c4 pkg/gui: Fix crash if auto-fetch interval is non-positive
Check whether the auto-fetch interval configured is actually positive before
starting the background fetcher. If it is not, an error is logged. Also improve
the config option documentation a bit to make it easier to understand how to
disable auto-fetch.
2022-03-27 10:14:33 +11:00
Moritz Haase 240483953f config: Add option 'git.autoRefresh' to en-/disable auto-refresh
Adds a new 'autoRefresh' option to the 'git' config section that allows user to
disable auto-refresh (defaults to on). If auto-refresh is enabled, the
refreshInterval is now checked before starting the timer to prevent crashes when
it is non-positive.

Fixes #1417
2022-03-27 10:14:33 +11:00
Jesse Duffield 51baa8c17d update cheatsheet 2022-03-26 18:00:46 +11:00
Jesse Duffield 102c33433b remove dead code 2022-03-26 18:00:46 +11:00
Jesse Duffield fe87114074 don't hide transient views upon losing focus 2022-03-26 18:00:46 +11:00
Jesse Duffield ad7703df65 show namesake for child views 2022-03-26 18:00:46 +11:00
Jesse Duffield 13b90ac37f support viewing commits of reflog entry and show better view title 2022-03-26 18:00:46 +11:00
Jesse Duffield e039429885 better wording again 2022-03-26 17:22:42 +11:00
Jesse Duffield e0b05f4464 fix cherry picking bug 2022-03-26 17:22:42 +11:00
Jesse Duffield 077b6eb8a3 refactor to make code clearer 2022-03-26 17:22:42 +11:00
Jesse Duffield 45dab51214 add basic commits controller for handling actions that apply to all commit contexts 2022-03-26 17:22:42 +11:00
Luka Markušić 540edb0bf4 Add copy commit attributes option 2022-03-26 17:22:42 +11:00
Crystal-RainSlide bbaa651943 Update chinese.go 2022-03-26 13:38:22 +11:00
Jesse Duffield f9979879a1 no more naked returns 2022-03-25 23:27:28 +11:00
Jesse Duffield cf74c2cf96 reorder 2022-03-24 20:14:41 +11:00
Jesse Duffield 43d3f2bcb6 refactor todo file generation 2022-03-24 20:14:41 +11:00
Jesse Duffield 99e55725fb simplify 2022-03-24 20:14:41 +11:00
Jesse Duffield 340a145bc8 refactor cheatsheet generator 2022-03-24 20:14:41 +11:00
Jesse Duffield cb26c7a1f2 more things 2022-03-24 20:14:41 +11:00
Jesse Duffield e392b9f86a no more filterThenMap 2022-03-24 20:14:41 +11:00
Jesse Duffield 67a76523fb rename 2022-03-24 20:14:41 +11:00
Jesse Duffield 94a53484a1 would you believe that I'm adding even more generics 2022-03-24 20:14:41 +11:00
Jesse Duffield 1b75ed3740 many more generics 2022-03-24 20:14:41 +11:00
Jesse Duffield bf4f06ab4e more generics 2022-03-24 20:14:41 +11:00
Jesse Duffield eda8f4a5d4 lots more generics 2022-03-24 20:14:41 +11:00
Jesse Duffield c7a629c440 make more use of generics 2022-03-24 20:14:41 +11:00
Jesse Duffield dde30fa104 add gone branches status 2022-03-24 17:50:25 +11:00
Jesse Duffield f113ff21bf add confirmation before performing undo or redo action 2022-03-24 09:45:27 +11:00
Jesse Duffield 12ecd665c8 safe reword 2022-03-23 23:43:21 +11:00
Jesse Duffield cc5d13c833 allow adding whole diff to patch
this was causing a panic

add integration test for toggling all commit files
2022-03-23 23:36:58 +11:00
Jesse Duffield 5ded030a88 diff colour for reflog commits 2022-03-23 18:53:29 +11:00
Moritz Haase 8fb47fb7d6 pkg/commands: Don't duplicate line breaks when retrieving commit message
When using the "copy commit message to clipboard" action, the message will end
up in the clipboard with duplicate line breaks. The same issue also affects the
"Reword Commit" command. GetCommitMessage(), the function used to retrieve the
commit message first splits the output returned by git into separate lines -
without removing the line breaks. After removing the first line (which contains
the commit SHA), it joins the lines of the message itself back together - adding
a second set of line breaks along the way. Stop this from happening.

Fixes #1808.
2022-03-23 08:19:17 +11:00
Jesse Duffield a34bdf1a04 update linters 2022-03-19 12:12:57 +11:00
Jesse Duffield d93fef4c61 use generics to DRY up context code 2022-03-19 12:12:57 +11:00
Moritz Haase 4b56d428ff pkg/updates: Fix resource availability check in Updater
When trying to download an update, a 'Could not find any binary at ...' error
message is shown erroneously. This happens since when checking the availability,
a response code of 403 ('Forbidden') instead of 200 ('OK') is expected. Since
'http.Head()' handles redirects automatically, there is no need to also accept
3xx status codes.

Fixes #1450.
2022-03-18 22:19:45 +11:00
Jesse Duffield 31ab43d0c5 add host helper 2022-03-17 19:13:40 +11:00
Jesse Duffield fb3752c11f clean up keybindings menu 2022-03-17 19:13:40 +11:00
Jesse Duffield 36c149836a softcode keybinding 2022-03-17 19:13:40 +11:00
Jesse Duffield ea503633aa move keybindings 2022-03-17 19:13:40 +11:00
Jesse Duffield 59d4df2a44 fix click handling 2022-03-17 19:13:40 +11:00
Jesse Duffield cf00949b85 fix integration tests 2022-03-17 19:13:40 +11:00
Jesse Duffield c7b03bd3c2 rename handlers 2022-03-17 19:13:40 +11:00
Jesse Duffield 8fd6338527 move workspace reset menu into controller 2022-03-17 19:13:40 +11:00
Jesse Duffield ee1337b931 add remote branches controller 2022-03-17 19:13:40 +11:00
Jesse Duffield d59c0e2725 remove dead code 2022-03-17 19:13:40 +11:00
Jesse Duffield 675510ba53 fix integration test 2022-03-17 19:13:40 +11:00
Jesse Duffield a3885e8ea3 abbrev all commits to length 40 for consistency 2022-03-17 19:13:40 +11:00
Jesse Duffield 4805db7d97 use correct context 2022-03-17 19:13:40 +11:00
Jesse Duffield 3e26f39dee remove dead code 2022-03-17 19:13:40 +11:00
Jesse Duffield ef7c4c9ca9 refactor custom commands
more custom command refactoring
2022-03-17 19:13:40 +11:00
Jesse Duffield 952a4f3f23 prevent interrupting confirmation panel 2022-03-17 19:13:40 +11:00
Jesse Duffield 46e9946854 refactor credential handling 2022-03-17 19:13:40 +11:00
Jesse Duffield d0805616e4 move function 2022-03-17 19:13:40 +11:00
Jesse Duffield bff5351ab3 better naming 2022-03-17 19:13:40 +11:00
Jesse Duffield d991d74b06 add commit message controller 2022-03-17 19:13:40 +11:00
Jesse Duffield 120078f011 use PopContext 2022-03-17 19:13:40 +11:00
Jesse Duffield ecaff7fc6c add commit files controller 2022-03-17 19:13:40 +11:00
Jesse Duffield 85f2319897 refactor custom commands panel 2022-03-17 19:13:40 +11:00
Jesse Duffield c685a413c9 stash controller 2022-03-17 19:13:40 +11:00
Jesse Duffield a643957f89 include stash in commitish controller 2022-03-17 19:13:40 +11:00
Jesse Duffield e842d1bc9e move git flow 2022-03-17 19:13:40 +11:00
Jesse Duffield 8a555dd62e refactor 2022-03-17 19:13:40 +11:00
Jesse Duffield bef26b9634 add common commit controller 2022-03-17 19:13:40 +11:00
Jesse Duffield 574c5ca0de add subcommits controller 2022-03-17 19:13:40 +11:00
Jesse Duffield 1253100431 cleanup 2022-03-17 19:13:40 +11:00
Jesse Duffield eab00de273 reflog controller 2022-03-17 19:13:40 +11:00
Jesse Duffield 371b8d638b more consistent naming 2022-03-17 19:13:40 +11:00
Jesse Duffield 55af07a1bb fix CI 2022-03-17 19:13:40 +11:00
Jesse Duffield 33a223e981 remove dead code 2022-03-17 19:13:40 +11:00
Jesse Duffield 943a8e83da ensure we retain state when returning to submodule parent 2022-03-17 19:13:40 +11:00
Jesse Duffield 94d66b267d defend against view not yet having a context defined against it 2022-03-17 19:13:40 +11:00
Jesse Duffield 41527270ed appease linter 2022-03-17 19:13:40 +11:00
Jesse Duffield 3188526ecb fix cheatsheet crash 2022-03-17 19:13:40 +11:00
Jesse Duffield 722410aded refactor controllers 2022-03-17 19:13:40 +11:00
Jesse Duffield b93b8cc00a controller for viewing sub commits 2022-03-17 19:13:40 +11:00
Jesse Duffield cd31a762b9 rename OSCommand field to os 2022-03-17 19:13:40 +11:00
Jesse Duffield d82f175e79 refactor contexts 2022-03-17 19:13:40 +11:00
Jesse Duffield 145c69d9ae working again 2022-03-17 19:13:40 +11:00
Jesse Duffield 482bdc4f1e more refactoring 2022-03-17 19:13:40 +11:00
Jesse Duffield 8e3484d8e9 add global controller 2022-03-17 19:13:40 +11:00
Jesse Duffield 226985bf76 refactor keybindings 2022-03-17 19:13:40 +11:00
Jesse Duffield 2db4636815 no more indirection 2022-03-17 19:13:40 +11:00
Jesse Duffield 2a1e3faa0c resetting controllers on new repo 2022-03-17 19:13:40 +11:00
Jesse Duffield c703cd8f88 fix suggestions panel 2022-03-17 19:13:40 +11:00
Jesse Duffield 0a8cff6ab6 some more refactoring 2022-03-17 19:13:40 +11:00
Jesse Duffield e2f5fe1016 pretty sure we can rely on our views existing before our contexts do 2022-03-17 19:13:40 +11:00
Jesse Duffield 182c999ee0 fix linting 2022-03-17 19:13:40 +11:00
Jesse Duffield b5515da00b move commit files context into new structure 2022-03-17 19:13:40 +11:00
Jesse Duffield c084abb378 move more view model logic into the files view model 2022-03-17 19:13:40 +11:00
Jesse Duffield 8ea7b7a62e migrate files context to new structure 2022-03-17 19:13:40 +11:00
Jesse Duffield 09dc160da9 cleaning up 2022-03-17 19:13:40 +11:00
Jesse Duffield e187293456 moving more into controllers package 2022-03-17 19:13:40 +11:00
Jesse Duffield b04038d08f no need to invoke sync controller here 2022-03-17 19:13:40 +11:00
Jesse Duffield 55b393c929 always fast forward 2022-03-17 19:13:40 +11:00
Jesse Duffield f0c81ea6dc remove redundant popup checks 2022-03-17 19:13:40 +11:00
Jesse Duffield f97de692e3 move helpers into their own struct 2022-03-17 19:13:40 +11:00
Jesse Duffield 2692637fbe standardise naming 2022-03-17 19:13:40 +11:00
Jesse Duffield 77d0732fa8 add actions abstraction 2022-03-17 19:13:40 +11:00
Jesse Duffield 51547e3822 move all refresh code into the one file 2022-03-17 19:13:40 +11:00
Jesse Duffield e363606fb6 move context keys into context package 2022-03-17 19:13:40 +11:00
Jesse Duffield 138be04e65 refactor contexts code 2022-03-17 19:13:40 +11:00
Jesse Duffield 1a74ed3214 avoid deadlock 2022-03-17 19:13:40 +11:00
Jesse Duffield cb0d3a480a use type switch instead of type key 2022-03-17 19:13:40 +11:00
Jesse Duffield a2318d75b5 fix some things 2022-03-17 19:13:40 +11:00
Jesse Duffield 1dd7307fde start moving commit panel handlers into controller
more

and more

move rebase commit refreshing into existing abstraction

and more

and more

WIP

and more

handling clicks

properly fix merge conflicts

update cheatsheet

lots more preparation to start moving things into controllers

WIP

better typing

expand on remotes controller

moving more code into controllers
2022-03-17 19:13:40 +11:00
Jesse Duffield a90b6efded start refactoring gui 2022-03-17 19:13:40 +11:00
Jesse Duffield fa8571e1f4 rename field 2022-03-17 19:01:28 +11:00
David Roman d8d0d4686d Only read env once when recording dirs 2022-03-17 19:01:28 +11:00
David Roman b8fc829f86 Record current directory on switch 2022-03-17 19:01:28 +11:00
Ram Bhosale 7be25a105d allow skipping confirmation prompt after opening subprocess 2022-03-17 17:52:31 +11:00
Jesse Duffield 28c9d85141 fix tests 2022-03-16 20:52:49 +11:00
tiwood f0d0d45ba7 refactor: 💡 Use new approach introduced via #1637
fix: 🐛 The root URI for Azure DevOps repositories contains _git

refactor so that we don't have conditional logic based on service definition

no need for this commend anymore

add comment

Fixed RegEx for HTTP remote git URL

Added Tests

pretty sure we can do this safely
2022-03-16 20:52:49 +11:00
Francisco Miamoto ca8180e1b7 Use editFileAtLine method for line by line panel 2022-03-16 20:43:53 +11:00
Jesse Duffield f53b10072d open code in existing window 2022-03-16 19:55:58 +11:00
Jesse Duffield 11acac0091 more explicit 2022-03-16 19:55:58 +11:00
Luka Markušić 866f4b9f0e Support line offset for most common editors by default 2022-03-16 19:55:58 +11:00
Jesse Duffield f56988039a ignore current user language when generating cheatsheets 2022-03-16 19:46:11 +11:00
Akash Soedamah 7e6b43d13b Just spotted some small typos in NL translation
I'm learning the LazyGit keybindings right now
2022-03-16 19:46:11 +11:00
Daniel Kiss f5a5b7f966 Add unstagedChangesColor config option 2022-03-16 19:21:39 +11:00
Blair Noctis 471fe313d8
fix & polish Chinese intro message
- Fix first sentence of 3), #1756
- Use 你 instead of 您 to pose a closer feel, as fellow programmers
- Polish a little so it feels more natural
2022-02-02 18:59:15 +08:00
Matt Cles 9adf4a1908 Add shared function for loading map of custom colors 2022-02-01 18:55:45 +11:00
Matt Cles 4df7646654 Add configurable colors for branch prefixes
Branches can now be colored based on their prefix, if it matches
a user defined prefix in the config file. If no user defined
prefix matches, then it will fallback to the defaults: green for
'feature', yellow for 'bugfix', and red for 'hotfix'. All
remaining branches will be set to the default text color.
2022-02-01 18:55:45 +11:00
Jesse Duffield e0ae134ee4 generate snapshot for expected dir in separate tmp dir 2022-01-29 00:17:32 +11:00
Jesse Duffield 1d90e1b565 add submodule integration tests 2022-01-29 00:17:32 +11:00
Jesse Duffield 1b09674ce8 simplify submodule remove 2022-01-29 00:17:32 +11:00
Jesse Duffield d13a648132 ensure stash panel refreshes 2022-01-28 20:07:30 +11:00
Jesse Duffield bed185eb28 stop retrying due to index lock for now 2022-01-27 21:25:04 +11:00
Jesse Duffield 84a1992055 better locking of merge panel state 2022-01-27 21:25:04 +11:00
Jesse Duffield fa2e7ae1e7 show only merge conflict files when there are merge conflicts 2022-01-26 20:28:32 +11:00
Jesse Duffield 5a3f81d1f7 select current bisect commit even if bisect was started on another branch 2022-01-26 19:29:17 +11:00
Jesse Duffield ebbdf829e7 fix panic on rebase 2022-01-26 17:20:58 +11:00
Jesse Duffield 5e6e1617aa add another bisect integration test 2022-01-26 16:52:20 +11:00
Jesse Duffield 5e9cfab283 better rendering of bisect markets in commits panel 2022-01-26 16:52:20 +11:00
Jesse Duffield ca7cfc3232 only show commits from start ref if bad commit is reachable from there 2022-01-26 16:52:20 +11:00
Jesse Duffield dc765c4166 add a file close that was missed 2022-01-26 14:50:47 +11:00
Jesse Duffield c8cc18920f improve merge conflict flow 2022-01-26 14:50:47 +11:00
Jesse Duffield ce3bcfe37c fix reflog failing to properly refresh 2022-01-26 10:58:33 +11:00
glendsoza eb57e3ead0 Fixed the issue with linting 2022-01-26 09:04:12 +11:00
glendsoza 0caa391c4d Changes as per review 2022-01-26 09:04:12 +11:00
glendsoza 0c6bdac2f7 Changes as per review 2022-01-26 09:04:12 +11:00
glendsoza 257e222f8d ISSUE 1706: Ask confirmation before reverting a commit 2022-01-26 09:04:12 +11:00
Mikael Elkiaer 874e230aef run go fmt 2022-01-25 23:23:55 +11:00
Mikael Elkiaer 4da5795ef1 fixed indentation by swapping spaces for tabs 2022-01-25 23:23:55 +11:00
Mikael Elkiaer 03c9acad26 add tests specific for URL escaping in PRs 2022-01-25 23:23:55 +11:00
Mikael Elkiaer d53322675d update unit tests not expecting url escaping 2022-01-25 23:23:55 +11:00
Mikael Elkiaer ae18ad5b66 add URL encoding in pull request branch names 2022-01-25 23:23:55 +11:00
Jesse Duffield 14b9a0b647 stop skipping stash warnings 2022-01-24 19:18:09 +11:00
Jesse Duffield 58bdcbf1dd always refresh after stash action 2022-01-24 19:18:09 +11:00
Jesse Duffield 61ccc1efd2 exclude interactive rebase TODO commits from commit graph 2022-01-22 15:12:24 +11:00
Jesse Duffield 5b7dd9e43c properly resolve cyclic dependency 2022-01-22 10:48:51 +11:00
Jesse Duffield 4ab5e54139 add support for git bisect 2022-01-22 10:48:51 +11:00
Birger Skogeng Pedersen ab84410b41 check returned error (if any) from UpdateWindowTitle 2022-01-21 23:13:39 +11:00
Birger Skogeng Pedersen a78cbf4882 remove redundant title-setting shell command args 2022-01-21 23:13:39 +11:00
Birger Skogeng Pedersen 62a7d9bbcc invoke title-setting shell command appropriately 2022-01-21 23:13:39 +11:00
Birger Skogeng Pedersen 555d8bbc96 set repo name as window title when loading repo, fix #1691 2022-01-21 23:13:39 +11:00
bin101 ad23bd03a0 fix: custom service usage 2022-01-21 23:13:00 +11:00
Jesse Duffield 1f923bdc4b softer auto-generation message 2022-01-19 21:40:50 +11:00
Jesse Duffield 3e80a9e886 refactor to group up more commonly used git command stuff 2022-01-18 22:01:09 +11:00
Jesse Duffield b6fb7f1365 fix integration test 2022-01-18 21:25:52 +11:00
Jesse Duffield d019626342 do not show branch graph when in filtering mode 2022-01-17 22:00:53 +11:00
Jesse Duffield 595aca2a4b make integration test pass 2022-01-17 19:14:59 +11:00
Jesse Duffield 2691477aff allow sandbox mode with integration tests 2022-01-17 19:14:59 +11:00
Jesse Duffield 99035959a1 fix merge scroll bug 2022-01-16 23:16:05 +11:00
Jesse Duffield 0092c9d08d fix bug with subprocess 2022-01-16 03:32:09 +00:00
Jesse Duffield befa35645e fix bug which prevented quitting with confirm 2022-01-15 20:35:25 +11:00
Jesse Duffield 1c84f77319 always specify upstream when pushing/pulling 2022-01-15 15:34:01 +11:00
Jesse Duffield 8d8bdb948b avoid deadlock in merge panel 2022-01-15 14:15:41 +11:00
Jesse Duffield cdcfeb396f stop refreshing the screen so much 2022-01-15 14:15:41 +11:00
Jesse Duffield 8263d15b03 fix issue where custom command would not open a menu 2022-01-15 10:14:19 +11:00
Jesse Duffield 2436ff197a fewer panics 2022-01-09 14:14:47 +11:00
Jesse Duffield e5096e71ab add integration test for discarding old files 2022-01-09 14:14:47 +11:00
Jesse Duffield ceb927fec0 fix formatting 2022-01-09 14:14:47 +11:00
Jesse Duffield 0dfd02c42d allow rewording old commits 2022-01-09 14:14:47 +11:00
Jesse Duffield ee15202207 add newline after message because it looks like the message doesn't appear otherwise for some reason 2022-01-09 14:09:53 +11:00
Jesse Duffield a936c0592f more refactoring 2022-01-09 14:09:53 +11:00
Jesse Duffield 4d80c87736 use a string builder for credential checking 2022-01-09 14:09:53 +11:00
Jesse Duffield 267ecbe694 refactor code for handling credential requests 2022-01-09 14:09:53 +11:00
Jesse Duffield ccf90466fa fix test 2022-01-09 14:09:53 +11:00
Jesse Duffield 16c9b5404d restore field 2022-01-09 14:09:53 +11:00
Jesse Duffield 18f48a43d5 add some more linters 2022-01-09 14:09:53 +11:00
Jesse Duffield 5d6d894286 fix test 2022-01-09 14:09:53 +11:00
Jesse Duffield e4e521f58a pass repo to struct 2022-01-09 14:09:53 +11:00
Jesse Duffield fdf79fdeee fix bug that caused credentials popup to be raised unexpectedly 2022-01-09 14:09:53 +11:00
Jesse Duffield 0dd1c12e2f fix format issue 2022-01-09 14:09:53 +11:00
Jesse Duffield 364c5db19c shorten name 2022-01-09 14:09:53 +11:00
Jesse Duffield c9a0cc6b30 refactor 2022-01-09 14:09:53 +11:00
Jesse Duffield 3621854dc7 fix tests 2022-01-09 14:09:53 +11:00
Jesse Duffield c6b57d9b57 WIP 2022-01-09 14:09:53 +11:00
Jesse Duffield a7a61cdc83 rearrange 2022-01-09 14:09:53 +11:00
Jesse Duffield ee8ff6512f trim down gitcommand struct some more 2022-01-09 14:09:53 +11:00
Jesse Duffield e8229f0ee0 support general git config calls 2022-01-09 14:09:53 +11:00
Jesse Duffield 610e503296 refactor git flow 2022-01-09 14:09:53 +11:00
Jesse Duffield e92076d2c2 start removing direct calls to cmd.New from gui 2022-01-09 14:09:53 +11:00
Jesse Duffield d9089098c3 remove field 2022-01-09 14:09:53 +11:00
Jesse Duffield 3f44eac95b remove repo field 2022-01-09 14:09:53 +11:00
Jesse Duffield 946a35b59d remove OSCommand field 2022-01-09 14:09:53 +11:00
Jesse Duffield 007235df23 refactor 2022-01-09 14:09:53 +11:00
Jesse Duffield f503ff1ecb start breaking up git struct 2022-01-09 14:09:53 +11:00
Jesse Duffield 48a4565d1f remove log of error now that we're returning it normally 2022-01-07 11:01:42 +11:00
Jakob Kogler ee7a6391a8 remove redundant commit 2022-01-07 11:01:42 +11:00
Jakob Kogler 68fc6059d3 rename variable to failedCommitMessage 2022-01-07 11:01:42 +11:00
Jakob Kogler f981255a5b don't ignore error when commit with subprocess fails
If signing by GPG is enabled, the git commit command will be executed in
a subprocess, differently from when it is executed without GPG signing.
In case of an error, e.g. a failing pre-commit hook, the error needs to
be passed along, and not just ignored.
2022-01-07 11:01:42 +11:00
Jakob Kogler beedc2553d remember the message if commit fails
In case a commit fails, e.g. because a pre-commit hook returns an error,
lazygit will now remember the commit message and will suggest it during
the next commit (e.g. after fixing the error of the pre-commit hook).
2022-01-07 11:01:42 +11:00
Jesse Duffield 0d3e5e6a1d simplify fetch 2022-01-07 10:52:51 +11:00
Jesse Duffield 93729ba61b fix some things 2022-01-07 10:52:51 +11:00
Jesse Duffield 91fe68576c refactor 2022-01-07 10:52:51 +11:00
Jesse Duffield bbb5eee23a privatise some fields 2022-01-07 10:52:51 +11:00
Jesse Duffield 05fa483f48 simplify how we log commands 2022-01-07 10:52:51 +11:00
Jesse Duffield e8a1a4ffc0 add cheatsheet check script 2022-01-04 11:12:04 +11:00
Jesse Duffield 95b2e9540a update tests 2022-01-04 09:07:15 +11:00
Jesse Duffield 3911575041 appease golangci-lint 2022-01-04 09:07:15 +11:00
Jesse Duffield efa743b52e small change 2022-01-04 09:07:15 +11:00
Jesse Duffield 6da6c1f2f2 small copy changes 2022-01-04 09:07:15 +11:00
Jesse Duffield c82606a92a fix broken format call 2022-01-04 09:07:15 +11:00
Jesse Duffield 194ff1630c do dependency injection up front and in one place 2022-01-04 09:07:15 +11:00
Jesse Duffield 2cb8aff940 no more mocking command 2022-01-04 09:07:15 +11:00
Jesse Duffield 25195eacee WIP 2022-01-04 09:07:15 +11:00
Jesse Duffield ad9b2df104 more test refactoring 2022-01-04 09:07:15 +11:00
Jesse Duffield 9c4a819683 refactor sync test 2022-01-04 09:07:15 +11:00
Jesse Duffield 38bc48312e refactor files_test.go 2022-01-04 09:07:15 +11:00
Jesse Duffield 547e0153ec stash and tags loaders 2022-01-04 09:07:15 +11:00
Jesse Duffield 44b6d26b10 move remotes loader into loaders package 2022-01-04 09:07:15 +11:00
Jesse Duffield d69ce7a529 move reflog commit loader into loaders package 2022-01-04 09:07:15 +11:00
Jesse Duffield 9b2b0fc122 WIP 2022-01-04 09:07:15 +11:00
Jesse Duffield 96c2887fd0 WIP 2022-01-04 09:07:15 +11:00
Jesse Duffield 66e840bc3f more refactoring 2022-01-04 09:07:15 +11:00
Jesse Duffield 5b35724243 WIP 2022-01-04 09:07:15 +11:00
Jesse Duffield b028f37ba8 updating specs 2022-01-04 09:07:15 +11:00
Jesse Duffield 1fc0d786ae better typing for rebase mode 2022-01-04 09:07:15 +11:00
Jesse Duffield 9d4ff6b465 fix logging 2022-01-04 09:07:15 +11:00
Jesse Duffield 95f4ceea34 refactor 2022-01-04 09:07:15 +11:00
Jesse Duffield 43a4fa970d WIP 2022-01-04 09:07:15 +11:00
Jesse Duffield 192a548c99 refactoring the config struct 2022-01-04 09:07:15 +11:00
Jesse Duffield 01ea5813a8 align Gui struct with GitCommand 2022-01-04 09:07:15 +11:00
Jesse Duffield 03b946cc8f no more config in git command struct 2022-01-04 09:07:15 +11:00
Jesse Duffield 18ab086126 introduce Common struct for passing around common stuff 2022-01-04 09:07:15 +11:00
Jesse Duffield b4c078d565 WIP 2022-01-04 09:07:15 +11:00
Jesse Duffield 9ef65574db refactor to rename pull_request to hosting_service and apply SRP 2021-12-29 09:01:06 +11:00
Jesse Duffield f89747451a allow opening a commit in the browser 2021-12-29 09:01:06 +11:00
Francisco Miamoto 8a76b5a4ee use custom handler only for branch commits context 2021-12-28 15:54:19 +11:00
Francisco Miamoto 1a7d0cd7ae add binding to go to bottom on lists
Related to #1584
2021-12-28 15:54:19 +11:00
Francisco Miamoto 8c8b925b3a set tag index directly
We can do this since they are already sorted by date created.
2021-12-26 17:08:31 +11:00
Francisco Miamoto eff6c4283b change formatting for menu items 2021-12-26 17:08:31 +11:00
Francisco Miamoto 7888ff6cb9 set show cancel as true for tag menu 2021-12-26 17:08:31 +11:00
Francisco Miamoto e7a005f44d update translations to match conventions 2021-12-26 17:08:31 +11:00
Francisco Miamoto 3e58797096 show tag menu for creation on tags tab 2021-12-26 17:08:31 +11:00
Francisco Miamoto b1d6ccddfb support creating annotated tags 2021-12-26 17:08:31 +11:00
Jesse Duffield 4df003cc44 handle ssh protocol 2021-12-26 17:05:05 +11:00
Jesse Duffield d9db5ccfbe refactor to use regex for matching git service URL 2021-12-26 16:48:23 +11:00
Jesse Duffield 7bc8b96aba add FindNamedMatches function in utils 2021-12-26 16:48:23 +11:00
Marius Bergmann 38743ec99f Suggest existing remote for non-tracking branch
Currently, when pushing or pulling a branch that has no tracking remote,
lazygit suggests the (hard-coded) remote named 'origin'. However, a
repository might not have a remote with this name, in which case the
suggestion makes no sense. This happens to me quite regularly when I
choose a more meaningful name than 'origin' for a remote.

This change keeps the current behavior by suggesting 'origin' when there
is either a remote with that name or no remote at all. However, when
'origin' does not exist, the name of the first remote is suggested.

Suggest existing remote for non-tracking branch

Currently, when pushing or pulling a branch that has no tracking remote,
lazygit suggests the (hard-coded) remote named 'origin'. However, a
repository might not have a remote with this name, in which case the
suggestion makes no sense. This happens to me quite regularly when I
choose a more meaningful name than 'origin' for a remote.

This change keeps the current behavior by suggesting 'origin' when there
is either a remote with that name or no remote at all. However, when
'origin' does not exist, the name of the first existing remote is
suggested.
2021-12-26 15:47:58 +11:00
justinsb 630de34bf2 Use "reword" for amending a commit message everywhere
We were inconsistent about "rename" vs "reword" for commits.  reword
is the term used in git itself (for example, in rebase).
2021-12-25 22:34:41 +11:00
Mark Sagi-Kazar fdf0d4a2c3 implement signoff
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
2021-12-25 12:01:55 +11:00
Mark Sagi-Kazar b4ea565c99 add signoff config
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
2021-12-25 12:01:55 +11:00
Cokile 76e6745526 fix typo 2021-12-25 11:54:27 +11:00
Cokile 3771f9c98b support config unified color for commit authors 2021-12-25 11:54:27 +11:00
Chris Burgin 4f627e5d27 wrap branch names in quotes 2021-12-25 11:50:06 +11:00
Erik Scrafford 089e3bf4fe change branch regex to only grab the first remote on each line of branch command 2021-12-23 19:30:47 +11:00
Jesse Duffield 18283ad41b add popup handler for easier testing 2021-12-06 22:37:28 +11:00
Jesse Duffield 1996eddd91 more efficient context diff size changing 2021-12-06 22:37:28 +11:00
DerTeta de0e885c65 Refresh staging- or patch building panel when rendering their respective context 2021-12-06 22:37:28 +11:00
DerTeta f7ffbbd72a Add a menu entry and keybinding to { for decreasing the context size 2021-12-06 22:37:28 +11:00
DerTeta 0fbde05928 Add a menu item and keybinding to } to increase the context size 2021-12-06 22:37:28 +11:00
DerTeta ba844c18a5 Add the DecreaseContextInDiffView function 2021-12-06 22:37:28 +11:00
DerTeta e1cf6912db Add the IncreaseContextInDiffView function 2021-12-06 22:37:28 +11:00
DerTeta c99d373e13 Use DiffContextSize in ShowStashEntryCmdStr 2021-12-06 22:37:28 +11:00
DerTeta ecfafb6fbe Use DiffContextSize in ShowCmdStr 2021-12-06 22:37:28 +11:00
DerTeta 14d9e776be Use DiffContextSize in ShowFileDiffStr 2021-12-06 22:37:28 +11:00
DerTeta ca88620e8f Use DiffContextSize in WorkTreeFileDiffCmdStr 2021-12-06 22:37:28 +11:00
DerTeta 9feaf5d70f Add the DiffContextSize setting to GitConfig
It defaults to 3 lines, which is the default value for git.
2021-12-06 22:37:28 +11:00
DerTeta 3e3151f86a Fix: Don't access a view if it's nil
The way the `if` expression in `deactivateContext` was composed,
it was possible to have it to evaluate to `true` even though the
`view` variable was `nil`.

As far as I can tell, this seems to be only possible during tests.
Nonetheless, I think the expression looks more "correct" this way.
2021-12-06 22:37:28 +11:00
Jesse Duffield 02bf6a5c17 fix delta again 2021-11-22 21:07:04 +11:00
black_desk 9c4f837d45 fix chinese translate 2021-11-16 17:06:46 +08:00
Jesse Duffield 2f45db8f7c fix scrolling in sub commits panel 2021-11-10 08:54:14 +11:00
Jesse Duffield 3fb478a30e add tests 2021-11-07 13:32:36 +11:00
Jesse Duffield 5d12a6bf99 restore some code that was erroneously removed 2021-11-07 13:32:36 +11:00
Jesse Duffield 1d40d03bb2 refactor 2021-11-05 07:58:21 +11:00
Jesse Duffield 9a9e3d506d more consistent rendering 2021-11-05 07:58:21 +11:00
Jesse Duffield 06ca71e955 fix bug 2021-11-05 07:58:21 +11:00
Jesse Duffield 308a3b51b3 some more throttling stuff 2021-11-05 07:58:21 +11:00
Jesse Duffield ccd80a0e4b add menu options for log stuff 2021-11-05 07:58:21 +11:00
Jesse Duffield 37be9dbea1 support scrolling left and right 2021-11-05 07:58:21 +11:00
Jesse Duffield f6ec7babf5 add some config 2021-11-05 07:58:21 +11:00
Jesse Duffield 802cfb1a04 render commit graph 2021-11-05 07:58:21 +11:00
Jesse Duffield 2fc1498517 some refactoring in anticipation of the graph feature 2021-11-01 10:03:49 +11:00
Jesse Duffield 7a464ae5b7 add graph algorithm 2021-11-01 10:03:49 +11:00
Jesse Duffield 927ee63106 support aborting a merge or rebase with esc 2021-11-01 09:18:30 +11:00
Jesse Duffield 9989c96321 better formatting 2021-10-31 22:33:39 +11:00
Jesse Duffield f91892b8f1 fix truncation 2021-10-30 20:19:40 +11:00
Jesse Duffield 5df0fe0765 fix crash 2021-10-30 18:26:06 +11:00
Jesse Duffield c47c539e12 support user-configurable author colours 2021-10-30 18:26:06 +11:00
Jesse Duffield c96496c3a7 show author info in rebase commits 2021-10-30 18:26:06 +11:00
Jesse Duffield 7561703e8d move author name colouring code into its own file 2021-10-30 18:26:06 +11:00
Jesse Duffield b04b457246 fix yet another issue with indentation 2021-10-30 18:26:06 +11:00
Jesse Duffield 6457800748 fix another issue with indentation 2021-10-30 18:26:06 +11:00
Jesse Duffield 7d9461877a fix issue with indentation 2021-10-30 18:26:06 +11:00
Jesse Duffield e122f421e6 only use a single initial for double sized runes 2021-10-30 18:26:06 +11:00
Ryooooooga 6171690b00 Fix multibyte initial characters 2021-10-30 18:26:06 +11:00
Jesse Duffield 253504a094 associate random colours with authors 2021-10-30 18:26:06 +11:00
Jesse Duffield f704707d29 stream output from certain git commands in command log panel 2021-10-30 18:26:06 +11:00
Jesse Duffield 01d82749b1 fix commit message prefix thingo 2021-10-25 22:40:15 +00:00
Jesse Duffield 3eb124c732 easier hiding of command log 2021-10-23 12:54:57 +11:00
Jesse Duffield ef544e6ce9 add more suggestions 2021-10-23 12:29:52 +11:00
Jesse Duffield 629494144f show suggestions when typing in an origin 2021-10-23 12:29:52 +11:00
Jesse Duffield b6a5e9d615 use cached git config 2021-10-23 10:26:47 +11:00
Jesse Duffield 5011cac7ea show filetree by default 2021-10-22 22:39:17 +11:00
Sam Burville 5df0475612 Add variable to simplify JumpToBlock keybinding
This removes the magic '5' and instead uses the number of windows.
2021-10-22 22:38:26 +11:00
Sam Burville f6e316dfe5 Improve JumpToBlock keybinding functionality
Improve experience when yaml file has != 5 keybindings and change view
helper to use the length of the array instead of hardcoded value.
2021-10-22 22:38:26 +11:00
Sam Burville 91e8765d9c Add JumpToBlock keybinding
This should allow users to decide their own keybinding for jumping
between blocks/panels.
E.g. A user could choose 5-9 instead of 1-5.
2021-10-22 22:38:26 +11:00
Jesse Duffield 80a8e9b04d fix merge conflict scrolling 2021-10-22 22:16:52 +11:00
Jesse Duffield 2008c39516 add tests for dealing with remotes 2021-10-22 21:33:17 +11:00
Jesse Duffield 6388af70ac simplify pull logic 2021-10-22 21:33:17 +11:00
Jesse Duffield 5ee559b896 fix issue where upstream origin and branch were quoted together
fix issue where upstream origin and branch were quoted together
2021-10-20 09:29:17 +11:00
Jesse Duffield ca7252ef8e suggest files when picking a path to filter on
async fetching of suggestions

remove limit

cache the trie for future use

more

more
2021-10-19 09:02:42 +11:00
Ryooooooga 40bc3aa5a9
Improve backward compatibility 2021-10-18 22:44:01 +09:00
Jesse Duffield a05f22efa2 support home/end keys in editors 2021-10-17 20:14:31 +11:00
Jesse Duffield c0cd9dd835 stop opening suggestions tab when no suggestions present 2021-10-17 20:05:09 +11:00
Jesse Duffield 305f211615 surface error when trying to set upstream 2021-10-17 09:00:08 +00:00
Jesse Duffield d672b7342f stop resetting scroll all the time 2021-10-17 19:45:57 +11:00
Jesse Duffield e7c27b6f4a small fixes 2021-10-17 06:41:21 +00:00
Jesse Duffield 345c90ac05 fix editor 2021-10-17 04:17:59 +00:00
Ryooooooga 7564e506b5 Enable/disable os specific tests at compile time 2021-10-17 11:00:20 +11:00
Ryooooooga 1e50764b4d Fix tests 2021-10-17 11:00:20 +11:00
Ryooooooga 4171b7613c Use replacer 2021-10-16 22:40:50 +11:00
Ryooooooga 92f03a7872 Escape special characters 2021-10-16 22:40:50 +11:00
Ryooooooga 2dc8396deb Fix test 2021-10-16 22:40:50 +11:00
Ryooooooga 7b615e3186 Fix open link command in Windows 2021-10-16 22:40:50 +11:00
Adam Łyskawa a2108362de Update polish.go
Previous translation was completely unacceptable. As a native Polish speaker I consulted various Polish documentation files and translated almost all content.
My translation may contain minor errors due to the possible lack of context for some text.
2021-10-16 22:32:34 +11:00
Jesse Duffield 87e9d9bdc2 minor changes 2021-10-16 21:18:43 +11:00
Hrishikesh Hiraskar b6454755ca copy selected text to clipboard 2021-10-16 21:18:43 +11:00
Jesse Duffield 3621084096 small changes 2021-10-16 12:22:34 +11:00
Jesse Duffield 8c25aaa687 extra comment 2021-10-16 12:22:34 +11:00
Jesse Duffield d02e52989e small changes 2021-10-16 12:22:34 +11:00
mjarkk 913a2fd065 Allow having multiple config files 2021-10-16 12:22:34 +11:00
Mark Kopenga db736896bc
Merge pull request #1501 from Ryooooooga/feature/fix-command
Improved command execution
2021-10-09 11:10:29 +02:00
Ryooooooga 154b6b09cb
Quote ref names and branches 2021-10-09 12:55:00 +09:00
Ryooooooga 292b780bd8
Quote branch names and remote names 2021-10-08 18:36:05 +09:00
Mark Kopenga c421f396af
Merge pull request #1473 from black-desk/tmp
Improve Chinese translation
2021-10-08 09:53:48 +02:00
black_desk a1ae2aa277 Improve Chinese translation 2021-10-08 08:49:22 +08:00
Ryooooooga e19b4fe369
Fix git-remote commands 2021-10-06 23:20:19 +09:00
Ryooooooga eb7531b206
Fix error prompt when new tag name starts with '--' 2021-10-06 22:57:02 +09:00
Ryooooooga 428ce2d0f2
Fix crash when new submodule url contains double quotes 2021-10-06 22:51:24 +09:00
Ryooooooga f1fbf1e9f5
Fix crash when try to ignore tracked files 2021-10-06 22:43:30 +09:00
Sam Burville 268d4080b3 Fix text formatting 2021-09-30 01:26:05 +10:00
Jesse Duffield 2c72990838 Update pkg/theme/theme.go 2021-09-30 01:26:05 +10:00
Jesse Duffield 046edd8120 Update pkg/theme/theme.go 2021-09-30 01:26:05 +10:00
samburville c4552aad28 Use simpler short variable declaration
Co-authored-by: Jesse Duffield <jessedduffield@gmail.com>
2021-09-30 01:26:05 +10:00
Sam Burville 5c57c973d6 Tidy of spacing on GetDefaultConfig in user_config 2021-09-30 01:26:05 +10:00
Sam Burville c5f7ad5adb Make cherry pick commit color customisable
Two new settings in the config, which allow the cherry picked
foreground and background to be custom colors.

Issue #856
2021-09-30 01:26:05 +10:00
Ryooooooga 663c036ca5 Save patch files in TempDir 2021-09-29 22:05:58 +10:00
Jesse Duffield ab0117c416 fix some encodings 2021-09-27 19:58:24 +10:00
Jesse Duffield 652c97d239 honour options menu press 2021-09-27 19:41:38 +10:00
Mark Kopenga 5193353020
Merge pull request #1478 from black-desk/remove-unused-strings
Remove unused strings
2021-09-23 22:23:52 +02:00
Ryooooooga add3e8783e
Fix crash on remove tracked files #1480 2021-09-21 18:51:18 +09:00
black_desk 5eff56b557 Remove unused strings 2021-09-19 19:05:11 +08:00
black_desk 66d0fd2133 Format code to pass lint 2021-09-16 21:38:43 +08:00
Ryooooooga 57f7051590
Fix deletion of unmerged branches in languages other than English 2021-09-04 21:01:38 +09:00
Mark Kopenga 0543d43f10
Merge pull request #1459 from btwise/master
fix chinese translate
2021-09-02 09:27:46 +02:00
btwise 151486dcfb fix chinese translate 2021-09-02 12:16:53 +08:00
codesoap c1d2aa61f3 Fix misspells 2021-09-01 22:51:24 +02:00
Dwarven YANG 63072af5bc allow user to configure the gui language 2021-08-30 09:12:29 +10:00
Jesse Duffield 44d08edfb0 Address feedback 2021-08-25 22:23:55 +10:00
Jesse Duffield f08fdb2873 Minor refactor 2021-08-25 22:23:55 +10:00
Ryooooooga df4eb70ba2 Fix translations 2021-08-25 22:23:55 +10:00
Ryooooooga 6ca42ff720 Fix pick all hunks 2021-08-25 22:23:55 +10:00
Ryooooooga a533f8e1a5 simplify merge panel logic 2021-08-25 22:23:55 +10:00
Ryooooooga cf8ded0b79 add mergeConflict#hasAncestor 2021-08-25 22:23:55 +10:00
Ryooooooga 73548fa15f Fix conflict resolution 2021-08-25 22:23:55 +10:00
Ryooooooga a0e7604f61 Support git config merge.conflictStyle diff3 2021-08-25 22:23:55 +10:00
Ryooooooga c3d7de1c18 Change not to use cat command 2021-08-25 21:32:48 +10:00
Liberatys 711bd5a670 Lint 2021-08-25 20:13:50 +10:00
Liberatys 6b68f4f25d Update as per review and add tests 2021-08-25 20:13:50 +10:00
Liberatys 89ee0a1dee Move field names to translation 2021-08-25 20:13:50 +10:00
Liberatys 2dc6f5f079 Implement state filtering for commit files 2021-08-25 20:13:50 +10:00
Ryooooooga 51f05ce08b
Fix open command in Windows 2021-08-23 21:21:34 +09:00
Mark Kopenga 487ad196a7
Merge pull request #1413 from Ryooooooga/feature/edit-line
Make os.editCommand customizable using template
2021-08-23 10:15:38 +02:00
Ryooooooga 0af0e66586
Fix panic in merge conflict 2021-08-21 18:34:30 +09:00
Mark Kopenga 2eeff1257b
Merge pull request #1432 from black-desk/moved-submodule
fix moved submodule
2021-08-17 10:10:22 +02:00
Mark Kopenga c878f34ff1
Merge pull request #1438 from Ryooooooga/feature/rename-files-with-modification
Fix staged renamed file with unstaged in file pane #1408
2021-08-16 17:29:08 +02:00
Ryooooooga d073932cec
Fix stash submodule #1436 2021-08-16 23:36:16 +09:00
Ryooooooga a2f7fcd730
Remove unused constant 2021-08-16 23:21:46 +09:00
Ryooooooga f96674b24b
Fix error when filename contains -> 2021-08-16 23:15:37 +09:00
Ryooooooga a553f7fb77
Fix staged renamed file with unstaged changes displays incorrectly in Files view #1408 2021-08-16 20:05:59 +09:00
Mark Kopenga 6c415d1341
Merge pull request #1434 from Ryooooooga/feature/fix-quote-in-filename
the patch panel would crash if the filename contained an odd number of double quotes
2021-08-16 09:52:06 +02:00
Ryooooooga b21ac990ea
fix submodule command escaping #1436 2021-08-16 12:34:52 +09:00
Ryooooooga 0740409f43
fix test 2021-08-13 22:15:06 +09:00
Ryooooooga 37700908cc
fix checkout file command 2021-08-13 21:49:40 +09:00
Ryooooooga 488c43aaa2
fix crash when double quotes in filename #1433 2021-08-13 21:39:38 +09:00
black_desk bb4fe2653b fix moved submodule 2021-08-13 17:03:37 +08:00
black_desk 66d735acb5
Update pkg/commands/files.go
Co-authored-by: Mark Kopenga <mkopenga@gmail.com>
2021-08-13 16:41:23 +08:00
black_desk d51b065f2a fix empty patch panel when spaces in filename 2021-08-13 14:02:11 +08:00
mjarkk e58376f9f7 add tests for TemplateFuncMapAddColors 2021-08-09 21:09:52 +02:00
Elwardi e8e4fa5957 Add color functions to templates funcMaps 2021-08-09 11:52:00 +01:00
Elwardi b5d8849c06 Support match colors in labelFormat entry in menuFromCommand prompts 2021-08-07 16:06:36 +01:00
Mark Kopenga 5d1a9639b6
Merge pull request #1416 from FoamScience/feature_menuOptions 2021-08-07 15:24:42 +02:00
mjarkk ea136e4e77 Improve code quality
- Make CommandMenuEntry private
- create candidates only once we really need it
- Use only 1 buffer
- Clearify CommandMenuEntry creation fields
2021-08-06 21:50:58 +02:00
Elwardi dcd3b7c058 Show only labels in menuFromCommand prompts 2021-08-06 18:38:26 +01:00
Elwardi 906ec30cac Minor changes to menuFromCommand prompts 2021-08-06 10:53:32 +01:00
Matthew Garelli 46c146a8c1 fixed test failing due to ForceSetColorLevel in pkg/gui/style/style_test.go 2021-08-06 02:18:04 -07:00
Elwardi a8ec044f0e Make menuFromCommand format menu items and their description 2021-08-05 15:45:18 +01:00
Ryooooooga ac609bd37c
fix backward compatibility 2021-08-04 18:43:34 +09:00
Ryooooooga 67cc65930a
fix out of range error 2021-08-03 22:00:28 +09:00
Ryooooooga 4f66093335
introduce edit command template to open a specifig line of a file 2021-08-03 21:42:14 +09:00
Jesse Duffield d626bcac00 color fixups 2021-08-01 16:14:56 +10:00
Jesse Duffield e798aa4b15 more color tests 2021-08-01 13:21:06 +10:00
mjarkk 0662733ad9 add tests for color changes 2021-07-31 20:53:49 +02:00
Jesse Duffield 550c0fd4dc refactor 2021-07-31 17:56:47 +10:00
Jesse Duffield 0bc0e4ac88 more efficient 2021-07-31 17:33:20 +10:00
Jesse Duffield 117c0bd4f7 simplify code a bit 2021-07-31 17:33:13 +10:00
mjarkk 79848087bc Switch to github.com/gookit/color for terminal colors 2021-07-30 15:14:46 +02:00
Jesse Duffield 62393cf28a more treeish files 2021-07-27 21:52:42 +10:00
Jesse Duffield b81bac3d65 more i18n 2021-07-27 21:30:08 +10:00
Jesse Duffield 58ddbae4d1 Minor refactor 2021-07-27 21:30:08 +10:00
Denis Palashevskii 3802b563b0 Add error message if target branch not found with prompt 2021-07-27 21:30:08 +10:00
Denis Palashevskii d1134daa53 review fixes: PR URL refactoring, target branch selection prompt 2021-07-27 21:30:08 +10:00
Denis Palashevskii 63cb304a82 Fix translations, make formatter happy 2021-07-27 21:30:08 +10:00
Denis Palashevskii d5ec0fdcd1 Remove doubled string formatting in pull request URL generation 2021-07-27 21:30:08 +10:00
Denis Palashevskii 0a63f701e5 Apply suggestions from code review
Co-authored-by: Mark Kopenga <mkopenga@gmail.com>
2021-07-27 21:30:08 +10:00
Denis Palashevskii bccf203a18 Fix menu item color 2021-07-27 21:30:08 +10:00
Denis Palashevskii b590397dce Update docs 2021-07-27 21:30:08 +10:00
Denis Palashevskii 755cc9f8d8 Add tests 2021-07-27 21:30:08 +10:00
Denis Palashevskii 0e6598adbd Implement pull request options menu 2021-07-27 21:30:08 +10:00
Denis Palashevskii f2645da16a Extract git service URL formatting to a separate method 2021-07-27 21:30:08 +10:00
Francisco Miamoto f8f596d097 add tests for open file cmd on linux 2021-07-27 20:28:00 +10:00
Francisco Miamoto 028cb2be2f add extra quoting for shell cmd string on linux
This solves an issue where we could not open files with names that contained
spaces and single quotes.
It also  solves an issue of variable expansion for files with some kind
of environment variables on the name e.g. '$USER.txt'
2021-07-27 20:28:00 +10:00
Evan Boehs fb69bfd20d Update english.go 2021-07-27 14:57:41 +10:00
Mark Kopenga f4874bbb74
Merge pull request #1396 from mjarkk/fix-1385
branches check for split parts length
2021-07-26 11:22:33 +02:00
Mark Kopenga eec20b845d
Merge pull request #1392 from mjarkk/parcally-fix-1385
Change the way file statuses are loaded
2021-07-26 11:22:14 +02:00
mjarkk 3a0a9ec33b branches check for split parts length 2021-07-26 11:07:42 +02:00
mjarkk 4fca89bc52 Allow hex theme colors 2021-07-26 10:38:45 +02:00
mjarkk fc76b44b45 correctly show files with special chars in commit 2021-07-23 12:04:23 +02:00
mjarkk 9a087d04eb Change the way file statuses are loaded
This makes it so file statuses recived from git no longer get joined
before spliting them again.
2021-07-22 22:12:43 +02:00
mjarkk 713fae3e32 format code 2021-07-22 19:45:43 +02:00
Elwardi 148bf2c070 Add test for GenerateMenuCandidates from Custom Commands 2021-07-22 15:44:16 +01:00
Elwardi edfb0a26b2 Refactor code around handleCustomCommandKeybinding 2021-07-20 20:59:03 +01:00
Elwardi f70435a20f Better format error catching in menuFromCommand prompts 2021-07-19 13:41:42 +01:00
Elwardi b92ff3ee3f Consider first match only in menuFromCommand prompt 2021-07-19 13:06:00 +01:00
Elwardi f1ced5539a Add option to format filter matches to menuFromCommand prompts 2021-07-19 11:46:29 +01:00
Elwardi 77e9ee64a4 Apply suggestions from @mjarkk for menyFromCommands 2021-07-18 18:42:42 +01:00
Elwardi 9daa47fb2d Add docs for menuFromCommand prompts 2021-07-18 10:36:01 +01:00
Elwardi d18c8c8dc3 Add prompt type: menuFromCommand 2021-07-18 10:36:00 +01:00
mjarkk fc066d2f2e parse github emoji config option 2021-07-16 14:06:01 +02:00
Davyd McColl 53ea7df655 🚚 move only the platform-specific part of log tailing into platform-specific files 2021-07-01 17:13:14 +10:00
Davyd McColl 533817bda3 🐛 should be TailLogs 2021-07-01 17:13:14 +10:00
Davyd McColl 35f1ccdb1b ♻️ temporarily bypass ignore whitespace for diff view instead of turning the toggle off completely 2021-07-01 17:13:14 +10:00
Davyd McColl 3dc3174d85 🔥 remove erroneous user_config fields 2021-07-01 17:13:14 +10:00
Davyd McColl ae2496cf80 🎨 prefer the long switch over the short one for easier reading 2021-07-01 17:13:14 +10:00
Davyd McColl 2ac33bb83d 🎨 split out platform-dependent logging for compile-time selection 2021-07-01 17:13:14 +10:00
Davyd McColl 2b4048ebff 🐛 shouldn't hammer the file continually, have a nap instead 2021-07-01 17:13:14 +10:00
Davyd McColl 31bcd632c7 🎨 observe the error, if there is one 2021-07-01 17:13:14 +10:00
Davyd McColl aa9ef12d43 make log-watching work on windows 2021-07-01 17:13:14 +10:00
Davyd McColl b80fafef02 🎨 properly ignore the result 2021-07-01 17:13:14 +10:00
Davyd McColl 130480555f always show whitespace in diffs when entering line-by-line staging 2021-07-01 17:13:14 +10:00
Davyd McColl 92cc6e883d 🚚 move whitespace toggle out of quitting.go 2021-07-01 17:13:14 +10:00
Davyd McColl 107503c903 🎨 alternative syntax 2021-07-01 17:13:14 +10:00
Davyd McColl 7ae106d4df 🎨 run formatter 2021-07-01 17:13:14 +10:00
Davyd McColl 16dcc8f4db implement feedback when toggling whitespace 2021-07-01 17:13:14 +10:00
Davyd McColl eb10ddfccc add a test around ignoring whitespace 2021-07-01 17:13:13 +10:00
Davyd McColl 22a6771e51 🎨 run go fmt against the file directly ftw 2021-07-01 17:13:13 +10:00
Davyd McColl 3f96537380 update test to pass in default ignore-whitespace flag (false) 2021-07-01 17:13:13 +10:00
Davyd McColl a9f04d3925 facilitate toggling whitespace in the diff view with a hotkey (c-w by default) 2021-07-01 17:13:13 +10:00
Daniel Ebrahimian 0c3132c6f0
Fix typo in random tip 2021-06-28 11:03:54 +10:00
Cristian Betivu 39c8577074 Use static context 2021-06-16 15:00:17 +10:00
Cristian Betivu 0c2d90a444 Add comment 2021-06-16 15:00:17 +10:00
Cristian Betivu 0c135515a5 Use parent view for tab navigation 2021-06-16 15:00:17 +10:00
Jesse Duffield 2b9df0ea06 fix up cheatsheet 2021-06-15 08:37:56 +10:00
Stefan Teunissen 7d1b76a349 Update dutch.go 2021-06-15 08:37:03 +10:00
Emiliano Ruiz Carletti 01e4467d76 Add test cases for pull mode 2021-06-15 08:31:07 +10:00
Emiliano Ruiz Carletti b4e6850f98 Fix wrong ff-only configuration 2021-06-15 08:31:07 +10:00
Emiliano Ruiz Carletti c57a0077d0 Read pull mode from gitconfig lazily 2021-06-15 08:31:07 +10:00
Emiliano Ruiz Carletti 46e500dc28 Revert "Read pull mode from git configuration"
This reverts commit e69e240a31.
2021-06-15 08:31:07 +10:00
Emiliano Ruiz Carletti d7865b3882 Read pull mode from git configuration 2021-06-15 08:31:07 +10:00
Jesse Duffield 0aad68acf0 Merge branch 'btwise-master' 2021-06-15 08:25:24 +10:00
Jesse Duffield 4969e9ce0a gofmt 2021-06-15 08:25:07 +10:00
Jesse Duffield ce7cbe58a0 naming change 2021-06-14 18:17:08 +10:00
Andrei Yangabishev 7588d5290b ShowTotal flag 2021-06-10 12:43:05 +03:00
Jesse Duffield 9fdf92b226 more refactoring
WIP

WIP
2021-06-06 09:12:49 +10:00
Jesse Duffield 93bf691fd6 refactoring 2021-06-06 09:12:49 +10:00
Jesse Duffield fb395bca6e support reverting merge commits 2021-06-05 22:15:51 +10:00
Jesse Duffield f91adf026b fix lbl scrolling 2021-06-05 13:54:05 +10:00
Jesse Duffield 6d91661d5e prevent closure issue 2021-06-05 13:54:05 +10:00
Jesse Duffield 90983aae65 not importing regexp 2021-06-05 13:53:25 +10:00
Jesse Duffield f71b23b890 more explicit 2021-06-05 13:53:25 +10:00
Cristian Betivu 05a23f0e1e Discard value after END marker 2021-06-05 13:53:25 +10:00
Cristian Betivu fd38ad8096 More generic merge conflict detection 2021-06-05 13:53:25 +10:00
Jesse Duffield d502c43ae8 fix tests 2021-06-05 10:58:36 +10:00
caojoshua e7c657fba0 Docs for EditCommand. 2021-06-05 10:58:09 +10:00
caojoshua 60468d2e17 Edit command as user OS config option 2021-06-05 10:58:09 +10:00
Robert Verst cb78cf7de4 Simplify sorting of git tags by using git's functions 2021-06-05 10:56:46 +10:00
Robert Verst 94b52af661 Remove config, make default sort order descending 2021-06-05 10:56:46 +10:00
Robert Verst 472288c81b Add user config to change the sort order of tags 2021-06-05 10:56:46 +10:00
Jesse Duffield 258eedb38c refactor 2021-06-02 20:33:52 +10:00
Jérémy Pagé bc044c64b2 Remove origin prefix when creating local branch based from origin 2021-05-30 15:29:56 +10:00
Harrison Jones e478c254d4 Handle alternate merge conflict format; add tests 2021-05-30 13:50:42 +10:00
Liberatys 44f7fc6f7c Add global binding to open recent repos 2021-05-30 13:25:44 +10:00
btwise a13e919d3d add chinese for i18n 2021-05-19 17:55:26 +08:00
Petróczi Zoltán 9190e9beac Fix englishIntroPopupMessage typo in english.go 2021-04-20 21:08:29 +10:00
Jesse Duffield a99e6ba071 update release notes 2021-04-20 18:34:47 +10:00
Jesse Duffield 604ee02cd9 ignore east asian width setting to avoid broken frame rendering 2021-04-19 23:06:05 +10:00
Jesse Duffield 926a48a65b smarter sizing of command log panel 2021-04-19 18:09:01 +10:00
Jesse Duffield 98375dc902 refactor merge panel 2021-04-18 18:58:09 +10:00
Jesse Duffield e73de332a1 refactor line by line panel 2021-04-18 16:55:09 +10:00
Jesse Duffield b28b2d05bd force cursor to be at end of line when opening confirmation panel 2021-04-17 21:15:54 +10:00
Jesse Duffield 9e5f031553 bubble up tracked files in flat file view 2021-04-17 10:04:49 +10:00
Jesse Duffield e42387d0da update keybindings 2021-04-12 23:40:20 +10:00
Jesse Duffield 7d195b97c2 better squash description 2021-04-12 21:57:13 +10:00
Jesse Duffield 4fb2dba587 allow hiding random tip 2021-04-12 21:48:08 +10:00
Jesse Duffield 5453b71fd1 linting 2021-04-12 21:48:08 +10:00
Jesse Duffield 3b7e7a7f56 add random tip to command log 2021-04-12 21:48:08 +10:00
Jesse Duffield 06a8eb115c make command log size configurable 2021-04-11 23:36:34 +10:00
Jesse Duffield e4f0a470e9 print header for command log 2021-04-11 23:36:34 +10:00
Jesse Duffield adee0b8ccb add spans to i18n 2021-04-11 23:36:34 +10:00
Jesse Duffield 0bebfe454e pull out function 2021-04-11 23:36:34 +10:00
Jesse Duffield 84b0c3df4f ask question button 2021-04-11 22:07:29 +10:00
Jesse Duffield 069c7c9d35 fix test 2021-04-11 17:07:49 +10:00
Jesse Duffield 393ce05860 allow focusing on command log view 2021-04-11 17:07:49 +10:00
Jesse Duffield cf78b86cb5 more support for command log and more code reuse for contexts 2021-04-11 17:07:49 +10:00
Jesse Duffield 4f03d7733a allow showing, hiding, and scrolling the extras panel 2021-04-11 17:07:49 +10:00
Jesse Duffield e3a14d546a support static boxes that go outside the available size 2021-04-11 17:07:49 +10:00
Jesse Duffield f2007f4d95 support scrolling extras view 2021-04-11 17:07:49 +10:00
Jesse Duffield 8969464b00 log TODO content when interactive rebasing 2021-04-11 17:07:49 +10:00
Jesse Duffield 6137d66914 no need to log this 2021-04-11 17:07:49 +10:00
Jesse Duffield 6fbe660f96 full coverage for logging commands 2021-04-11 17:07:49 +10:00
Jesse Duffield 74320f0075 more logging of commands 2021-04-11 17:07:49 +10:00
Jesse Duffield bfad972f0c fix bug where mixed reset is actually a soft reset 2021-04-11 17:07:49 +10:00
Jesse Duffield bb918b579a start adding support for logging of commands 2021-04-11 17:07:49 +10:00
Jesse Duffield e145090046 add cmdLog panel 2021-04-11 17:07:49 +10:00
Jesse Duffield 8d416634ba update release notes 2021-04-11 10:21:53 +10:00
Jesse Duffield 9f4433d8b5 allow opening merge tool 2021-04-11 10:21:53 +10:00
Jesse Duffield 2d8f7d2a7b better way of scrolling to a merge conflict 2021-04-11 10:21:53 +10:00
Jesse Duffield a9fbc9eda1 fix merge conflict panel not rendering 2021-04-11 10:21:53 +10:00
Jesse Duffield e092da5f78 pause background threads when running subprocess 2021-04-10 12:16:45 +10:00
Jesse Duffield e42e7e5cbd fix commit amend 2021-04-10 11:54:38 +10:00
Jesse Duffield 93fac1f312 reduce flicker without worrying about carriage returns 2021-04-09 22:50:55 +10:00
Jesse Duffield d5504fa5d0 potentially fix credentials issue 2021-04-09 00:39:04 +10:00
Jesse Duffield 273aba38d4 stricter CI 2021-04-09 00:15:48 +10:00
Jesse Duffield cab0aa462c fix crash at start 2021-04-09 00:10:35 +10:00
Jesse Duffield b03e2270a0 revert no-flicker due to carriage return weirdness 2021-04-08 23:17:27 +10:00
Jesse Duffield 21049be233 support file tree mode on windows 2021-04-08 21:33:17 +10:00
Jesse Duffield f89c47b83d add test for building tree 2021-04-08 21:33:17 +10:00
Jesse Duffield 44f1f22068 close commit message panel after returning from subprocess 2021-04-08 20:17:16 +10:00
Jesse Duffield a229547048 fix CI 2021-04-07 22:59:53 +10:00
Jesse Duffield 4f700c23ba fix crash on first open 2021-04-07 22:59:53 +10:00
Jesse Duffield cd1d1996df add 0.27 release notes 2021-04-06 19:34:32 +10:00
Jesse Duffield 963fcc1444 don't kill the index.lock file until I decide whether it's actually a good idea 2021-04-06 19:34:32 +10:00
Jesse Duffield c6825e3d0d skip some tests that are failing on CI for some reason 2021-04-06 19:34:32 +10:00
Jesse Duffield 20bdba15f6 amend reword test 2021-04-06 19:34:32 +10:00
Jesse Duffield e636857057 prevent adding staged files when renaming top commit 2021-04-06 19:34:32 +10:00
Jesse Duffield 8eb802d3a0 fix flicker issue in main view 2021-04-06 19:34:32 +10:00
Jesse Duffield 6fc031c523 hide patch panel if we're in the commits panel and we refresh and it's now exited 2021-04-06 19:34:32 +10:00
Jesse Duffield 8c93289a72 reduce chance of deadlock by using a RW mutex on the context stack 2021-04-06 19:34:32 +10:00
Jesse Duffield fb9b6314a0 ensure we're passing the right testing struct pointer around 2021-04-06 19:34:32 +10:00
Jesse Duffield 0719a3e36e stop checking out branches when doing a rename. Instead just move the cursor to the new position 2021-04-06 19:34:32 +10:00
Jesse Duffield d4f3b292e6 even slower retries for CI 2021-04-06 19:34:32 +10:00
Jesse Duffield fbab5bd444 do not refresh patch panel unless commit files panel is the current side panel 2021-04-06 19:34:32 +10:00
Jesse Duffield f4e552f982 prevent deadlocks.
Hard to choose between the lock with a defer unlock in an anonymous function
vs just having an explicit unlock at the end with additional unlocks before
any early returns. The former is less error prone, but the former is much more
readable, especially if the anonymous function would have needed to return
an error value.
2021-04-06 19:34:32 +10:00
Jesse Duffield 94d26d00ba move suggestions view behind confirmation view 2021-04-06 19:34:32 +10:00
Jesse Duffield ace4350319 update snapshots to include tags comparison 2021-04-06 19:34:32 +10:00
Jesse Duffield 4441cf1045 fix bug with tags panel 2021-04-06 19:34:32 +10:00
Jesse Duffield 5e094c8a7c marginally better logic for searching 2021-04-06 19:34:32 +10:00
Jesse Duffield c683f2c96c allow opening diff menu panel when other popup is open 2021-04-06 19:34:32 +10:00
Jesse Duffield e5a372fa2d allow opening filter menu panel when other popup is open 2021-04-06 19:34:32 +10:00
Jesse Duffield 02f45b679f do not double-append contexts to the stack 2021-04-06 19:34:32 +10:00
Jesse Duffield b1cda65dcf show error when user attempts to commit when no files are present 2021-04-06 19:34:32 +10:00
Jesse Duffield ccebe5e069 change language 2021-04-06 19:34:32 +10:00
Jesse Duffield b6ec667de0 add comment 2021-04-06 19:34:32 +10:00
Jesse Duffield 390b7ddc5e change order of filtering and patch building so that esc key exits patch building mode first 2021-04-06 19:34:32 +10:00
Jesse Duffield 27525f1d42 support passing extra command args in integration tests 2021-04-06 19:34:32 +10:00
Jesse Duffield 43a9dc48e0 default to not quitting when hitting esc at the top level.
I've been using this config option for years now so I don't think much of it,
but newcomers are going to find it annoying that hitting escape gets you out
of filtering/cherry-picking/patch-building mode, but also quits the app. So
if you want to exit all the modes you're in, you need to take care not to
press the key one too many times or the app will close.

We'll see if anybody gets mad about this change, but I think it's reasonable.
The only downside is that you won't be able to always quit by spamming the escape
key. If you're in a prompt panel, you'll need to hit escape to exit that, and
then 'q' at the top level. Or CTRL+C of course.
2021-04-06 19:34:32 +10:00
Jesse Duffield 440eb387d7 much cleaner integration test code 2021-04-06 19:34:32 +10:00
Jesse Duffield 28ffaf9348 tiny refactor 2021-04-06 19:34:32 +10:00
Jesse Duffield d7da6dde0e allow decimal replay speeds for integration tests 2021-04-06 19:34:32 +10:00
Jesse Duffield e000620cdf fix windows compilation issue 2021-04-06 19:34:32 +10:00
Jesse Duffield f09309485a remove time limit 2021-04-06 19:34:32 +10:00
Jesse Duffield e04e2ebab5 try better logging for CI 2021-04-06 19:34:32 +10:00
Jesse Duffield 91a107eb6f retry flakey tests 2021-04-06 19:34:32 +10:00
Jesse Duffield 5ce9e0193a add retry logic for running git commands to avoid index.lock problems 2021-04-06 19:34:32 +10:00
Jesse Duffield c33f8d2790 prevent git from prompting user if program is run directly 2021-04-06 19:34:32 +10:00
Jesse Duffield 8e9d08bc10 minor cleanup of integration code 2021-04-06 19:34:32 +10:00
Jesse Duffield 267da3b4db fix issue when switching repos while files refresh 2021-04-06 19:34:32 +10:00
Jesse Duffield 121b9d0715 update comment 2021-04-06 19:34:32 +10:00
Jesse Duffield fbb33b7abc remove code that I'm pretty sure isn't needed 2021-04-06 19:34:32 +10:00
Jesse Duffield 7178bab6b4 only re-use repo state when jumping in and out of submodules 2021-04-06 19:34:32 +10:00
Jesse Duffield 2d7452bfaa Revert "see how CI goes running these tests in parallel"
This reverts commit d271cbc138.
2021-04-06 19:34:32 +10:00
Jesse Duffield b0f3bfef27 see how CI goes running these tests in parallel 2021-04-06 19:34:32 +10:00
Jesse Duffield 7bc6dc5cf3 show branches context when starting in filtering mode 2021-04-06 19:34:32 +10:00
Jesse Duffield ee7b634dce how about using pty 2021-04-06 19:34:32 +10:00
Jesse Duffield b0bd752180 maybe this will fix CI 2021-04-06 19:34:32 +10:00
Jesse Duffield 4d14af5d4b more lint fixes 2021-04-06 19:34:32 +10:00
Jesse Duffield 7953e58c74 try this 2021-04-06 19:34:32 +10:00
Jesse Duffield 8301bba8ad make it more likely for CI to work 2021-04-06 19:34:32 +10:00
Jesse Duffield 843b8ceab0 support tcell simulation screen 2021-04-06 19:34:32 +10:00