ahmedkhalf / project.nvim

The superior project management solution for neovim.
Apache License 2.0
1.29k stars 119 forks source link

feat(exclude-from-chdir) Add exclude_chdir #131

Open Zeioth opened 11 months ago

Zeioth commented 11 months ago

New options added

-- Don't chdir for certain buffers
exclude_chdir = {
  filetype = {"", "OverseerList", "alpha"},
  buftype = {"nofile", "terminal"},
},

This allow users to exclude certain plugins from triggering chdir.

Example case of use

I like to use manual_mode = false to auto chdir. But I don't want it to auto chdir to ~/ when opening compiler.nvim / Overseer.

towry commented 8 months ago

I think the best solution would be adding a vim.b[0].project_nvim_disable flag so we don't have to iterate those list.

and you can set vim.b[0].project_nvim_disable in your own autocmds.

I added those flag in my fork and use it to prevent session plugins from reading the buffer in wrong cwd and it works well.

collinvandyck commented 1 month ago

Thanks for creating this PR. I think this change will probably fix the issue I'm seeing in https://github.com/ahmedkhalf/project.nvim/issues/156. I thought it was a but in project.nvim but after reading the code I was confused why it would try to change the CWD multiple times, but being triggered by other kinds of buffers seems the most likely explanation.

Zeioth commented 1 month ago

@collinvandyck You can use the main branch of my fork to get the feature (compatible with nvim 0.10 and upper).

collinvandyck commented 1 month ago

thanks @Zeioth ! i'm still on 0.9.5 but plan on upgrading soon and I will try that out, much appreciated.