Skip to content

Autoreload module when it is modified - #426

Open
fxliang wants to merge 5 commits into
hchunhui:masterfrom
fxliang:autoreload
Open

Autoreload module when it is modified#426
fxliang wants to merge 5 commits into
hchunhui:masterfrom
fxliang:autoreload

Conversation

@fxliang

@fxliang fxliang commented Dec 31, 2025

Copy link
Copy Markdown
Contributor

No description provided.

@hchunhui

hchunhui commented Jan 1, 2026

Copy link
Copy Markdown
Owner

用外部工具检测并触发 librime “部署”可能更合适一些。“部署”会重新生成lua状态,在新的空状态下重新init,从而得到稳定的新状态而非本例中新旧混合的中间态。

@fxliang

fxliang commented Jan 1, 2026

Copy link
Copy Markdown
Contributor Author

考虑检查开销只要一个检查间隔,可配置,,其实还是可以接受的吧,毕竟不用部署了还是挺方便的

@shewer

shewer commented Jan 1, 2026

Copy link
Copy Markdown
Contributor

可以考慮 把 raw_init () 直接包入 LuaGear 中, fini_ init func 放入 map<string, LuaObj>
可改善 raw_init ( args ...) 不一致 (LuaFilter 多個 tags_match)

另外 module.cc:lua_init() 可以把 找到的 rime.lua path 存入 _G
這樣 就不用每次查找 rime.lua 路逕
把 rime.lua last_write 做成單例 , 誰檢查到 誰重載 ,自己file 自己重載

raw_init() args 有必要加入 file_path 嗎 lua_searchpath( package, path) 不是就可以找到 file 了嗎

@shewer

shewer commented Jan 2, 2026

Copy link
Copy Markdown
Contributor

考虑检查开销只要一个检查间隔,可配置,,其实还是可以接受的吧,毕竟不用部署了还是挺方便的

我覺得 lua module 重載單純 (只要 module 中 require package 沒有被管理 rime.lua lua_state 沒有重新開啓 ,清不乾淨, 使用 rime.lua 的人 應該也不大會想改 吧, 現在都用 lua_module@*xxxxx@xxxxx

@fxliang

fxliang commented Jan 4, 2026

Copy link
Copy Markdown
Contributor Author

考虑检查开销只要一个检查间隔,可配置,,其实还是可以接受的吧,毕竟不用部署了还是挺方便的

我覺得 lua module 重載單純 (只要 module 中 require package 沒有被管理 rime.lua lua_state 沒有重新開啓 ,清不乾淨, 使用 rime.lua 的人 應該也不大會想改 吧, 現在都用 lua_module@*xxxxx@xxxxx

没有完全理解意思

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants