Dev compile config file
Pull request
Issue tracker
Fixes will automatically close the related issue
Fixes #
Feature
在移动端。为了快速启动输入法。需要不依赖rime环境。来快速生成带有__include等语法的yaml文件。此pr。增加了一个api接口。可自定义生成yaml文件到指定目录。且增加一个tool用来生成yaml文件。
Unit test
- [ ] Done
Manual test
- [ ] Done
Code Review
- Unit and manual test pass
- GitHub Action CI pass
- At least one contributor reviews and votes
- Can be merged clean without conflicts
- PR will be merged by rebase upstream base
Additional Info
今天看了一下代碼,這個工具作爲測試工具有意義。
但我還是建議沿用 Rime 的文件結構,將 YAML 編譯結果部署到 build 應該能實現同樣的功能,沒有必要增加例外。
與其他配置文件保持一致用法的好處有:
- 用家可以用已有的經驗處理所有 YAML 配置;
- 源文件和編譯結果有清晰的劃分,避免誤用。
關於第 2 點,試想這樣的情況:
編譯結果和其他源文件共存於 Rime 用戶文件夾,用家如果在其他配置文件中通過 __include 引用這個編譯結果文件的內容,有可能造成二次編譯甚至循環引用的錯誤。因爲沒有物理措施隔離,即使按照設計,兩組文件應該互不交通,也無法保證用家能充分理解這些文件使用的規則、組織複雜配置代碼時不會誤用。
利用現有機制實現自定義文件的編譯,通過 RimeApi 訪問,具體做法可以繼續討論。
Rime 原本的配置文件就經歷了輸出目標位置改變,其他前端的配置相仿。我想應該可以轉換成統一的用法。
理解你的顾虑。 对前端来讲,自定义编译路径对前端来讲还是很重要的。这样前端依赖的yaml文件可以放到任何user_data以外的目录。比如同文的主题目录就可以放到user_data以外的单独目录,这样方便组织。另外也支持单独编译,不需要整体部署,只要调一下api即可,单独编译一个yaml也非常快速,用户可以随时修改主题文件,随时生效;
建议收录。