chore: modify .gitignore file

This commit is contained in:
JuanZoran 2023-01-19 23:50:18 +08:00
parent e6b02ba5ce
commit 94c4658262
7 changed files with 3 additions and 411 deletions

2
.gitignore vendored
View File

@ -1,2 +1,4 @@
lua/Trans/util/
lua/Trans/core/
note/
go/

View File

@ -1,3 +0,0 @@
module query_online
go 1.19

View File

@ -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) {
}

View File

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
set -e
if [[ -d "$HOME/.vim" ]]; then

View File

@ -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
由定义好的逻辑,绘制整个窗口

View File

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

View File

@ -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 = '在光标旁弹出输入的单词释义'})
```