---
# Shared definitions among braille rules

# some rules are need for canonicalization so need to be picked up by languages also, even though not used in the rules file
# we could pull them out and have a smaller 'definitions-shared.yaml' file, but it doesn't save much and adds more file i/o
- include: "../definitions.yaml"

  # these come from SRE's ts\semantic_tree\semantic_attr.ts file
- NemethComparisonOperators: {
    "=", "⁼", "₌", "∼", "∽", "≃", "≅",  "≈",  "≊", "≋", "≌", "≍", "≎",
    "≑", "≒", "≓", "≔", "≕", "≖", "≗", "≘",  "≙",  "≚", "≛", "≜", "≝", "≞",
    "≟", "≡", "≣", "⧤", "⩦", "⩮", "⩯", "⩰",  "⩱",  "⩲", "⩳", "⩴", "⩵", "⩶",
    "⩷", "⩸", "⋕", "⩭", "⩪", "⩫", "⩬", "﹦", "＝", "⊜", "∷",

    "<", ">", "≁", "≂", "≄", "≆", "≇",  "≉",  "≏",  "≐", "≠", "≢", "≤", "≥",
    "≦", "≧", "≨", "≩", "≪", "≫", "≬",  "≭",  "≮",  "≯", "≰", "≱", "≲", "≳",
    "≴", "≵", "≶", "≷", "≸", "≹", "≺",  "≻",  "≼",  "≽", "≾", "≿", "⊀", "⊁",
    "⋖", "⋗", "⋘", "⋙", "⋚", "⋛", "⋜",  "⋝",  "⋞",  "⋟", "⋠", "⋡", "⋦", "⋧",
    "⋨", "⋩", "⩹", "⩺", "⩻", "⩼", "⩽",  "⩾",  "⩿",  "⪀", "⪁", "⪂", "⪃", "⪄",
    "⪅", "⪆", "⪇", "⪈", "⪉", "⪊", "⪋",  "⪌",  "⪍",  "⪎", "⪏", "⪐", "⪑", "⪒",
    "⪓", "⪔", "⪕", "⪖", "⪗", "⪘", "⪙",  "⪚",  "⪛",  "⪜", "⪝", "⪞", "⪟", "⪠",
    "⪡", "⪢", "⪣", "⪤", "⪥", "⪦", "⪧",  "⪨",  "⪩",  "⪪", "⪫", "⪬", "⪭", "⪮",
    "⪯", "⪰", "⪱", "⪲", "⪳", "⪴", "⪵",  "⪶",  "⪷",  "⪸", "⪹", "⪺", "⪻", "⪼",
    "⫷", "⫸", "⫹", "⫺", "⧀", "⧁", "﹤", "﹥", "＜", "＞",

    "⋢", "⋣", "⋤", "⋥", "⊂", "⊃", "⊄", "⊅", "⊆", "⊇", "⊈", "⊉", "⊊", "⊋",
    "⊏", "⊐", "⊑", "⊒", "⪽", "⪾", "⪿", "⫀", "⫁", "⫂", "⫃", "⫄", "⫅", "⫆",
    "⫇", "⫈", "⫉", "⫊", "⫋", "⫌", "⫍", "⫎", "⫏", "⫐", "⫑", "⫒", "⫓", "⫔",
    "⫕", "⫖", "⫗", "⫘", "⋐", "⋑", "⋪", "⋫", "⋬", "⋭", "⊲", "⊳", "⊴", "⊵",

    "∈", "∊", "⋲", "⋳", "⋴", "⋵", "⋶", "⋷", "⋸", "⋹", "⋿",

    "∋", "∍", "⋺", "⋻", "⋼", "⋽", "⋾",

    "⊢", "⊣", "⊦", "⊧", "⊨", "⊩", "⊪", "⊫", "⊬", "⊭", "⊮", "⊯", "⫞", "⫟",
    "⫠", "⫡", "⫢", "⫣", "⫤", "⫥", "⫦", "⫧", "⫨", "⫩", "⫪", "⫫", "⫬", "⫭",

    "←", "↑", "→", "↓", "↔", "↕", "↖", "↗", "↘", "↙", "↚", "↛", "↜", "↝", "↞",
    "↟", "↠", "↡", "↢", "↣", "↤", "↥", "↦", "↧", "↨", "↩", "↪", "↫", "↬", "↭",
    "↮", "↯", "↰", "↱", "↲", "↳", "↴", "↵", "↶", "↷", "↸", "↹", "↺", "↻", "⇄",
    "⇅", "⇆", "⇇", "⇈", "⇉", "⇊", "⇍", "⇎", "⇏", "⇐", "⇑", "⇒", "⇓", "⇔", "⇕",
    "⇖", "⇗", "⇘", "⇙", "⇚", "⇛", "⇜", "⇝", "⇞", "⇟", "⇠", "⇡", "⇢", "⇣", "⇤",
    "⇥", "⇦", "⇧", "⇨", "⇩", "⇪", "⇫", "⇬", "⇭", "⇮", "⇯", "⇰", "⇱", "⇲", "⇳",
    "⇴", "⇵", "⇶", "⇷", "⇸", "⇹", "⇺", "⇻", "⇼", "⇽", "⇾", "⇿", "⌁", "⌃", "⌄",
    "⌤", "⎋", "➔", "➘", "➙", "➚", "➛", "➜", "➝", "➞", "➟", "➠", "➡", "➢", "➣",
    "➤", "➥", "➦", "➧", "➨", "➩", "➪", "➫", "➬", "➭", "➮", "➯", "➱", "➲", "➳",
    "➴", "➵", "➶", "➷", "➸", "➹", "➺", "➻", "➼", "➽", "➾", "⟰", "⟱", "⟲", "⟳",
    "⟴", "⟵", "⟶", "⟷", "⟸", "⟹", "⟺", "⟻", "⟼", "⟽", "⟾", "⟿", "⤀", "⤁", "⤂",
    "⤃", "⤄", "⤅", "⤆", "⤇", "⤈", "⤉", "⤊", "⤋", "⤌", "⤍", "⤎", "⤏", "⤐", "⤑",
    "⤒", "⤓", "⤔", "⤕", "⤖", "⤗", "⤘", "⤙", "⤚", "⤛", "⤜", "⤝", "⤞", "⤟", "⤠",
    "⤡", "⤢", "⤣", "⤤", "⤥", "⤦", "⤧", "⤨", "⤩", "⤪", "⤭", "⤮", "⤯", "⤰", "⤱",
    "⤲", "⤳", "⤴", "⤵", "⤶", "⤷", "⤸", "⤹", "⤺", "⤻", "⤼", "⤽", "⤾", "⤿", "⥀",
    "⥁", "⥂", "⥃", "⥄", "⥅", "⥆", "⥇", "⥈", "⥉", "⥰", "⥱", "⥲", "⥳", "⥴", "⥵",
    "⥶", "⥷", "⥸", "⥹", "⥺", "⥻", "⦳", "⦴", "⦽", "⧪", "⧬", "⧭", "⨗", "⬀", "⬁",
    "⬂", "⬃", "⬄", "⬅", "⬆", "⬇", "⬈", "⬉", "⬊", "⬋", "⬌", "⬍", "⬎", "⬏", "⬐",
    "⬑", "⬰", "⬱", "⬲", "⬳", "⬴", "⬵", "⬶", "⬷", "⬸", "⬹", "⬺", "⬻", "⬼", "⬽",
    "⬾", "⬿", "⭀", "⭁", "⭂", "⭃", "⭄", "⭅", "⭆", "⭇", "⭈", "⭉", "⭊", "⭋", "⭌",
    "￩", "￪", "￫", "￬",
    # Harpoons
    "↼", "↽", "↾", "↿", "⇀", "⇁", "⇂", "⇃", "⇋", "⇌", "⥊", "⥋", "⥌", "⥍", "⥎",
    "⥏", "⥐", "⥑", "⥒", "⥓", "⥔", "⥕", "⥖", "⥗", "⥘", "⥙", "⥚", "⥛", "⥜", "⥝",
    "⥞", "⥟", "⥠", "⥡", "⥢", "⥣", "⥤", "⥥", "⥦", "⥧", "⥨", "⥩", "⥪", "⥫", "⥬",
    "⥭", "⥮", "⥯", "⥼", "⥽", "⥾", "⥿",

    # chars not from SRE
    "∝", "∉", "∶",

    "∥", "⟂", "⊥",
  }


  # no space is used when these chars "apply" to ellipsis or long dash (lesson 2.13, differs slightly from rule 42)
  # can't do 42(ii) which is braille indicators because they are not input (they are output) -- handle by regexp later
  # also used for comparison operators (Rule 151)
- NemethPunctAndOpenBeforeSymbols: {
    "‘", "“", ",",                                                   # punctuation -- 42(i)
    "(", "[", "{", "⟨", "⟦", "⦃", "⟪", "⌈", "⌊",                      # 42(iii) open
  }

- NemethPunctAndOpenAfterSymbols: {
    "'", ":", ",", "!", ".", "?", "’", "”", ";",                    # punctuation -- 42(i)
    ")", "]", "}", "⟩", "⟧", "⦄", "⟫", "⌉", "⌋",                      # 42(iii) close
  }
