新增 Projection ConfigValue ConfigList ConfigItem #102
新增 Projection ConfigValue ConfigList ConfigItem #102hchunhui merged 16 commits intohchunhui:masterfrom
Conversation
Signed-off-by: shewer <shewer@gmail.com>
Signed-off-by: shewer <shewer@gmail.com>
Signed-off-by: shewer <shewer@gmail.com>
Signed-off-by: shewer <shewer@gmail.com>
|
这个pr已经完成了吗?有没有解决你在issues里面提到的问题? |
|
已可解決 preedit_format, commit_format 轉換 , 用下一個 PR 增加於 ConfigMapReg |
Signed-off-by: shewer <shewer@gmail.com>
Signed-off-by: shewer <shewer@gmail.com>
Signed-off-by: shewer <shewer@gmail.com>
There was a problem hiding this comment.
忘了說明 爲何要 to_list to_map to_value
因爲 在path 結點下 第一個取得的是 ConfigItem (在未知 path 爲何種型別時最安全) ,
其實最佳方法
是 統一function name get & set 取得 ConfigItem 時就判定型別 and Return 各種 type(Map List Value)
給USER 減少記 function name
目前 我只會用 強型別去 Wrap 那些 function ,有點麻煩
如果統一 用get 好處是 function name 一致 且 都從 configItem 轉置完成給user 會方便許多
或許可以提供 範例 利用 lua push pop 不同型別 參數 和 return 嗎
in lua funcall
local c= config:get ( 多型 )
--> C++ LuaStatus get arg
ConfigItem item=config.getItem(path);
if (item.type==ConfigItem::kList
push stack (an<ConfigList>) item
if (item.type== ConfigItem::kScalar )
push stack (an<ConfigValue>)
c <---- return
Signed-off-by: shewer <shewer@gmail.com>
Signed-off-by: shewer <shewer@gmail.com>
|
除了 我准备合并这个pr。但请先在这个branch上fix,并把lua脚本示例整理好(缩进、注释等)。 |
|
@shewer 麻烦把config相关的fix放到 |
This reverts commit 6641fc0.
|
@shewer 谢谢,合并了。我重整了格式并删除了 另外一个建议:pull request麻烦注意一下最终的diff。相对主分支作修改,而不是相对还没有merge的代码;不要引入无关代码的格式调整;新加的部分缩进尽量与现有代码保持一致;每行结尾不要有多余空格。这些建议的目的都是为了突出重点,方便review;最终merge时也不易引入冲突,影响别人。 |
|
謝謝 受教了 |
|
這個應該叫「Formatter」而不是「Projector」 吧?librime的配置項和源代碼都是用「Formatter」 |
便於 調用 config:get_list (path) 或 Create ConfigList
exp
env.p1=Projection()
env.p1:load( config:get_list( "translator/commit_format)) )
env.p1:apply( str )