direnv: Allow disabling env integration entirely (#43764)
Relates to #35759, but maybe doesn't entirely fix it? I think it will improve the situation, at least. Also provides a workaround for the issue described in https://github.com/zed-industries/zed/issues/40094#issuecomment-3559808526 for users of WSL + `nix-direnv`. Rationale: there are cases where automatic direnv integration is not always desirable, but Zed currently has no way of opting out of this integration besides `direnv revoke` (which is often not desirable). This PR provides such an opt-out for users who run into problems with the existing direnv integration methods. Some reasons why disabling might be useful: - Security concerns about auto-loading `.envrc` (arguably, `direnv revoke` should cover this most of the time) - As in #35759, for users who use different shells/envs for interactive/non-interactive cases and want to manually control the environment Zed uses - As in #40094, to workaround OS limits on environment variable / command-line parameter size Release Notes: - Added the ability to disable direnv integration entirely
This commit is contained in:
@@ -584,10 +584,11 @@ Note: Dirty files (files with unsaved changes) will not be automatically closed
|
||||
|
||||
**Options**
|
||||
|
||||
There are two options to choose from:
|
||||
There are three options to choose from:
|
||||
|
||||
1. `shell_hook`: Use the shell hook to load direnv. This relies on direnv to activate upon entering the directory. Supports POSIX shells and fish.
|
||||
2. `direct`: Use `direnv export json` to load direnv. This will load direnv directly without relying on the shell hook and might cause some inconsistencies. This allows direnv to work with any shell.
|
||||
3. `disabled`: No shell environment will be loaded automatically; direnv must be invoked manually (e.g. with `direnv exec`) to be used.
|
||||
|
||||
## Double Click In Multibuffer
|
||||
|
||||
|
||||
Reference in New Issue
Block a user