home icon indicating copy to clipboard operation
home copied to clipboard

【bug】double_pinyin_flypy.custom.yaml 在修订自定义符号时,会导致build下bin文件错误,使双拼失效

Open lirenchong opened this issue 3 years ago • 6 comments

两大类bug:

第一类是添加以上最后两行后,

  punctuator:
    import_preset: symbols
    half_shape:
      "?" : [ "?", "÷", "✓", "✔", "✅", "☑" ]
      "/" : "/"

直接出bug。bin文件出错。/sb等符号失效,如图。

CleanShot 2022-02-24 at 13 32 03

正常应该是:

CleanShot 2022-02-24 at 13 33 04


第二类bug,直接粘贴进去较多行half_shape代码,并重新部署后,出以上bug。

  # 自定义符号上屏
  punctuator:
    import_preset: symbols
    # 自定义快捷符号输入
    # symbols:
    #   "/fs": [½, ‰, ¼, ⅓, ⅔, ¾, ⅒ ]
    half_shape:
      '`' : [ '`', ・, '```', ˙, ‷, ‶, ‵, ′, ″, ‴, ⁗ ]
      "~" : [ '~', ~, ˜, ≈, ≋, ≠, ≃, ≅, ≇, ∽, ⋍, ≌, ﹏, ﹋, ﹌ ]
      "@" : [ '@', ², ³, ☀️, ®, ©, ℗, ☮, ☯, ❂ ]
      "#": "#"
      "$" : [ "¥", "$", "€", ⁴, "£", "¢", "♻️", "❀", "✿" ]
      '%' : [ '%', ‰, ‱, '°', ⁵, ⁶, '℃', ℉, % ]
      '&' : [ '&', ⁷, ⁸, ⁹, ⁰, ¹, ⁺, ⁻, ⁼, ⁽, ⁾ ]
      '*' : [ '*', ×, ×××, ✘, ✖, ☒, *, ※, ⁂, ☣ ]
      "_" : [ "──", "_", "---", "— — — — — —", "— — — — — — — — —", "— — — — — — — — — — — — — — — — — —" ]
      "=" : "="
      '{' : [ (, 【, 『, 〖, { ]
      '}' : [ ), 】,』, 〗, } ]
      "[" : "["
      "]" : "]"
      '\' : "、"
      '"' : { pair: [ '“', '”' ] }
      "'" : { pair: ["「", "」" ] }
      "<" : [ "<", ',', "《", "〈", "≤", "≮", "«", ₍, ₀, ₁, ₂, ₃, ₄, ₅, ₆, ₇, ₈, ₉, ₎ ]
      ">" : [ ">", '.', "》", "〉","≥", "≯", "»", ₊, ₋, ₌ ]

委屈求全的处理方法是,以上代码分3次复制进去,分别部署。功能正常。

据此推断,自定义符号功能存在bug。


macos Monterey 版本 12.2.1 MacBook Pro (14 英寸,2021年) 芯片 Apple M1 Pro

Squirrel-0.15.2

lirenchong avatar Feb 24 '22 05:02 lirenchong

相关问题还有:

  • ()两个键,符号无法自定义。 ')' : { pair: [ '(', ')' ] }

  • { 键定义pair也出bug。

'{' : { pair: [ '(', ')' ] }

等等

lirenchong avatar Feb 24 '22 08:02 lirenchong

再比如,今天增加 '-' : { commit: '-' }之后,整个自定义符号系统又全部崩了,custom.txt的所有自定义符号失效。又要找配置重建 bin 文件了

# '-' : { commit: '-' }注释掉,重新部署,恢复正常。

lirenchong avatar Feb 28 '22 03:02 lirenchong

看一下日志啊,找到错误信息再分析原因。

可能有关的讨论: https://github.com/rime/squirrel/issues/272

lotem avatar Mar 04 '22 14:03 lotem

    ')/=' : { pair: [ '(', ')' ] }
    '{/=' : { pair: [ '(', ')' ] }

其他的,需要看错误日志。

Ace-Who avatar Mar 11 '22 15:03 Ace-Who

    ')/=' : { pair: [ '(', ')' ] }
    '{/=' : { pair: [ '(', ')' ] }

其他的,需要看错误日志。

Ace-Who avatar Mar 11 '22 15:03 Ace-Who

第一个问题是 / 字符直接上屏了所以没有机会匹配到 / 加字母的模式。/ 得定义成符号的列表才不会立即上屏。

其他情况应该是补丁的问题。列出的代码试图合并symbols文件原有的符号定义(通过import_preset: symbols)和补丁里的局部定义。需要参照symbols的原代码才能理解补丁的递归合并过程。如果大量修改符号配置,最好不做合并,而是替换,即重新定义整个符号表 half_shape/=:

lotem avatar Apr 16 '22 14:04 lotem