손 없이 direnv 허용

2673 단어 neovimdirenv
온라인 기술 direnv , хранит переменные, которые нужны в конкретном проекте/каталоге, позволяет не грузить их прямо в .bashrc/.profile и не требует (почти) дополнительных телодвижений, чтобы переmenенные грузились.

«В смысле — почти?» А в том смысле, что когда мы отредактировали свой .envrc , он обязательно нам напомнит «파일 поmenнялся! Вы ему доверяете?» И всё бы хорошо, всё бы правильно, если редактировал файл кто-то другой, или пришёл он из другого репозитория, и мы понятия не имеем, что в нём лежит, ок. Но что делать, если мы сами часто редактируем этот делать и нас уже начинает задалбывать вежливое напоминание?

На этот самый случай я написal автокомаndу для neovim (я пользуюсь эtim редактором и мне вполне себе заходит):

-- 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 можно посмотреть здесь

좋은 웹페이지 즐겨찾기