1
0

pre zsh-switch backup

This commit is contained in:
2024-12-13 17:13:32 +01:00
parent 6790f75c8a
commit d0db80b911
16 changed files with 423 additions and 105 deletions

View File

@@ -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