pre zsh-switch backup
This commit is contained in:
@@ -1,53 +1,69 @@
|
||||
function Ask(msg)
|
||||
vim.cmd.echohl('Question')
|
||||
vim.cmd.echo('"' .. msg .. '"')
|
||||
vim.cmd.echohl()
|
||||
end
|
||||
local M = {}
|
||||
|
||||
function Confirm(msg)
|
||||
Ask(msg .. ' [Y/n] ')
|
||||
return M
|
||||
|
||||
local answer = vim.fn.getchar()
|
||||
return answer ~= 110 and answer ~= 27 and answer ~= 37 -- 'n', <ESC>, <SPACE>
|
||||
end
|
||||
|
||||
function Input(prompt, last)
|
||||
local buffer = ''
|
||||
while true do
|
||||
vim.cmd('redraw | echo')
|
||||
vim.api.nvim_echo({
|
||||
{ prompt, 'Question' },
|
||||
last and { last, 'Visual' } or { buffer, 'Normal' },
|
||||
}, false, {})
|
||||
|
||||
local character = vim.fn.getchar()
|
||||
if pcall(function(char)
|
||||
if vim.fn.keytrans(char) ~= '<BS>' then
|
||||
error()
|
||||
end
|
||||
end, character) then
|
||||
last = nil
|
||||
buffer = vim.fn.slice(buffer, 0, -1)
|
||||
elseif character == 27 then
|
||||
vim.cmd('redraw | echo')
|
||||
return nil
|
||||
elseif character == 13 then
|
||||
return last or buffer
|
||||
elseif
|
||||
(character == 32 or pcall(function(char)
|
||||
if vim.fn.keytrans(char) ~= '<Right>' then
|
||||
error()
|
||||
end
|
||||
end, character)) and last
|
||||
then
|
||||
buffer = last
|
||||
if character == 32 then
|
||||
buffer = buffer .. ' '
|
||||
end
|
||||
last = nil
|
||||
else
|
||||
last = nil
|
||||
buffer = buffer .. vim.fn.nr2char(character)
|
||||
end
|
||||
end
|
||||
end
|
||||
-- function Ask(msg)
|
||||
-- vim.cmd.echohl('Question')
|
||||
-- vim.cmd.echo('"' .. msg .. '"')
|
||||
-- vim.cmd.echohl()
|
||||
-- end
|
||||
--
|
||||
-- function Confirm(msg)
|
||||
-- Ask(msg .. ' [Y/n] ')
|
||||
--
|
||||
-- local answer = vim.fn.getchar()
|
||||
-- return answer ~= 110 and answer ~= 27 and answer ~= 37 -- 'n', <ESC>, <SPACE>
|
||||
-- end
|
||||
--
|
||||
-- function Input(prompt, last)
|
||||
-- local buffer = ''
|
||||
-- while true do
|
||||
-- vim.cmd('redraw | echo')
|
||||
-- vim.api.nvim_echo({
|
||||
-- { prompt, 'Question' },
|
||||
-- last and { last, 'Visual' } or { buffer, 'Normal' },
|
||||
-- }, false, {})
|
||||
--
|
||||
-- local character = vim.fn.getchar()
|
||||
-- if pcall(function(char)
|
||||
-- if vim.fn.keytrans(char) ~= '<BS>' then
|
||||
-- error()
|
||||
-- end
|
||||
-- end, character) then
|
||||
-- last = nil
|
||||
-- buffer = vim.fn.slice(buffer, 0, -1)
|
||||
-- elseif character == 27 then
|
||||
-- vim.cmd('redraw | echo')
|
||||
-- return nil
|
||||
-- elseif character == 13 then
|
||||
-- return last or buffer
|
||||
-- elseif
|
||||
-- (character == 32 or pcall(function(char)
|
||||
-- if vim.fn.keytrans(char) ~= '<Right>' then
|
||||
-- error()
|
||||
-- end
|
||||
-- end, character)) and last
|
||||
-- then
|
||||
-- buffer = last
|
||||
-- if character == 32 then
|
||||
-- buffer = buffer .. ' '
|
||||
-- end
|
||||
-- last = nil
|
||||
-- else
|
||||
-- last = nil
|
||||
-- buffer = buffer .. vim.fn.nr2char(character)
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
--
|
||||
-- vim.ui.input = function(opts, after)
|
||||
-- local prompt = (opts.prompt or 'Enter input') .. ' > '
|
||||
-- if prompt == 'Compile command: ' then
|
||||
-- prompt = 'Enter command'
|
||||
-- end
|
||||
-- local last = opts.default or ''
|
||||
--
|
||||
-- return (after or function(x)
|
||||
-- print('Unhandled data: ' .. x)
|
||||
-- end)(Input(prompt, last))
|
||||
-- end
|
||||
|
||||
Reference in New Issue
Block a user