aboutsummaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/encrypt/helpers.lua19
1 files changed, 12 insertions, 7 deletions
diff --git a/lua/encrypt/helpers.lua b/lua/encrypt/helpers.lua
index 37a96b3..ff8baef 100644
--- a/lua/encrypt/helpers.lua
+++ b/lua/encrypt/helpers.lua
@@ -1,13 +1,18 @@
----@return string
-local function getPassword()
- local password = vim.b["password"]
- if password == nil then
- password = vim.fn.inputsecret("Enter password: ")
- vim.b["password"] = password
+---@return function string
+local getPasswordFactory = function()
+ local bufferPasswordMap = {}
+
+ return function()
+ local key = string.format("%s", vim.fn.bufnr())
+ if bufferPasswordMap[key] == nil then
+ password = vim.fn.inputsecret("Enter password: ")
+ bufferPasswordMap[key] = password
+ end
+ return bufferPasswordMap[key]
end
- return password
end
+local getPassword = getPasswordFactory()
local ENCRYPTED_PREFIX = "# <<<encrypted>>>"
return { getPassword = getPassword, ENCRYPTED_PREFIX = ENCRYPTED_PREFIX }