Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

希望中文模式下,紧跟数字的逗号也自动转换成半角 #712

Open
SogaSuga opened this issue Sep 14, 2023 · 7 comments
Open

Comments

@SogaSuga
Copy link

目前紧跟数字的句号和冒号会自动变半角,我希望逗号也能这样
因为很多时候输入长数字,需要输入千位、万位分隔符
比如1,000,000或者10,0000,0000.00
还有些地区的分隔符和小数点是相反的,即小数点是逗号,分隔符是句点
如果数字后的逗号也能自动变半角就会方便很多,现在每次输入长数字还要切换英文模式,有点麻烦。
谢谢!

@groverlynn
Copy link
Contributor

already implemented in #672

@shewer
Copy link
Contributor

shewer commented Sep 16, 2023

先用 librime-lua 止渴

-- digital.lua # 存入 user_dir/lua
-- lua_processor@*digital # 插入 engine/processors/ascii_compose 後
 -- 
 local P={}
 function P.init(env)
 end
 function P.fini(env)
 end
 function P.func(key,env)
  local context = env.engine.context
  if context:is_composing() then return 2 end
  if key:ctrl() or key:alt() or key:super() then return 2 end

  if key.keycode < 0x7f then
    local ascii_str= string.char(key.keycode)
    local last_ch= context.commit_history:back()
    if last_ch and last_ch.text:match("%d$") and ascii_str:match("[.,]") then
      return 0
    end
  end
  return 2
end
 return P

@lotem
Copy link
Member

lotem commented Feb 6, 2024

是不是還有後續,有高手做成能在方案裏配置的?

@shewer
Copy link
Contributor

shewer commented Feb 6, 2024

放在那 ascii_composer?

@yfdyh000
Copy link

#672是硬编码,且只能随后输入的字符变成半角,不能识别输入符前面的文字,不能识别方向键等已移动位置。
网友需求:rime/home#834 英文字母或数字后的标点自动变为英文标点

应该非硬编码且可配置的。
如果可能,配置功能强一些,例如正则检测出前面是C,那么输入:变成:,其他标点不变;前面是http,输入://都是半角;甚至检测前面的换行、中文等。但性能也要可行。
源码中已有的GetPrecedingText不知是否有用。

@lotem
Copy link
Member

lotem commented Dec 16, 2024

例如正则检测出前面是C,那么输入:变成:,其他标点不变;前面是http,输入://都是半角

可以模式匹配。

默認配置已經支持識別網址。

@yfdyh000
Copy link

yfdyh000 commented Dec 16, 2024

例如正则检测出前面是C,那么输入:变成:,其他标点不变;前面是http,输入://都是半角

可以模式匹配。

默認配置已經支持識別網址。

谢谢。https://github.com/Mintimate/oh-my-rime/blob/main/double_pinyin_flypy.schema.yaml 覆盖了url的模式,不清楚用意,用rime默认的好一些。
recognizer/patterns/disk: "^[CDEF]:"可以输入C:,但之后输入时按/或\键很容易变成顿号和导致候选上屏,暂未弄懂。以及结尾$的作用。"^[A-Z]:.*$"可以输入\,但中文就不能混输了。

recognizer与上面预期的仍有一些差异,如果能在输入框而非候选框中感知已输入内容,就更智能。候选框输入和改错相对麻烦,比如容易误触ESC取消、似乎不支持鼠标来移动插入符。

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

No branches or pull requests

5 participants