A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/MunifTanjim/nui.nvim/wiki/nui.input below:

nui.input · MunifTanjim/nui.nvim Wiki · GitHub

local SecretInput = Input:extend("SecretInput")

function SecretInput:init(popup_options, options)
  assert(
    not options.conceal_char or vim.api.nvim_strwidth(options.conceal_char) == 1,
    "conceal_char must be a single char"
  )

  popup_options.win_options = vim.tbl_deep_extend("force", popup_options.win_options or {}, {
    conceallevel = 2,
    concealcursor = "nvi",
  })

  SecretInput.super.init(self, popup_options, options)

  self._.conceal_char = type(options.conceal_char) == "nil" and "*" or options.conceal_char
end

function SecretInput:mount()
  SecretInput.super.mount(self)

  local conceal_char = self._.conceal_char
  local prompt_length = vim.api.nvim_strwidth(vim.fn.prompt_getprompt(self.bufnr))

  vim.api.nvim_buf_call(self.bufnr, function()
    vim.cmd(string.format(
      [[
        syn region SecretValue start=/^/ms=s+%s end=/$/ contains=SecretChar
        syn match SecretChar /./ contained conceal %s
      ]],
      prompt_length,
      conceal_char and "cchar=" .. (conceal_char or "*") or ""
    ))
  end)
end
-- conceal secret characters with `*`
local input = SecretInput(popup_options, options)

-- conceal secret characters with `x`
local input = SecretInput(popup_options, {
  conceal_char = "x",
  -- other input options
})

-- completely hide secret characters
local input = SecretInput(popup_options, {
  conceal_char = false,
  -- other input options
})

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4