Giter Club home page Giter Club logo

Comments (8)

natecraddock avatar natecraddock commented on May 30, 2024

Hi! As you noticed, the default is opening a workspace changes the current directory for entire nvim process.

There is a config setting global_cd that you can set to false which should resolve this. Could you try that and let me know if it works?

I will look at the canceling telescope bug though

from workspaces.nvim.

winkee01 avatar winkee01 commented on May 30, 2024

I tried with global_cd = false but it still changes globally, here is a screen shot.

pwd.mp4

from workspaces.nvim.

natecraddock avatar natecraddock commented on May 30, 2024

From what I can see, you are using shortcuts mapped in telescope to open a split right? Here is what I think is happening

  • You start in the eslinter workspace
  • Running WorkspaceOpen to open the nvimtest workspace changes the current window to that new directory
  • then a hook opens telescope file picker
  • the file opened in a new split takes the directory from the first window

So a solution would involve opening a split in a new directory before the telescope file picker is run. At the moment I don't have any ideas, but I will keep thinking

from workspaces.nvim.

winkee01 avatar winkee01 commented on May 30, 2024

From what I can see, you are using shortcuts mapped in telescope to open a split right? Here is what I think is happening

  • You start in the eslinter workspace
  • Running WorkspaceOpen to open the nvimtest workspace changes the current window to that new directory
  • then a hook opens telescope file picker
  • the file opened in a new split takes the directory from the first window

So a solution would involve opening a split in a new directory before the telescope file picker is run. At the moment I don't have any ideas, but I will keep thinking

I use <c-v> to open in a split vertically when I select an item in telescope popup window. I think it's a default mapping, <c-x> to open horizontally, <c-v> to open vertically.

There are two projects involved and two splits involved, in the first window, I open a file from project1 (~/dev/web/eslinter/test1.js), then I use :WorkspaceOpen to open another file from project2 (~/dev/nvimtest/xxx.js) in a new split. The correct result should be, in split1, :pwd should print project1's root dir (which is ~/dev/web/eslinter), and in split2, :pwd should print project2's root dir (which is ~/dev/nvimtest). Unfortunately, they both print ~/dev/nvimtest, which is not desired.

from workspaces.nvim.

natecraddock avatar natecraddock commented on May 30, 2024

What you just described is exactly what I was trying to say 😂 I guess I wasn't very clear, sorry about that.

The issue remains though. This plugin changes the directory (with :lcd) before the telescope file picker opens, which means the :lcd takes place before the split. That's why both windows have the same directory.

I thought a little about this. There are two solutions I can think of

  1. Open a split and then run :WorkspaceOpen from that new window
  2. Make a new custom command (maybe :WorkspaceOpenVsp) that first makes a vertical split and then runs the workspace changing code.

Hopefully that all makes sense, do you have any more questions?

from workspaces.nvim.

winkee01 avatar winkee01 commented on May 30, 2024

my bad. How about perform the CWD change as a post hook of the telescope instead of runing before it. by that way, you can avoid those bugs?

from workspaces.nvim.

natecraddock avatar natecraddock commented on May 30, 2024

No worries! The problem with that idea is that the telescope prompt wouldn't open in the new directory, it would still show the files from the first workspace.

from workspaces.nvim.

natecraddock avatar natecraddock commented on May 30, 2024

Another bug is: if I cancel in telescope's popup window, cwd still changes, which is also not desired

This bug is due to the same root cause. The cwd occurs before the telescope find_files opens, so I can't undo that in this case.

I am going to close this issue, but please feel free to comment if you feel like there is more that needs to be discussed!

from workspaces.nvim.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.