diff --git a/.luarc.json b/.luarc.json deleted file mode 100644 index 1e1765c..0000000 --- a/.luarc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "diagnostics.globals": [ - "vim" - ] -} \ No newline at end of file diff --git a/README.md b/README.md index aa25271..71ce895 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,15 @@ # direnv.nvim -[Direnv]: https://direnv.net/ +[direnv]: https://direnv.net/ -Dead simple Neovim plugin to add automatic [Direnv] environment loading, -inspired by `direnv.vim` and written in Lua for better performance and -maintainability. +Dead simple Neovim plugin to add automatic Direnv loading, inspired by +`direnv.vim` and written in Lua for better performance and maintainability. ## ✨ Features -- Seamless integration with Direnv for managing project environment variables +- Seamless integration with direnv for managing project environment variables - Automatic detection of `.envrc` files in your workspace - Proper handling of allowed, pending, and denied states - - Keybinds for various Direnv commands - Built-in `.envrc` editor with file creation wizard - Statusline component showing real-time direnv status - Event hooks for integration with other plugins @@ -36,7 +34,7 @@ You will need to call the setup function to load the plugin. ### Prerequisites - Neovim 0.8.0 or higher -- [Direnv] v2.33.0 or later installed and available in your `PATH` +- [direnv] v2.33.0 or later installed and available in your PATH ### Using lazy.nvim @@ -51,7 +49,7 @@ You will need to call the setup function to load the plugin. ## 🚀 Usage -direnv.nvim will manage your `.envrc` files in Neovim by providing commands to +direnv.nvim will manage your .envrc files in Neovim by providing commands to allow, deny, reload and edit them. When auto-loading is enabled, the plugin will automatically detect and prompt for allowing `.envrc` files in your current directory. @@ -137,7 +135,7 @@ The statusline function will show: ## 🔍 API Reference -### Public Functions +**Public Functions** - `direnv.setup(config)` - Initialize the plugin with optional configuration - `direnv.allow_direnv()` - Allow the current directory's `.envrc` file @@ -146,7 +144,7 @@ The statusline function will show: - `direnv.edit_envrc()` - Edit the `.envrc` file - `direnv.statusline()` - Get a string for statusline integration -#### Example +### Example ```lua local direnv = require("direnv") @@ -167,7 +165,7 @@ vim.keymap.set('n', 'er', function() end, { desc = "Reload direnv" }) ``` -#### Events +### Events The plugin triggers a User autocmd event that you can hook into: @@ -192,10 +190,5 @@ work. ## 📜 License - - -direnv.nvim is made available under Mozilla Public License (MPL) version 2.0. -See [LICENSE](LICENSE) for more details on the exact conditions. An online copy -is provided [here](https://www.mozilla.org/en-US/MPL/2.0/). - - +direnv.nvim is licensed under the [MPL v2.0](./LICENSE). Please see the license +file for more details. diff --git a/lua/direnv.lua b/lua/direnv.lua index 12fc214..927932b 100644 --- a/lua/direnv.lua +++ b/lua/direnv.lua @@ -237,18 +237,7 @@ M._init = function(path) end vim.schedule(function() - local stdout = obj.stdout or "" - - if stdout == "" then - -- direnv exported no changes; nothing to do - notify( - "direnv export produced no output (no changes)", - vim.log.levels.DEBUG - ) - return - end - - local ok, env = pcall(vim.json.decode, stdout) + local ok, env = pcall(vim.json.decode, obj.stdout) if not ok or type(env) ~= "table" then notify("Failed to parse direnv JSON output", vim.log.levels.ERROR)