feat: implete auto_close_window
This commit is contained in:
parent
c58e59edcf
commit
3902886ac0
@ -12,7 +12,7 @@ return {
|
|||||||
exchange = true,
|
exchange = true,
|
||||||
Trans_en = true,
|
Trans_en = true,
|
||||||
Trans_zh = true,
|
Trans_zh = true,
|
||||||
wrap = false,
|
wrap = true,
|
||||||
},
|
},
|
||||||
view = {
|
view = {
|
||||||
-- TODO: style: buffer | cursor | window
|
-- TODO: style: buffer | cursor | window
|
||||||
@ -25,7 +25,8 @@ return {
|
|||||||
star = '⭐',
|
star = '⭐',
|
||||||
isOxford = '✔',
|
isOxford = '✔',
|
||||||
notOxford = ''
|
notOxford = ''
|
||||||
}
|
},
|
||||||
|
auto_close = true,
|
||||||
-- TODO: async process
|
-- TODO: async process
|
||||||
-- async = false,
|
-- async = false,
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
-- local db = require('Trans').db
|
|
||||||
local dict = require("Trans").dict
|
local dict = require("Trans").dict
|
||||||
|
|
||||||
function M.query(arg)
|
function M.query(arg)
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
-- local conf = require("Trans").conf
|
-- local conf = require("Trans").conf
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
local display = require("Trans.conf").display
|
local display = require("Trans").conf.display
|
||||||
local icon = require("Trans.conf").icon
|
local icon = require("Trans").conf.icon
|
||||||
|
|
||||||
|
|
||||||
local buf = vim.api.nvim_create_buf(false, true)
|
local buf = vim.api.nvim_create_buf(false, true)
|
||||||
vim.api.nvim_buf_set_option(buf, 'filetype', 'Trans')
|
vim.api.nvim_buf_set_option(buf, 'filetype', 'Trans')
|
||||||
|
local win = 0
|
||||||
|
|
||||||
|
|
||||||
-- {
|
-- {
|
||||||
@ -25,7 +26,7 @@ vim.api.nvim_buf_set_option(buf, 'filetype', 'Trans')
|
|||||||
-- }
|
-- }
|
||||||
|
|
||||||
local function show_win(width, height)
|
local function show_win(width, height)
|
||||||
local win = vim.api.nvim_open_win(buf, false, {
|
win = vim.api.nvim_open_win(buf, false, {
|
||||||
relative = 'cursor',
|
relative = 'cursor',
|
||||||
title = 'Trans',
|
title = 'Trans',
|
||||||
title_pos = 'center',
|
title_pos = 'center',
|
||||||
@ -141,4 +142,11 @@ function M.toggle()
|
|||||||
-- TODO: wrap some function
|
-- TODO: wrap some function
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function M.close_win()
|
||||||
|
if win > 0 then
|
||||||
|
vim.api.nvim_win_close(win, true)
|
||||||
|
win = 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
@ -15,8 +15,5 @@ end
|
|||||||
|
|
||||||
M.db = require("sqlite.db")
|
M.db = require("sqlite.db")
|
||||||
M.dict = M.db:open(M.conf.db_path)
|
M.dict = M.db:open(M.conf.db_path)
|
||||||
M.query = require("Trans.display").query
|
|
||||||
M.query_cursor = require("Trans.display").query_cursor
|
|
||||||
|
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
local db = require("Trans").db
|
local db = require("Trans").db
|
||||||
-- local conf = require("Trans").conf
|
-- local conf = require("Trans").conf
|
||||||
|
|
||||||
local group = vim.api.nvim_create_augroup('closedb', { clear = true })
|
|
||||||
|
vim.api.nvim_create_user_command('TranslateCurosorWord', require("Trans.display").query_cursor, {})
|
||||||
|
|
||||||
|
|
||||||
|
local group = vim.api.nvim_create_augroup("Trans", { clear = true })
|
||||||
vim.api.nvim_create_autocmd('VimLeave', {
|
vim.api.nvim_create_autocmd('VimLeave', {
|
||||||
group = group,
|
group = group,
|
||||||
pattern = '*',
|
pattern = '*',
|
||||||
@ -11,8 +15,13 @@ vim.api.nvim_create_autocmd('VimLeave', {
|
|||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.api.nvim_create_user_command('TranslateCurosorWord', require("Trans").query_cursor, {})
|
|
||||||
|
|
||||||
-- TODO: set command to close preview window automatically
|
-- TODO: set command to close preview window automatically
|
||||||
|
local auto_close = require("Trans.conf").auto_close
|
||||||
|
if auto_close then
|
||||||
|
vim.api.nvim_create_autocmd(
|
||||||
|
{ 'InsertEnter', 'CursorMoved', 'BufLeave', }, {
|
||||||
|
group = group,
|
||||||
|
pattern = '*',
|
||||||
|
callback = require('Trans.display').close_win
|
||||||
|
})
|
||||||
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user