Commit Graph

118 Commits

Author SHA1 Message Date
Mr. Pine
0a5fdb99ce fix: Command injection and errors when repo name contains spaces (#153)
Currently, at least `:LazyGitCurrentFile` doesn't handle paths with
spaces correctly as they aren't escaped (if your current path is a valid
shell script, this can also lead to code execution)
This PR changes the lazygit commands from strings to lists to avoid this
problem

Co-authored-by: Dheepak Krishnamurthy <1813121+kdheepak@users.noreply.github.com>
2025-07-19 10:06:52 -04:00
Dheepak Krishnamurthy
ab3de030df fix: Support both table or string 2025-07-19 10:04:54 -04:00
luca-sartore-prorob
0cb05f46bf fix: update deprecated vim api usage (#155)
replace `termopen` (deprecated according to [the
docs](https://neovim.io/doc/user/deprecated.html#deprecated-0.11)) with `jobstart`
2025-07-19 10:01:11 -04:00
Carlos Calla Alarcón
4839ab6429 update deprecated vim api usage (#152)
The `vim.loop` prop is deprecated and will be removed at Nvim 1.0. This
PR adds support for the new `vim.uv` prop instead but keeps backward
compatibility with previous versions of Nvim.
2025-06-13 09:54:25 -04:00
Teddy Waweru
b9eae3bada fix: signcolumn overlaps left borders (#132)
signcolumns hide the left borders(for configs that have the signcolumn
opt active. Requires to be set twice(this may be a personal config
scenario). The first sets for the floating window created, the second
for lazygit's UI.
2025-02-17 13:36:36 -05:00
Rich
0a3a4c5e52 feat: Allow current buffer commits to show on the already worked out Git root (#148)
We have already worked out the "git root" for the current buffer, we did
this to work out the relative path. We might as well use this
information when calling `lazygitfilter`.

This now allows `lazygitfiltercurrentfile` to work, whether your actual
cwd is a git repository ('normal' workflow) or a project folder
containing many repositories (another workflow many vim users follow).

It looks like LSP did an autoformat on the file also, I can revert those
two lines if required.
2025-02-17 13:34:07 -05:00
Dheepak Krishnamurthy
adc37c5a6d feat: Add lazygitlog 2025-02-03 12:27:04 -05:00
luca-sartore-prorob
77a0d42943 fix: explicitly use cmd on windows to avoid problem using powershell (#145)
If a user is on windows, and is using powershell as the default nvim
shell the command at [line 69 of
utils.lua](https://github.com/lucaSartore/lazygit.nvim/blob/main/lua/lazygit/utils.lua#L67C2-L67C130)
won’t work due to the `&&` operator.
> local cmd = string.format('cd "%s" && git rev-parse --show-toplevel',
fn.fnamemodify(fn.resolve(fn.expand('%:p')), ':h'), root)

I fixed this by forcing the use of cmd.
2024-12-12 08:06:41 -05:00
luca-sartore-prorob
02a7a2789f feat: Add option for user's on exit callback (#144)
## Motivation:

If I close LazyGit after having done some changes (Commit
something/change branch…) I often run into some minor inconsistency with
the UI on screen, that does not get updated to reflect the changes.
In particular the issue I’m having is with the color of the files inside
the [neo-tree](https://github.com/nvim-neo-tree/neo-tree.nvim) view. I
understand this is a really insignificant issue, but I still would like
to fix it.

## Proposed solution:

I have added an option that allow an user of the plugin to add a
callback that is automatically executed after exiting LazyGit, so that I
can put there the necessary code to refresh my UI
2024-12-06 14:14:54 -05:00
Diego Vélez
cc07dc1599 feat: use git-dir and work-tree from environment (#142)
Passes `work-tree` and `git-dir` arguments for Lazygit.

This is very useful when using a bare git repo, so that Lazygit can still be used to manage the repo.
2024-12-04 11:44:05 -05:00
Hassan El-Mehalawi
bd36b40814 fix: use quotes to allow filtering on files with spaces in path (#141)
:LazyGitFilterCurrentFile currently breaks if the path of the file
contains a space. Fixed by wrapping the path in quotes.
2024-10-01 07:36:39 -04:00
akan
dc56df433b Get the path of current file relative to the git root 2024-07-08 18:59:56 -04:00
Ethan Warrick
1e08e3f5ac feat: Use winblend config for plenary window
There is an existing user config for setting the winblend value of the
lazygit floating window. This controls the background transparency of
the window. However, this config option is not respected if the lazygit
window is created using plenary (another user config). This change
forces the plenary window to use the existing config for transparency.
2023-12-15 00:18:17 -05:00
Srivatsan Ramaswamy
de35012036 feat: Add support for multiple lazygit config files
Lazygit supports using multiple config files: https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md?plain=1#L346

This commit adds code to parse vim.g.lazygit_config_file_path as a `string | table`,
then passes the files to `lazygit` via the `-ucf` flag
2023-09-26 00:30:26 -04:00
Roger Kim
75c920883f fix: Cover missing edge case in resetting user's preferred shell 2023-09-05 18:46:07 -04:00
Dheepak Krishnamurthy
18060f9841 Merge pull request #103 from gmerzu/fix2
fix: open_floating_window should return lazygit buffer instead of border_window
2023-09-02 16:01:31 -04:00
Anton Kozhemyachenko
a9382f03c7 fix: open_floating_window should return lazygit buffer instead of border_window 2023-08-03 21:29:54 +03:00
Anton Kozhemyachenko
3d7878cad9 fix: plenary.percentage_range_window returns 'win_id' and 'bufnr' 2023-08-03 18:58:37 +03:00
Tashreeq Peck
b4a4c6d26b fix: store win and buffer for :LazyGitFilter command 2023-07-15 17:39:21 +08:00
Dheepak Krishnamurthy
e90f0ee657 feat: Change option to lazygit_floating_window_border_chars 2023-05-20 17:30:30 -04:00
yorik1984
6f5174ff60 Add LazyGit highlighting groups and new border
Add `LazyGitBorder` and `LazyGitFloat` highlighting groups using nvim(>=0.7.2) function  `vim.api.nvim_set_hl`. 
Add full list of window border for useful customize.
2023-01-11 01:17:54 +02:00
aabccd021
3d3ad785d1 fix: Fix broken background color on NVIM v0.8.0 2022-11-05 17:04:52 +07:00
Dheepak Krishnamurthy
56045b4a0d feat: change custom config file logic 2022-11-02 08:34:49 -04:00
Dheepak Krishnamurthy
2fd5b526e2 fix: escape spacing 🐛 2022-11-02 08:30:43 -04:00
Dheepak Krishnamurthy
e2b1e4c231 fix: Change default lazygit config directory 🐛 2022-11-02 08:27:28 -04:00
Chaz
914816035f fix(lazygit.lua): escape 'space' in filepath 2022-11-02 00:18:07 -10:00
Dheepak Krishnamurthy
e2be2a90b0 Merge pull request #71 from thefux/master
#69 add custom config file support
2022-11-01 18:06:51 -04:00
Dheepak Krishnamurthy
c7a8bfb606 Merge pull request #72 from thefux/bug/60-fix-lazygit-telescope-extension
Bug/60 fix lazygit telescope extension
2022-10-25 16:56:55 -04:00
cnrrobertson
37a4ab0a6e Add LazyGitCurrentFile command to open floating LazyGit window at project root of current file 2022-10-25 16:16:48 -04:00
cnrrobertson
bed8d6df13 parametrize get_root to be used in different directories 2022-10-25 16:15:50 -04:00
thefux
42ae4e44e7 #60 fix extension 2022-09-06 15:35:28 +02:00
thefux
061256662c #60 small refactoring: update teardown cleanup process 2022-09-06 15:34:26 +02:00
thefux
2c7621e4f9 #69 add custom config file support 2022-09-04 20:10:37 +02:00
ecosse3
ad5ea9ebeb feat: add LazyGitFilterCurrentFile command 2022-06-10 18:40:52 +02:00
TheBlob42
8967fb8599 feat: return to the previous window on exit
Save the window from which the LazyGit command was executed and return
to it on exit, so in case of multiple splits the user does not have to
navigate back manually

blub
2022-05-10 08:41:24 +02:00
Dheepak Krishnamurthy
7ea7390d5d docs: Update README.md 2022-03-06 13:42:56 -07:00
thefux
da9bafc2f0 clean up and add some ducumentation 2022-03-06 15:05:18 +01:00
thefux
b419f3e8d1 small refactoring 2022-03-06 11:18:41 +01:00
Sébastien
ba2645c728 add vim checktime cmd to refresh buffers on lazygit exit 2022-03-06 00:46:01 -04:00
thefux
eb880dcd4d update current working dir manually after selecting a repo 2022-03-01 21:37:45 +01:00
thefux
cd54911788 update plugin 2022-02-22 22:23:50 +01:00
thefux
09d1598182 add fix 2022-02-21 20:38:39 +01:00
thefux
5e121d88da clean up 2022-02-21 20:27:36 +01:00
thefux
4b3f42514b update telescope plugin 2022-02-20 20:54:47 +01:00
thefux
7a41db2131 add telescope extension ^& small refactoring (still not done) 2022-02-11 22:16:12 +01:00
Dheepak Krishnamurthy
2ee9f4d0fc Merge pull request #51 from TheBlob42/master
fix: improve git commit message via nvr
2022-01-15 02:08:23 -07:00
Dheepak Krishnamurthy
56e71f5cda Merge pull request #49 from Avimitin/fix-submodule
refactor: delete the wrong and useless path check
2022-01-15 02:06:18 -07:00
tobias.voelzel
4c33a74098 fix: improve git commit message via nvr
Switch to the BufUnload event for reopening LazyGit window, so that the
user can switch windows before submitting his commit message.
2022-01-14 08:24:50 +01:00
Avimitin
4495d351ed refactor: update the config file path
The config file path had been updated in
03b9db5e0a

Signed-off-by: Avimitin <avimitin@gmail.com>
2022-01-04 16:52:25 +08:00
Avimitin
133ed492da refactor: delete the wrong and useless path check
The file path check is incorrect. It gives the main repository path to
lazygit, not the submodule path. Lazygit itself can do well for the
path-checking job, so just let lazygit deal with it.

Symlink check functionality is kept.

Signed-off-by: Avimitin <avimitin@gmail.com>
2022-01-04 15:46:44 +08:00