mirror of
https://github.com/iDvel/rime-ice.git
synced 2026-04-26 12:05:00 +00:00
feat: uuid.lua 生成符合RFC 4122标准的UUID v4 (#1383)
This commit is contained in:
@@ -73,6 +73,7 @@ engine:
|
||||
- script_translator
|
||||
- lua_translator@*date_translator # 时间、日期、星期
|
||||
- lua_translator@*lunar # 农历
|
||||
- lua_translator@*uuid # UUID
|
||||
- table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
|
||||
- table_translator@melt_eng # 英文输入
|
||||
- table_translator@cn_en # 中英混合词汇
|
||||
@@ -106,6 +107,10 @@ date_translator:
|
||||
lunar: lunar # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
|
||||
|
||||
|
||||
# Lua 配置: 生成 UUID 的触发关键字
|
||||
uuid: uuid
|
||||
|
||||
|
||||
# Lua 配置: 降低部分英语单词在候选项的位置。
|
||||
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
|
||||
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
|
||||
|
||||
@@ -73,6 +73,7 @@ engine:
|
||||
- script_translator
|
||||
- lua_translator@*date_translator # 时间、日期、星期
|
||||
- lua_translator@*lunar # 农历
|
||||
- lua_translator@*uuid # UUID
|
||||
- table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
|
||||
- table_translator@melt_eng # 英文输入
|
||||
- table_translator@cn_en # 中英混合词汇
|
||||
@@ -106,6 +107,10 @@ date_translator:
|
||||
lunar: lunar # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
|
||||
|
||||
|
||||
# Lua 配置: 生成 UUID 的触发关键字
|
||||
uuid: uuid
|
||||
|
||||
|
||||
# Lua 配置: 降低部分英语单词在候选项的位置。
|
||||
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
|
||||
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
|
||||
|
||||
@@ -73,6 +73,7 @@ engine:
|
||||
- script_translator
|
||||
- lua_translator@*date_translator # 时间、日期、星期
|
||||
- lua_translator@*lunar # 农历
|
||||
- lua_translator@*uuid # UUID
|
||||
- table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
|
||||
- table_translator@melt_eng # 英文输入
|
||||
- table_translator@cn_en # 中英混合词汇
|
||||
@@ -106,6 +107,10 @@ date_translator:
|
||||
lunar: lunar # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
|
||||
|
||||
|
||||
# Lua 配置: 生成 UUID 的触发关键字
|
||||
uuid: uuid
|
||||
|
||||
|
||||
# Lua 配置: 降低部分英语单词在候选项的位置。
|
||||
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
|
||||
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
|
||||
|
||||
@@ -73,6 +73,7 @@ engine:
|
||||
- script_translator
|
||||
- lua_translator@*date_translator # 时间、日期、星期
|
||||
- lua_translator@*lunar # 农历
|
||||
- lua_translator@*uuid # UUID
|
||||
- table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
|
||||
- table_translator@melt_eng # 英文输入
|
||||
- table_translator@cn_en # 中英混合词汇
|
||||
@@ -106,6 +107,10 @@ date_translator:
|
||||
lunar: lunar # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
|
||||
|
||||
|
||||
# Lua 配置: 生成 UUID 的触发关键字
|
||||
uuid: uuid
|
||||
|
||||
|
||||
# Lua 配置: 降低部分英语单词在候选项的位置。
|
||||
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
|
||||
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
|
||||
|
||||
@@ -73,6 +73,7 @@ engine:
|
||||
- script_translator
|
||||
- lua_translator@*date_translator # 时间、日期、星期
|
||||
- lua_translator@*lunar # 农历
|
||||
- lua_translator@*uuid # UUID
|
||||
- table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
|
||||
- table_translator@melt_eng # 英文输入
|
||||
- table_translator@cn_en # 中英混合词汇
|
||||
@@ -106,6 +107,10 @@ date_translator:
|
||||
lunar: lunar # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
|
||||
|
||||
|
||||
# Lua 配置: 生成 UUID 的触发关键字
|
||||
uuid: uuid
|
||||
|
||||
|
||||
# Lua 配置: 降低部分英语单词在候选项的位置。
|
||||
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
|
||||
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
|
||||
|
||||
@@ -73,6 +73,7 @@ engine:
|
||||
- script_translator
|
||||
- lua_translator@*date_translator # 时间、日期、星期
|
||||
- lua_translator@*lunar # 农历
|
||||
- lua_translator@*uuid # UUID
|
||||
- table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
|
||||
- table_translator@cn_en # 中英混合词汇
|
||||
- table_translator@melt_eng # 英文输入
|
||||
@@ -106,6 +107,10 @@ date_translator:
|
||||
lunar: lunar # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
|
||||
|
||||
|
||||
# Lua 配置: 生成 UUID 的触发关键字
|
||||
uuid: uuid
|
||||
|
||||
|
||||
# Lua 配置: 降低部分英语单词在候选项的位置。
|
||||
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
|
||||
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
|
||||
|
||||
@@ -73,6 +73,7 @@ engine:
|
||||
- script_translator
|
||||
- lua_translator@*date_translator # 时间、日期、星期
|
||||
- lua_translator@*lunar # 农历
|
||||
- lua_translator@*uuid # UUID
|
||||
- table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
|
||||
- table_translator@melt_eng # 英文输入
|
||||
- table_translator@cn_en # 中英混合词汇
|
||||
@@ -106,6 +107,10 @@ date_translator:
|
||||
lunar: lunar # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
|
||||
|
||||
|
||||
# Lua 配置: 生成 UUID 的触发关键字
|
||||
uuid: uuid
|
||||
|
||||
|
||||
# Lua 配置: 降低部分英语单词在候选项的位置。
|
||||
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
|
||||
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
|
||||
|
||||
46
lua/uuid.lua
Normal file
46
lua/uuid.lua
Normal file
@@ -0,0 +1,46 @@
|
||||
local function yield_cand(seg, text)
|
||||
local cand = Candidate("", seg.start, seg._end, text, "")
|
||||
cand.quality = 100
|
||||
yield(cand)
|
||||
end
|
||||
|
||||
local fmt = string.format
|
||||
local rand = math.random
|
||||
local randomseed = math.randomseed
|
||||
|
||||
local function generate_uuid_v4()
|
||||
return fmt(
|
||||
"%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
|
||||
rand(0, 255),
|
||||
rand(0, 255),
|
||||
rand(0, 255),
|
||||
rand(0, 255),
|
||||
rand(0, 255),
|
||||
rand(0, 255),
|
||||
(rand(0, 255) & 0x0F) | 0x40,
|
||||
rand(0, 255),
|
||||
(rand(0, 255) & 0x3F) | 0x80,
|
||||
rand(0, 255),
|
||||
rand(0, 255),
|
||||
rand(0, 255),
|
||||
rand(0, 255),
|
||||
rand(0, 255),
|
||||
rand(0, 255),
|
||||
rand(0, 255)
|
||||
)
|
||||
end
|
||||
|
||||
local M = {}
|
||||
|
||||
function M.init(env)
|
||||
M.uuid = env.engine.schema.config:get_string(env.name_space:gsub("^*", "")) or "uuid"
|
||||
end
|
||||
|
||||
function M.func(input, seg, _)
|
||||
if input == M.uuid then
|
||||
randomseed(os.time())
|
||||
yield_cand(seg, generate_uuid_v4())
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
@@ -6,7 +6,7 @@
|
||||
schema:
|
||||
schema_id: rime_ice
|
||||
name: 雾凇拼音
|
||||
version: "2025-10-23"
|
||||
version: "2025-10-31"
|
||||
author:
|
||||
- Dvel
|
||||
description: |
|
||||
@@ -62,6 +62,7 @@ engine:
|
||||
- script_translator
|
||||
- lua_translator@*date_translator # 时间、日期、星期
|
||||
- lua_translator@*lunar # 农历
|
||||
- lua_translator@*uuid # UUID
|
||||
- table_translator@custom_phrase # 自定义短语 custom_phrase.txt
|
||||
- table_translator@melt_eng # 英文输入
|
||||
- table_translator@cn_en # 中英混合词汇
|
||||
@@ -97,6 +98,10 @@ date_translator:
|
||||
lunar: nl # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
|
||||
|
||||
|
||||
# Lua 配置: 生成 UUID 的触发关键字
|
||||
uuid: UUID
|
||||
|
||||
|
||||
# Lua 配置:长词优先
|
||||
# 提升 count 个词语,插入到第 idx 个位置。
|
||||
# 示例:将 2 个词插入到第 4、5 个候选项,输入 jie 得到「1接 2解 3姐 4饥饿 5极恶 6结 7界……」
|
||||
|
||||
Reference in New Issue
Block a user