docs: update readme and demo
This commit is contained in:
parent
6df43db326
commit
f5f135f794
2
.gitignore
vendored
2
.gitignore
vendored
@ -2,3 +2,5 @@ lua/Trans/util/
|
|||||||
lua/Trans/test/
|
lua/Trans/test/
|
||||||
note/
|
note/
|
||||||
go/
|
go/
|
||||||
|
demo.mp4
|
||||||
|
screenshot.gif
|
||||||
|
65
README.md
65
README.md
@ -21,6 +21,7 @@
|
|||||||
- 悬浮大小
|
- 悬浮大小
|
||||||
- 排版顺序
|
- 排版顺序
|
||||||
- 弹窗大小
|
- 弹窗大小
|
||||||
|
- `舒服窗口动画`
|
||||||
- etc (更多可以查看[配置](#配置))
|
- etc (更多可以查看[配置](#配置))
|
||||||
- **完全离线** 的单词翻译体验 (可能后面会支持在线翻译)
|
- **完全离线** 的单词翻译体验 (可能后面会支持在线翻译)
|
||||||
- 支持显示:
|
- 支持显示:
|
||||||
@ -37,7 +38,7 @@
|
|||||||
- 本地词库单词量: `430w`
|
- 本地词库单词量: `430w`
|
||||||
|
|
||||||
## 屏幕截图
|
## 屏幕截图
|
||||||

|
https://user-images.githubusercontent.com/107862700/213752097-2eee026a-ddee-4531-bf80-ba2cbc8b44ef.mp4
|
||||||
|
|
||||||
|
|
||||||
## 安装
|
## 安装
|
||||||
@ -46,6 +47,7 @@
|
|||||||
- sqlite.lua: 操作数据库所用的库
|
- sqlite.lua: 操作数据库所用的库
|
||||||
- sqlite3: 数据库
|
- sqlite3: 数据库
|
||||||
|
|
||||||
|
|
||||||
由于目前本人只使用 `Packer.nvim` 作为包管理插件, 所以这里以Packer为例:
|
由于目前本人只使用 `Packer.nvim` 作为包管理插件, 所以这里以Packer为例:
|
||||||
**考虑将以下代码复制到的Packer Startup中:**
|
**考虑将以下代码复制到的Packer Startup中:**
|
||||||
```lua
|
```lua
|
||||||
@ -54,9 +56,12 @@ use {
|
|||||||
run = 'bash ./install.sh',
|
run = 'bash ./install.sh',
|
||||||
requires = 'kharji/sqlite.lua',
|
requires = 'kharji/sqlite.lua',
|
||||||
-- 如果你不需要任何配置的话, 可以直接按照下面的方式启动
|
-- 如果你不需要任何配置的话, 可以直接按照下面的方式启动
|
||||||
config = require'Trans'.setup
|
config = function ()
|
||||||
|
require'Trans'.setup{
|
||||||
|
-- your configuration here
|
||||||
|
}
|
||||||
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
**如果你想要使用Packer的惰性加载,这里有一个例子**
|
**如果你想要使用Packer的惰性加载,这里有一个例子**
|
||||||
@ -103,23 +108,50 @@ use {
|
|||||||
```lua
|
```lua
|
||||||
require'Trans'.setup {
|
require'Trans'.setup {
|
||||||
view = {
|
view = {
|
||||||
input = 'float',
|
i = 'float',
|
||||||
n = 'hover',
|
n = 'hover',
|
||||||
v = 'hover',
|
v = 'hover',
|
||||||
},
|
},
|
||||||
window = {
|
|
||||||
border = 'rounded',
|
|
||||||
animation = true,
|
|
||||||
hover = {
|
hover = {
|
||||||
width = 36,
|
width = 36,
|
||||||
height = 26,
|
height = 26,
|
||||||
|
border = 'rounded',
|
||||||
|
title = {
|
||||||
|
{ '', 'TransTitleRound' },
|
||||||
|
{ ' Trans', 'TransTitle' },
|
||||||
|
{ '', 'TransTitleRound' },
|
||||||
|
},
|
||||||
|
keymap = {
|
||||||
|
-- TODO :
|
||||||
|
pageup = '[[',
|
||||||
|
pagedown = ']]',
|
||||||
|
pin = '_', -- 将窗口固定在右上角, 参考demo
|
||||||
|
close = '+',
|
||||||
|
},
|
||||||
|
animation = {
|
||||||
|
open = 'slid', -- 可选的样式: slid , fold
|
||||||
|
close = 'slid',
|
||||||
|
interval = 12, -- 动画的帧间隔
|
||||||
|
}
|
||||||
},
|
},
|
||||||
float = {
|
float = {
|
||||||
width = 0.8,
|
width = 0.8,
|
||||||
height = 0.8,
|
height = 0.8,
|
||||||
|
border = 'rounded',
|
||||||
|
title = {
|
||||||
|
{ '', 'TransTitleRound' },
|
||||||
|
{ ' Trans', 'TransTitle' },
|
||||||
|
{ '', 'TransTitleRound' },
|
||||||
},
|
},
|
||||||
|
keymap = {
|
||||||
|
quit = 'q',
|
||||||
|
},
|
||||||
|
animation = {
|
||||||
|
open = 'fold',
|
||||||
|
close = 'fold',
|
||||||
|
interval = 10,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
order = {
|
order = {
|
||||||
-- offline = {
|
-- offline = {
|
||||||
'title',
|
'title',
|
||||||
@ -134,29 +166,22 @@ require'Trans'.setup {
|
|||||||
-- },
|
-- },
|
||||||
},
|
},
|
||||||
icon = {
|
icon = {
|
||||||
title = ' ', --
|
|
||||||
star = '',
|
star = '',
|
||||||
-- notfound = ' ',
|
|
||||||
-- yes = ' ',
|
|
||||||
-- no = ' '
|
|
||||||
-- star = '⭐',
|
|
||||||
notfound = '❔',
|
notfound = '❔',
|
||||||
yes = '✔️',
|
yes = '✔️',
|
||||||
no = '❌'
|
no = '❌'
|
||||||
|
-- star = '⭐',
|
||||||
|
-- notfound = '',
|
||||||
|
-- yes = '',
|
||||||
|
-- no = ''
|
||||||
},
|
},
|
||||||
db_path = '$HOME/.vim/dict/ultimate.db',
|
db_path = '$HOME/.vim/dict/ultimate.db',
|
||||||
|
|
||||||
-- TODO :
|
-- TODO :
|
||||||
-- engine = {
|
-- engine = {
|
||||||
-- -- TODO
|
-- -- TODO
|
||||||
-- 'offline',
|
-- 'offline',
|
||||||
-- }
|
-- }
|
||||||
keymap = {
|
|
||||||
-- TODO : More action support
|
|
||||||
hover = {
|
|
||||||
pageup = '[[',
|
|
||||||
pagedown = ']]',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- history = {
|
-- history = {
|
||||||
-- -- TOOD
|
-- -- TOOD
|
||||||
-- }
|
-- }
|
||||||
|
@ -6,7 +6,6 @@ M.conf = {
|
|||||||
n = 'hover',
|
n = 'hover',
|
||||||
v = 'hover',
|
v = 'hover',
|
||||||
},
|
},
|
||||||
-- animation = true,
|
|
||||||
hover = {
|
hover = {
|
||||||
width = 36,
|
width = 36,
|
||||||
height = 26,
|
height = 26,
|
||||||
@ -24,6 +23,8 @@ M.conf = {
|
|||||||
close = '+',
|
close = '+',
|
||||||
},
|
},
|
||||||
animation = {
|
animation = {
|
||||||
|
-- open = 'fold',
|
||||||
|
-- close = 'fold',
|
||||||
open = 'slid',
|
open = 'slid',
|
||||||
close = 'slid',
|
close = 'slid',
|
||||||
interval = 12,
|
interval = 12,
|
||||||
@ -42,9 +43,9 @@ M.conf = {
|
|||||||
quit = 'q',
|
quit = 'q',
|
||||||
},
|
},
|
||||||
animation = {
|
animation = {
|
||||||
open = 'slid',
|
open = 'fold',
|
||||||
close = 'slid',
|
close = 'fold',
|
||||||
interval = 8,
|
interval = 10,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
order = {
|
order = {
|
||||||
@ -54,8 +55,6 @@ M.conf = {
|
|||||||
'pos',
|
'pos',
|
||||||
'exchange',
|
'exchange',
|
||||||
'translation',
|
'translation',
|
||||||
-- NOTE :如果你想限制某个组件的行数,可以设置max_size
|
|
||||||
-- { 'Definition', max_size = 4 },
|
|
||||||
'definition',
|
'definition',
|
||||||
-- },
|
-- },
|
||||||
-- online = {
|
-- online = {
|
||||||
|
@ -1,28 +1,44 @@
|
|||||||
-- local m_window
|
local m_window
|
||||||
-- local m_result
|
local m_result
|
||||||
--
|
|
||||||
--
|
local function set_title()
|
||||||
-- return function(word)
|
local title = m_window.title
|
||||||
-- -- TODO :online query
|
local github = 'https://github.com/JuanZoran/Trans.nvim'
|
||||||
-- m_result = require('Trans.query.offline')(word)
|
|
||||||
-- m_window = require('Trans.window')
|
-- TODO :config this
|
||||||
-- local float = require('Trans').conf.float
|
title:center_line(github, '@text.uri')
|
||||||
--
|
end
|
||||||
-- local opt = {
|
|
||||||
-- relative = 'editor',
|
local action = {
|
||||||
-- width = float.width,
|
quit = function ()
|
||||||
-- height = float.height,
|
m_window:try_close()
|
||||||
-- border = float.border,
|
end,
|
||||||
-- title = float.title,
|
}
|
||||||
-- row = math.floor((vim.o.lines - float.height) / 2),
|
|
||||||
-- col = math.floor((vim.o.columns - float.width) / 2),
|
|
||||||
-- }
|
return function(word)
|
||||||
--
|
-- TODO :online query
|
||||||
-- -- 创建窗口
|
local float = require('Trans').conf.float
|
||||||
-- m_window.init(true, opt)
|
m_result = require('Trans.query.offline')(word)
|
||||||
-- m_window.center('https:github.com/JuanZoran/Trans.nvim', '@text.uri') -- only show color with treesiter
|
|
||||||
-- m_window.draw()
|
local opt = {
|
||||||
-- m_window.map('q', function()
|
relative = 'editor',
|
||||||
-- m_window.try_close(float.animation)
|
width = float.width,
|
||||||
-- end)
|
height = float.height,
|
||||||
-- end
|
border = float.border,
|
||||||
|
title = float.title,
|
||||||
|
row = math.floor((vim.o.lines - float.height) / 2),
|
||||||
|
col = math.floor((vim.o.columns - float.width) / 2),
|
||||||
|
}
|
||||||
|
m_window = require('Trans.window')(true, opt)
|
||||||
|
m_window.animation = float.animation
|
||||||
|
|
||||||
|
set_title()
|
||||||
|
m_window:draw()
|
||||||
|
m_window:open()
|
||||||
|
m_window:bufset('bufhidden', 'wipe')
|
||||||
|
|
||||||
|
for act, key in pairs(float.keymap) do
|
||||||
|
m_window:map(key, action[act])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
@ -278,6 +278,7 @@ return function(entry, option)
|
|||||||
|
|
||||||
win:set('winhl', 'Normal:TransWin,FloatBorder:TransBorder')
|
win:set('winhl', 'Normal:TransWin,FloatBorder:TransBorder')
|
||||||
win:bufset('filetype', 'Trans')
|
win:bufset('filetype', 'Trans')
|
||||||
|
win:bufset('buftype', 'nofile')
|
||||||
|
|
||||||
---@diagnostic disable-next-line: return-type-mismatch
|
---@diagnostic disable-next-line: return-type-mismatch
|
||||||
return win
|
return win
|
||||||
|
BIN
screenshot.gif
BIN
screenshot.gif
Binary file not shown.
Before Width: | Height: | Size: 8.7 MiB |
Loading…
x
Reference in New Issue
Block a user