chore: modify .gitignore file
This commit is contained in:
parent
e6b02ba5ce
commit
94c4658262
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,4 @@
|
||||
lua/Trans/util/
|
||||
lua/Trans/core/
|
||||
note/
|
||||
go/
|
||||
|
@ -1,50 +0,0 @@
|
||||
package query_youcao
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
youdao = "https://openapi.youdao.com/api"
|
||||
appKey = "1858465a8708c121"
|
||||
appPasswd = "fG0sitfk16nJOlIlycnLPYZn1optxUxL"
|
||||
)
|
||||
|
||||
type data struct {
|
||||
q string
|
||||
from string
|
||||
to string
|
||||
// appKey string
|
||||
salt string
|
||||
sign string
|
||||
signType string
|
||||
curtime string
|
||||
}
|
||||
|
||||
|
||||
func input(word string) string {
|
||||
var input string
|
||||
len := len(word)
|
||||
if len > 20 {
|
||||
input = word[:10] + string(rune(len)) + word[len-10:]
|
||||
} else {
|
||||
input = word
|
||||
}
|
||||
return input
|
||||
}
|
||||
|
||||
func salt(_ string) string {
|
||||
// TODO : hash salt
|
||||
var salt string
|
||||
|
||||
return salt
|
||||
}
|
||||
|
||||
func to_value(d data) url.Values {
|
||||
// return value
|
||||
}
|
||||
|
||||
func Query(word string) {
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
if [[ -d "$HOME/.vim" ]]; then
|
||||
|
132
note/api.md
132
note/api.md
@ -1,132 +0,0 @@
|
||||
# API说明
|
||||
|
||||
<!--toc:start-->
|
||||
- [API说明](#api说明)
|
||||
- [数据结构](#数据结构)
|
||||
- [翻译](#翻译)
|
||||
- [窗口](#窗口)
|
||||
- [翻译结果](#翻译结果)
|
||||
- [内容单位](#内容单位)
|
||||
- [窗口绘制逻辑](#窗口绘制逻辑)
|
||||
- [hover](#hover)
|
||||
- [float](#float)
|
||||
<!--toc:end-->
|
||||
|
||||
## 数据结构
|
||||
|
||||
### 翻译
|
||||
- `word`
|
||||
待翻译的字符串: string
|
||||
- `sentence`
|
||||
是否为句子: boolean
|
||||
- `result`
|
||||
翻译查询的结果: table
|
||||
> 见: [翻译结果](#翻译结果)
|
||||
- `engine`
|
||||
|
||||
### 窗口
|
||||
- `style`
|
||||
风格: string
|
||||
- `height`
|
||||
高度: integer
|
||||
- `width`
|
||||
宽度: integer
|
||||
- `border`
|
||||
边框样式: string
|
||||
- `winhl`
|
||||
窗口的高亮: string
|
||||
|
||||
### 翻译结果
|
||||
**无特殊说明, 所有字段均为`string`类型**
|
||||
|
||||
- `word`
|
||||
查询的字符串
|
||||
- `phonetic`
|
||||
音标
|
||||
- `collins`
|
||||
柯林斯星级: integer
|
||||
- `oxford`
|
||||
是否为牛津词汇: integer (1为是)
|
||||
- `tag`
|
||||
标签
|
||||
- `pos`
|
||||
词性
|
||||
- `exchange`
|
||||
词态变化
|
||||
- `translation`
|
||||
中文翻译
|
||||
- `definition`
|
||||
英文注释
|
||||
|
||||
|
||||
### 内容单位
|
||||
- `field` 字段
|
||||
> 是展示的最小单位
|
||||
|
||||
**属性**
|
||||
- `1`
|
||||
存储的文本: string
|
||||
- `2` (optional)
|
||||
对应的高亮: string
|
||||
- `_start`
|
||||
起始行: integer
|
||||
- `_end`
|
||||
结束行: integer
|
||||
> **注意:** `_start` 和`_end` 字段只有已经被展示到窗口后才会被设置
|
||||
|
||||
**方法**
|
||||
- 无
|
||||
|
||||
- `line` 行
|
||||
> 窗口展示的每一行, 一个行有多个`field`
|
||||
|
||||
**属性**
|
||||
- `text`
|
||||
当前保存的字符串: string
|
||||
- `hls`
|
||||
行内的高亮: table
|
||||
- `index`
|
||||
行号[0为起始下标]
|
||||
- `fields`
|
||||
行内保存的`field`
|
||||
- `status`
|
||||
行内是否需要更新: boolean
|
||||
> **注意:** `num` 只有已经被展示到窗口后才会被设置
|
||||
|
||||
**方法**
|
||||
- `update`
|
||||
更新`text`和`hls`
|
||||
- `data`
|
||||
获取行的text
|
||||
- `insert`
|
||||
添加新`field`
|
||||
- `add_highlight`
|
||||
添加高亮
|
||||
> 参数: bufnr
|
||||
|
||||
- `content` 内容
|
||||
> 窗口展示的单位, 一个内容内有多个`line`
|
||||
|
||||
**方法**
|
||||
- `data`
|
||||
返回lines和highlights
|
||||
- `insert`
|
||||
插入新的行
|
||||
- `attach`
|
||||
将内容展示到buffer
|
||||
> 参数: bufnr
|
||||
|
||||
# 窗口绘制逻辑
|
||||
|
||||
- 获取所有组件
|
||||
## hover
|
||||
- 按照order顺序加载
|
||||
- 按组件间距为4计算组件个数能否在一行以内放下
|
||||
- 放不下则按照组件间距为4 计算组件个数并对齐
|
||||
- 放得下则重新计算组间距
|
||||
|
||||
获得组件行内容, 设置到行内
|
||||
获取组件高亮, 设置高亮
|
||||
|
||||
## float
|
||||
由定义好的逻辑,绘制整个窗口
|
129
note/engine.md
129
note/engine.md
@ -1,129 +0,0 @@
|
||||
# 字段说明
|
||||
|
||||
<!--toc:start-->
|
||||
- [字段说明](#字段说明)
|
||||
- [本地](#本地)
|
||||
- [有道](#有道)
|
||||
- [中英](#中英)
|
||||
- [百度](#百度)
|
||||
- [返回结果](#返回结果)
|
||||
- [彩云小译](#彩云小译)
|
||||
- [必应](#必应)
|
||||
- [腾讯翻译君](#腾讯翻译君)
|
||||
- [阿里翻译](#阿里翻译)
|
||||
- [火山翻译](#火山翻译)
|
||||
- [金山词霸](#金山词霸)
|
||||
<!--toc:end-->
|
||||
|
||||
## 本地
|
||||
- `word`
|
||||
查询的字符串
|
||||
- `phonetic`
|
||||
音标
|
||||
- `collins`
|
||||
柯林斯星级: integer
|
||||
- `oxford`
|
||||
是否为牛津词汇: integer (1为是)
|
||||
- `tag`
|
||||
标签
|
||||
- `pos`
|
||||
词性
|
||||
- `exchange`
|
||||
词态变化
|
||||
- `translation`
|
||||
中文翻译
|
||||
- `definition`
|
||||
英文注释
|
||||
|
||||
## 有道
|
||||
### 中英
|
||||
|
||||
basic JSONObject 简明释义
|
||||
phonetic text 词典音标
|
||||
usPhonetic text 美式音标
|
||||
ukPhonetic text 英式音标
|
||||
ukSpeech text 英式发音
|
||||
usSpeech text 美式发音
|
||||
explains text 基本释义
|
||||
text text 短语
|
||||
explain String Array 词义解释列表
|
||||
wordFormats Object Array 单词形式变化列表
|
||||
name String 形式名称,例如:复数
|
||||
web JSONArray 网络释义
|
||||
phrase String 词组
|
||||
meaning String 含义
|
||||
synonyms JSONObject 近义词
|
||||
pos String 词性
|
||||
words String Array 近义词列表
|
||||
trans String 释义
|
||||
antonyms ObjectArray 反义词
|
||||
relatedWords JSONArray 相关词
|
||||
wordNet JSONObject 汉语词典网络释义
|
||||
phonetic String 发音
|
||||
meanings ObjectArray 释义
|
||||
meaning String 释义
|
||||
example array 示例
|
||||
dict String 词典deeplink
|
||||
webDict String 词典网页deeplink
|
||||
sentenceSample text 例句
|
||||
sentence text 例句
|
||||
sentenceBold text 将查询内容加粗的例句
|
||||
translation text 例句翻译
|
||||
wfs text 单词形式变化
|
||||
exam_type text 考试类型
|
||||
|
||||
## 百度
|
||||
from string 源语言 返回用户指定的语言,或者自动检测出的语种(源语言设为auto时)
|
||||
to string 目标语言 返回用户指定的目标语言
|
||||
trans_result array 翻译结果 返回翻译结果,包括src和dst字段
|
||||
trans_result.*.src string 原文 接入举例中的“apple”
|
||||
trans_result.*dst string 译文 接入举例中的“苹果”
|
||||
error_code integer 错误码 仅当出现错误时显示
|
||||
以下字段仅开通了词典、tts用户可见
|
||||
src_tts string 原文tts链接 mp3格式,暂时无法指定发音
|
||||
dst_tts string 译文tts链接 mp3格式,暂时无法指定发音
|
||||
dict string 中英词典资源 返回中文或英文词典资源,包含音标;简明释义等内容
|
||||
|
||||
### 返回结果
|
||||
- 英-> 中
|
||||
```json
|
||||
{
|
||||
"from": "en",
|
||||
"to": "zh",
|
||||
"trans_result": [
|
||||
{
|
||||
"src": "apple",
|
||||
"dst": "苹果"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
- 中->英
|
||||
```json
|
||||
{
|
||||
"from": "zh",
|
||||
"to": "en",
|
||||
"trans_result": [
|
||||
{
|
||||
"src": "中国",
|
||||
"dst": "China"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
## 彩云小译
|
||||
句子翻译
|
||||
> sh xiaoyi.sh en2zh "You know some birds are not meant to be caged, their feathers are just too bright."
|
||||
> 你知道有些鸟不应该被关在笼子里,它们的羽毛太亮了。
|
||||
|
||||
## 必应
|
||||
|
||||
## 腾讯翻译君
|
||||
|
||||
## 阿里翻译
|
||||
|
||||
## 火山翻译
|
||||
|
||||
## 金山词霸
|
||||
|
||||
## Dictionary
|
@ -1,96 +0,0 @@
|
||||
# 命令说明
|
||||
|
||||
<!--toc:start-->
|
||||
- [命令说明](#命令说明)
|
||||
- [Translate](#translate)
|
||||
- [TranslateInput](#translateinput)
|
||||
- [TranslateHistory](#translatehistory)
|
||||
- [自定义](#自定义)
|
||||
- [可选项说明](#可选项说明)
|
||||
- [示例](#示例)
|
||||
<!--toc:end-->
|
||||
|
||||
## Translate
|
||||
**窗口风格默认为:** `cursor`
|
||||
- 动作(action):
|
||||
- `vsplit` 水平分屏
|
||||
- `split` 垂直分屏
|
||||
- `float` 窗口样式又`cursor` 变为`float`
|
||||
- `online_query` 使用在线引擎重新进行查询
|
||||
- `history_insert` 将此次查询的单词记录到历史记录
|
||||
- `next` 展示下一个引擎的查询结果(如果默认设置了多个引擎)
|
||||
- `prev` 展示上一个查询结果
|
||||
> 如果没有设置自动保存历史的话
|
||||
|
||||
- `history` 查看历史查询的记录
|
||||
|
||||
- `online_query`:
|
||||
- `local_add` 将此次查询的结果添加到本地数据库
|
||||
> **如果本地已经存在该单词,会询问是否需要覆盖掉相同的字段**
|
||||
|
||||
- `local_update` 和*local_add* 类似, 但是不会询问是否覆盖
|
||||
- `diff` 对比本地查询结果和此次在线查询的区别
|
||||
|
||||
> **注意**: 动作是任何窗口通用的
|
||||
## TranslateInput
|
||||
**窗口风格默认为:** `float`
|
||||
- 自行得到要查询的单词
|
||||
|
||||
- TODO:
|
||||
- fuzzy match
|
||||
|
||||
## TranslateHistory
|
||||
**窗口风格默认为:** `float`
|
||||
- 查看历史查询
|
||||
|
||||
---
|
||||
## 自定义
|
||||
|
||||
### 可选项说明
|
||||
- 查询方式(method): `string`
|
||||
- `input` 自行输入需要查询的单词
|
||||
- `last` 显示上一次查询的结果
|
||||
- `history`
|
||||
|
||||
- 查询引擎(engine): `string | table`
|
||||
- `offline` 离线的数据库
|
||||
- `youcao` 有道api
|
||||
- `baidu` 百度api
|
||||
- `google` 谷歌api
|
||||
- `bing` 必应api
|
||||
- `iciba` 金山词霸api
|
||||
- `xunfei` 讯飞api
|
||||
|
||||
- 窗口风格(win): `string | table`
|
||||
- 样式(style):
|
||||
- `cursor` 在光标附近弹出
|
||||
- `float` 悬浮窗口
|
||||
- `split` 在上方或者下方分屏
|
||||
- `vsplit` 在左边或者右边分屏
|
||||
|
||||
- 高度(height):
|
||||
- `value > 1` 最大高度
|
||||
- `0 <= value <= 1` 相对高度
|
||||
- `0 < value` 无限制
|
||||
|
||||
- 宽度(width):
|
||||
> 和`高度(height)`相同
|
||||
### 示例
|
||||
```lua
|
||||
vim.keymap.set('n', 'mi', function ()
|
||||
require('Trans').translate({
|
||||
method = 'input', -- 不填则自动判断mode获取查询的单词
|
||||
engine = { -- 异步查询所有的引擎, 按照列表
|
||||
'offline',
|
||||
'youdao',
|
||||
'baidu'
|
||||
},
|
||||
-- win = 'cursor'
|
||||
win = {
|
||||
style = 'cursor',
|
||||
height = 50,
|
||||
width = 30,
|
||||
}
|
||||
})
|
||||
end, { desc = '在光标旁弹出输入的单词释义'})
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user