Отличный инструмент direnv, хранит переменные, которые нужны в конкретном проекте/каталоге, позволяет не грузить их прямо в .bashrc/.profile и не требует (почти) дополнительных телодвижений, чтобы переменные грузились.
«В смысле — почти?» А в том смысле, что когда мы отредактировали свой .envrc, он обязательно нам напомнит «файл поменялся! Вы ему доверяете?» И всё бы хорошо, всё бы правильно, если редактировал файл кто-то другой, или пришёл он из другого репозитория, и мы понятия не имеем, что в нём лежит, ок. Но что делать, если мы сами часто редактируем этот файл и нас уже начинает задалбывать вежливое напоминание?
На этот самый случай я написал автокоманду для neovim (я пользуюсь этим редактором и мне вполне себе заходит):
-- autocmds/direnv.lua local au = require("kaineer.autocmd").au au("DirEnv", function(cmd) cmd("BufWritePost", { pattern = ".envrc", callback = function () -- Указываем вторым параметром direnv полный -- путь к текущему каталогу vim.cmd(":!direnv allow " .. vim.fn.expand("%:p:h")) end }) end) Обвязку kaineer.autocmd можно посмотреть здесь
Top comments (0)