From e300b574224db50ca78c6dfeeb94fb2906160379 Mon Sep 17 00:00:00 2001 From: Jonah Lawrence Date: Wed, 13 Sep 2023 19:12:01 -0600 Subject: [PATCH 1/5] Workflow to generate plist file from dictionary.txt --- .github/dictionary_to_plist.py | 31 ++++++++++++++++++++++++++++ .github/workflows/generate-plist.yml | 26 +++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 .github/dictionary_to_plist.py create mode 100644 .github/workflows/generate-plist.yml diff --git a/.github/dictionary_to_plist.py b/.github/dictionary_to_plist.py new file mode 100644 index 0000000..8fe4c22 --- /dev/null +++ b/.github/dictionary_to_plist.py @@ -0,0 +1,31 @@ +import plistlib + +INPUT_FILE = "../dictionary.txt" +OUTPUT_FILE = "../dictionary.plist" + +def parse_line(line: str) -> tuple[str | None, str | None]: + """ + Parses a line in the format "" + and returns the phrase and shortcut. If the line is not + in the correct format, returns None for both values. + """ + parts = line.strip().split('\t') + if len(parts) == 2: + return parts[1], parts[0] + else: + return None, None + +# Read input from a file +input_data = [] +with open(INPUT_FILE, 'r', encoding='utf-8') as file: + for line in file: + phrase, shortcut = parse_line(line) + if phrase is not None and shortcut is not None: + input_data.append((phrase, shortcut)) + +# Create a list of dictionaries +output_data = [{'phrase': phrase, 'shortcut': shortcut} for phrase, shortcut in input_data] + +# Write the plist to a file +with open(OUTPUT_FILE, 'wb') as plist_file: + plistlib.dump(output_data, plist_file, fmt=plistlib.FMT_XML) diff --git a/.github/workflows/generate-plist.yml b/.github/workflows/generate-plist.yml new file mode 100644 index 0000000..45630b0 --- /dev/null +++ b/.github/workflows/generate-plist.yml @@ -0,0 +1,26 @@ +# This workflow will generate a plist file from the dictionary.txt file +name: Generate plist + +on: + push: + branches: + - master + workflow_dispatch: + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Generate plist + run: python ${GITHUB_WORKSPACE}/.github/dictionary_to_plist.py + + - name: Add and commit + uses: EndBug/add-and-commit@v9 + with: + author_name: GitHub Actions + author_email: 41898282+github-actions[bot]@users.noreply.github.com + message: "chore: Update dictionary.plist" + add: "*.plist" From 88c9f2cdb89798819610b97a8a708ed6be2bd2fb Mon Sep 17 00:00:00 2001 From: Jonah Lawrence Date: Wed, 13 Sep 2023 19:15:04 -0600 Subject: [PATCH 2/5] Fix path and push plist --- .github/dictionary_to_plist.py | 4 +- dictionary.plist | 6954 ++++++++++++++++++++++++++++++++ 2 files changed, 6956 insertions(+), 2 deletions(-) create mode 100644 dictionary.plist diff --git a/.github/dictionary_to_plist.py b/.github/dictionary_to_plist.py index 8fe4c22..fd87b6f 100644 --- a/.github/dictionary_to_plist.py +++ b/.github/dictionary_to_plist.py @@ -1,7 +1,7 @@ import plistlib -INPUT_FILE = "../dictionary.txt" -OUTPUT_FILE = "../dictionary.plist" +INPUT_FILE = "dictionary.txt" +OUTPUT_FILE = "dictionary.plist" def parse_line(line: str) -> tuple[str | None, str | None]: """ diff --git a/dictionary.plist b/dictionary.plist new file mode 100644 index 0000000..1fdb0ca --- /dev/null +++ b/dictionary.plist @@ -0,0 +1,6954 @@ + + + + + + phrase + I + shortcut + \Iota + + + phrase + ¬ + shortcut + \lnot + + + phrase + ¬ + shortcut + \neg + + + phrase + ² + shortcut + ^2 + + + phrase + ³ + shortcut + ^3 + + + phrase + ¹ + shortcut + ^1 + + + phrase + × + shortcut + \times + + + phrase + ÷ + shortcut + \div + + + phrase + Α + shortcut + \Alpha + + + phrase + Β + shortcut + \Beta + + + phrase + Γ + shortcut + \Gamma + + + phrase + Δ + shortcut + \Delta + + + phrase + Ε + shortcut + \Epsilon + + + phrase + Ζ + shortcut + \Zeta + + + phrase + Η + shortcut + \Eta + + + phrase + Θ + shortcut + \Theta + + + phrase + Κ + shortcut + \Kappa + + + phrase + Λ + shortcut + \Lambda + + + phrase + Μ + shortcut + \Mu + + + phrase + Ν + shortcut + \Nu + + + phrase + Ξ + shortcut + \Xi + + + phrase + Ο + shortcut + \Omicron + + + phrase + Π + shortcut + \Pi + + + phrase + Ρ + shortcut + \Rho + + + phrase + Σ + shortcut + \Sigma + + + phrase + Τ + shortcut + \Tau + + + phrase + Υ + shortcut + \Upsilon + + + phrase + Φ + shortcut + \Phi + + + phrase + Χ + shortcut + \Chi + + + phrase + Ψ + shortcut + \Psi + + + phrase + Ω + shortcut + \Omega + + + phrase + α + shortcut + \alpha + + + phrase + β + shortcut + \beta + + + phrase + γ + shortcut + \gamma + + + phrase + δ + shortcut + \delta + + + phrase + ε + shortcut + \epsilon + + + phrase + ε + shortcut + \varepsilon + + + phrase + ζ + shortcut + \zeta + + + phrase + η + shortcut + \eta + + + phrase + θ + shortcut + \theta + + + phrase + ι + shortcut + \iota + + + phrase + κ + shortcut + \kappa + + + phrase + λ + shortcut + \lambda + + + phrase + μ + shortcut + \mu + + + phrase + ν + shortcut + \nu + + + phrase + ξ + shortcut + \xi + + + phrase + ο + shortcut + \omicron + + + phrase + π + shortcut + \pi + + + phrase + ρ + shortcut + \rho + + + phrase + ς + shortcut + \varsigma + + + phrase + σ + shortcut + \sigma + + + phrase + τ + shortcut + \tau + + + phrase + υ + shortcut + \upsilon + + + phrase + φ + shortcut + \phi + + + phrase + φ + shortcut + \varphi + + + phrase + χ + shortcut + \chi + + + phrase + ψ + shortcut + \psi + + + phrase + ω + shortcut + \omega + + + phrase + ϑ + shortcut + \vartheta + + + phrase + ϕ + shortcut + \phi + + + phrase + ϖ + shortcut + \varpi + + + phrase + ϰ + shortcut + \varkappa + + + phrase + ϱ + shortcut + \varrho + + + phrase + ϵ + shortcut + \epsilon + + + phrase + ג + shortcut + \gimel + + + phrase + + shortcut + _i + + + phrase + + shortcut + _r + + + phrase + + shortcut + _u + + + phrase + + shortcut + _v + + + phrase + + shortcut + ^0 + + + phrase + + shortcut + ^4 + + + phrase + + shortcut + ^5 + + + phrase + + shortcut + ^6 + + + phrase + + shortcut + ^7 + + + phrase + + shortcut + ^8 + + + phrase + + shortcut + ^9 + + + phrase + + shortcut + _\beta + + + phrase + + shortcut + _\gamma + + + phrase + + shortcut + _\rho + + + phrase + + shortcut + _\phi + + + phrase + + shortcut + _\chi + + + phrase + + shortcut + _beta + + + phrase + + shortcut + _gamma + + + phrase + + shortcut + _rho + + + phrase + + shortcut + _phi + + + phrase + + shortcut + _chi + + + phrase + + shortcut + ^alpha + + + phrase + + shortcut + ^beta + + + phrase + + shortcut + ^chi + + + phrase + + shortcut + ^delta + + + phrase + + shortcut + ^gamma + + + phrase + ᶿ + shortcut + ^theta + + + phrase + + shortcut + ^iota + + + phrase + + shortcut + ^phi + + + phrase + + shortcut + ^Phi + + + phrase + + shortcut + + + + phrase + + shortcut + + + + phrase + + shortcut + + + + phrase + + shortcut + + + + phrase + + shortcut + + + + phrase + + shortcut + _+ + + + phrase + + shortcut + ^+ + + + phrase + + shortcut + _- + + + phrase + + shortcut + ^- + + + phrase + + shortcut + _= + + + phrase + + shortcut + ^= + + + phrase + + shortcut + ^( + + + phrase + + shortcut + ^) + + + phrase + + shortcut + _0 + + + phrase + + shortcut + _1 + + + phrase + + shortcut + _2 + + + phrase + + shortcut + _3 + + + phrase + + shortcut + _4 + + + phrase + + shortcut + _5 + + + phrase + + shortcut + _6 + + + phrase + + shortcut + _7 + + + phrase + + shortcut + _8 + + + phrase + + shortcut + _9 + + + phrase + + shortcut + _( + + + phrase + + shortcut + _) + + + phrase + + shortcut + _a + + + phrase + + shortcut + _e + + + phrase + + shortcut + _o + + + phrase + + shortcut + _x + + + phrase + + shortcut + _h + + + phrase + + shortcut + _k + + + phrase + + shortcut + _l + + + phrase + + shortcut + _m + + + phrase + + shortcut + _n + + + phrase + + shortcut + _p + + + phrase + + shortcut + _s + + + phrase + + shortcut + _t + + + phrase + + shortcut + _b + + + phrase + 𝒸 + shortcut + _c + + + phrase + 𝒹 + shortcut + _d + + + phrase + 𝒻 + shortcut + _f + + + phrase + 𝓰 + shortcut + _g + + + phrase + + shortcut + _q + + + phrase + 𝓌 + shortcut + _w + + + phrase + + shortcut + _y + + + phrase + 𝓏 + shortcut + _z + + + phrase + + shortcut + _A + + + phrase + ʙ + shortcut + _B + + + phrase + + shortcut + _C + + + phrase + + shortcut + _D + + + phrase + + shortcut + _E + + + phrase + + shortcut + _F + + + phrase + ɢ + shortcut + _G + + + phrase + ʜ + shortcut + _H + + + phrase + ɪ + shortcut + _I + + + phrase + + shortcut + _J + + + phrase + + shortcut + _K + + + phrase + ʟ + shortcut + _L + + + phrase + + shortcut + _M + + + phrase + ɴ + shortcut + _N + + + phrase + + shortcut + _O + + + phrase + + shortcut + _P + + + phrase + 🇶 + shortcut + _Q + + + phrase + ʀ + shortcut + _R + + + phrase + + shortcut + _S + + + phrase + + shortcut + _T + + + phrase + + shortcut + _U + + + phrase + + shortcut + _V + + + phrase + + shortcut + _W + + + phrase + x + shortcut + _X + + + phrase + ʏ + shortcut + _Y + + + phrase + + shortcut + _Z + + + phrase + + shortcut + ^a + + + phrase + + shortcut + ^A + + + phrase + + shortcut + ^b + + + phrase + + shortcut + ^B + + + phrase + + shortcut + ^c + + + phrase + + shortcut + ^C + + + phrase + + shortcut + ^d + + + phrase + + shortcut + ^D + + + phrase + + shortcut + ^e + + + phrase + + shortcut + ^E + + + phrase + + shortcut + ^f + + + phrase + + shortcut + ^F + + + phrase + + shortcut + ^g + + + phrase + + shortcut + ^G + + + phrase + ʰ + shortcut + ^h + + + phrase + + shortcut + ^H + + + phrase + + shortcut + ^i + + + phrase + + shortcut + ^I + + + phrase + ʲ + shortcut + ^j + + + phrase + + shortcut + ^J + + + phrase + + shortcut + ^k + + + phrase + + shortcut + ^K + + + phrase + ˡ + shortcut + ^l + + + phrase + + shortcut + ^L + + + phrase + + shortcut + ^m + + + phrase + + shortcut + ^M + + + phrase + + shortcut + ^n + + + phrase + + shortcut + ^N + + + phrase + + shortcut + ^o + + + phrase + + shortcut + ^O + + + phrase + + shortcut + ^p + + + phrase + + shortcut + ^P + + + phrase + + shortcut + ^q + + + phrase + + shortcut + ^Q + + + phrase + ʳ + shortcut + ^r + + + phrase + ᴿ + shortcut + ^R + + + phrase + ˢ + shortcut + ^s + + + phrase + ˢ + shortcut + ^S + + + phrase + + shortcut + ^t + + + phrase + + shortcut + ^T + + + phrase + + shortcut + ^u + + + phrase + + shortcut + ^U + + + phrase + + shortcut + ^v + + + phrase + + shortcut + ^V + + + phrase + ʷ + shortcut + ^w + + + phrase + + shortcut + ^W + + + phrase + ˣ + shortcut + ^x + + + phrase + ˣ + shortcut + ^X + + + phrase + ʸ + shortcut + ^y + + + phrase + ʸ + shortcut + ^Y + + + phrase + + shortcut + ^z + + + phrase + + shortcut + ^Z + + + phrase + + shortcut + \complex + + + phrase + + shortcut + \mathbbC + + + phrase + + shortcut + \C + + + phrase + + shortcut + \mathfrakH + + + phrase + + shortcut + \mathbbH + + + phrase + + shortcut + \Im + + + phrase + + shortcut + \mathfrakI + + + phrase + + shortcut + \natural + + + phrase + + shortcut + \N + + + phrase + + shortcut + \mathbbN + + + phrase + + shortcut + \wp + + + phrase + + shortcut + \mathbbP + + + phrase + + shortcut + \rational + + + phrase + + shortcut + \mathbbQ + + + phrase + + shortcut + \Q + + + phrase + + shortcut + \Re + + + phrase + + shortcut + \mathfrakR + + + phrase + + shortcut + \real + + + phrase + + shortcut + \R + + + phrase + + shortcut + \mathbbR + + + phrase + + shortcut + \integer + + + phrase + + shortcut + \Z + + + phrase + + shortcut + \mathbbZ + + + phrase + + shortcut + \mathfrakZ + + + phrase + + shortcut + \mathfrakC + + + phrase + + shortcut + \aleph + + + phrase + + shortcut + \beth + + + phrase + + shortcut + \leftarrow + + + phrase + + shortcut + \uparrow + + + phrase + + shortcut + \rightarrow + + + phrase + + shortcut + \to + + + phrase + + shortcut + \rightarrow + + + phrase + + shortcut + ^\rightarrow + + + phrase + + shortcut + ^rightarrow + + + phrase + ̅ + shortcut + ^bar + + + phrase + ̅ + shortcut + ^overline + + + phrase + + shortcut + \bara + + + phrase + + shortcut + \barb + + + phrase + + shortcut + \barc + + + phrase + + shortcut + \bard + + + phrase + + shortcut + \bare + + + phrase + + shortcut + \barf + + + phrase + + shortcut + \barg + + + phrase + + shortcut + \barh + + + phrase + + shortcut + \bari + + + phrase + + shortcut + \barj + + + phrase + + shortcut + \bark + + + phrase + + shortcut + \barl + + + phrase + + shortcut + \barm + + + phrase + + shortcut + \barn + + + phrase + + shortcut + \baro + + + phrase + + shortcut + \barp + + + phrase + + shortcut + \barq + + + phrase + + shortcut + \barr + + + phrase + + shortcut + \bars + + + phrase + + shortcut + \bart + + + phrase + + shortcut + \baru + + + phrase + + shortcut + \barv + + + phrase + + shortcut + \barw + + + phrase + + shortcut + \barx + + + phrase + + shortcut + \bary + + + phrase + + shortcut + \barz + + + phrase + + shortcut + \barA + + + phrase + + shortcut + \barB + + + phrase + + shortcut + \barC + + + phrase + + shortcut + \barD + + + phrase + + shortcut + \barE + + + phrase + + shortcut + \barF + + + phrase + + shortcut + \barG + + + phrase + + shortcut + \barH + + + phrase + + shortcut + \barI + + + phrase + + shortcut + \barJ + + + phrase + + shortcut + \barK + + + phrase + + shortcut + \barL + + + phrase + + shortcut + \barM + + + phrase + + shortcut + \barN + + + phrase + + shortcut + \barO + + + phrase + + shortcut + \barP + + + phrase + + shortcut + \barQ + + + phrase + + shortcut + \barR + + + phrase + + shortcut + \barS + + + phrase + + shortcut + \barT + + + phrase + + shortcut + \barU + + + phrase + + shortcut + \barV + + + phrase + + shortcut + \barW + + + phrase + + shortcut + \barX + + + phrase + + shortcut + \barY + + + phrase + + shortcut + \barZ + + + phrase + + shortcut + \overlinea + + + phrase + + shortcut + \overlineb + + + phrase + + shortcut + \overlinec + + + phrase + + shortcut + \overlined + + + phrase + + shortcut + \overlinee + + + phrase + + shortcut + \overlinef + + + phrase + + shortcut + \overlineg + + + phrase + + shortcut + \overlineh + + + phrase + + shortcut + \overlinei + + + phrase + + shortcut + \overlinej + + + phrase + + shortcut + \overlinek + + + phrase + + shortcut + \overlinel + + + phrase + + shortcut + \overlinem + + + phrase + + shortcut + \overlinen + + + phrase + + shortcut + \overlineo + + + phrase + + shortcut + \overlinep + + + phrase + + shortcut + \overlineq + + + phrase + + shortcut + \overliner + + + phrase + + shortcut + \overlines + + + phrase + + shortcut + \overlinet + + + phrase + + shortcut + \overlineu + + + phrase + + shortcut + \overlinev + + + phrase + + shortcut + \overlinew + + + phrase + + shortcut + \overlinex + + + phrase + + shortcut + \overliney + + + phrase + + shortcut + \overlinez + + + phrase + + shortcut + \overlineA + + + phrase + + shortcut + \overlineB + + + phrase + + shortcut + \overlineC + + + phrase + + shortcut + \overlineD + + + phrase + + shortcut + \overlineE + + + phrase + + shortcut + \overlineF + + + phrase + + shortcut + \overlineG + + + phrase + + shortcut + \overlineH + + + phrase + + shortcut + \overlineI + + + phrase + + shortcut + \overlineJ + + + phrase + + shortcut + \overlineK + + + phrase + + shortcut + \overlineL + + + phrase + + shortcut + \overlineM + + + phrase + + shortcut + \overlineN + + + phrase + + shortcut + \overlineO + + + phrase + + shortcut + \overlineP + + + phrase + + shortcut + \overlineQ + + + phrase + + shortcut + \overlineR + + + phrase + + shortcut + \overlineS + + + phrase + + shortcut + \overlineT + + + phrase + + shortcut + \overlineU + + + phrase + + shortcut + \overlineV + + + phrase + + shortcut + \overlineW + + + phrase + + shortcut + \overlineX + + + phrase + + shortcut + \overlineY + + + phrase + + shortcut + \overlineZ + + + phrase + + shortcut + ^\to + + + phrase + + shortcut + ^to + + + phrase + + shortcut + ^→ + + + phrase + + shortcut + \downarrow + + + phrase + + shortcut + \leftrightarrow + + + phrase + + shortcut + \nwarrow + + + phrase + + shortcut + \nearrow + + + phrase + + shortcut + \searrow + + + phrase + + shortcut + \swarrow + + + phrase + + shortcut + \twoheadleftarrow + + + phrase + + shortcut + \twoheadrightarrow + + + phrase + + shortcut + \leftarrowtail + + + phrase + + shortcut + \rightarrowtail + + + phrase + + shortcut + \mapsto + + + phrase + + shortcut + \hookleftarrow + + + phrase + + shortcut + \hookrightarrow + + + phrase + + shortcut + \rightharpoonup + + + phrase + + shortcut + \rightharpoondown + + + phrase + + shortcut + \leftrightharpoons + + + phrase + + shortcut + \rightleftharpoons + + + phrase + + shortcut + \Leftarrow + + + phrase + + shortcut + \not\Leftarrow + + + phrase + + shortcut + \Uparrow + + + phrase + + shortcut + \Rightarrow + + + phrase + + shortcut + \not\Rightarrow + + + phrase + + shortcut + \Downarrow + + + phrase + + shortcut + \Leftrightarrow + + + phrase + + shortcut + \rightsquigarrow + + + phrase + + shortcut + \forall + + + phrase + + shortcut + \partial + + + phrase + + shortcut + \exists + + + phrase + + shortcut + \nexists + + + phrase + + shortcut + \not\exists + + + phrase + + shortcut + \emptyset + + + phrase + + shortcut + \nabla + + + phrase + + shortcut + \in + + + phrase + + shortcut + \notin + + + phrase + + shortcut + \not\in + + + phrase + + shortcut + \ni + + + phrase + + shortcut + \not\ni + + + phrase + + shortcut + \prod + + + phrase + + shortcut + \coprod + + + phrase + + shortcut + \sum + + + phrase + + shortcut + \dotplus + + + phrase + + shortcut + \mp + + + phrase + ± + shortcut + \pm + + + phrase + + shortcut + \setminus + + + phrase + + shortcut + \circ + + + phrase + + shortcut + \bullet + + + phrase + + shortcut + \surd + + + phrase + + shortcut + \sqrt + + + phrase + + shortcut + ^3\sqrt + + + phrase + + shortcut + ^4\sqrt + + + phrase + + shortcut + \cuberoot + + + phrase + + shortcut + \fourthroot + + + phrase + + shortcut + \3root + + + phrase + + shortcut + \4root + + + phrase + + shortcut + \propto + + + phrase + + shortcut + \inf + + + phrase + + shortcut + \infty + + + phrase + + shortcut + ^\inf + + + phrase + + shortcut + ^\infty + + + phrase + + shortcut + ^∞ + + + phrase + + shortcut + ^inf + + + phrase + + shortcut + ^infty + + + phrase + ͚ + shortcut + _\inf + + + phrase + ͚ + shortcut + _\infty + + + phrase + ͚ + shortcut + _∞ + + + phrase + ͚ + shortcut + _inf + + + phrase + ͚ + shortcut + _infty + + + phrase + ∫₋ ᪲ ͚ + shortcut + \intinf + + + phrase + + shortcut + \angle + + + phrase + + shortcut + \measuredangle + + + phrase + + shortcut + \sphericalangle + + + phrase + + shortcut + \mid + + + phrase + + shortcut + \nmid + + + phrase + + shortcut + \not\mid + + + phrase + + shortcut + \parallel + + + phrase + + shortcut + \nparallel + + + phrase + + shortcut + \not\parallel + + + phrase + + shortcut + \land + + + phrase + + shortcut + \wedge + + + phrase + + shortcut + \lor + + + phrase + + shortcut + \vee + + + phrase + + shortcut + \cap + + + phrase + + shortcut + \cup + + + phrase + + shortcut + \sqcup + + + phrase + + shortcut + \sqcap + + + phrase + + shortcut + \integral + + + phrase + + shortcut + \int + + + phrase + + shortcut + \iint + + + phrase + + shortcut + \iiint + + + phrase + + shortcut + \intclockwise + + + phrase + + shortcut + \intctrclockwise + + + phrase + + shortcut + \oint + + + phrase + + shortcut + \varointclockwise + + + phrase + + shortcut + \ointctrclockwise + + + phrase + + shortcut + \surfintegral + + + phrase + + shortcut + \volintegral + + + phrase + + shortcut + \therefore + + + phrase + + shortcut + \because + + + phrase + + shortcut + \sim + + + phrase + + shortcut + \backsim + + + phrase + + shortcut + \lazysinv + + + phrase + + shortcut + \wr + + + phrase + + shortcut + \not\sim + + + phrase + + shortcut + \simeq + + + phrase + + shortcut + \not\simeq + + + phrase + + shortcut + \cong + + + phrase + + shortcut + \approxnotequal + + + phrase + + shortcut + \not\cong + + + phrase + + shortcut + \approx + + + phrase + + shortcut + \approxeq + + + phrase + + shortcut + \tildetrpl + + + phrase + + shortcut + \allequal + + + phrase + + shortcut + \asymp + + + phrase + + shortcut + \doteq + + + phrase + + shortcut + \doteqdot + + + phrase + + shortcut + \neq + + + phrase + + shortcut + \equivalent + + + phrase + + shortcut + \equiv + + + phrase + + shortcut + \Equiv + + + phrase + + shortcut + \not\equiv + + + phrase + + shortcut + \leq + + + phrase + + shortcut + \geq + + + phrase + + shortcut + \leqq + + + phrase + + shortcut + \geqq + + + phrase + + shortcut + \lneqq + + + phrase + + shortcut + \gneqq + + + phrase + + shortcut + \ll + + + phrase + + shortcut + \gg + + + phrase + + shortcut + \nless + + + phrase + + shortcut + \ngtr + + + phrase + + shortcut + \nleq + + + phrase + + shortcut + \ngeq + + + phrase + + shortcut + \lessequivlnt + + + phrase + + shortcut + \greaterequivlnt + + + phrase + + shortcut + \prec + + + phrase + + shortcut + \succ + + + phrase + + shortcut + \preccurlyeq + + + phrase + + shortcut + \succcurlyeq + + + phrase + + shortcut + \precapprox + + + phrase + + shortcut + \succapprox + + + phrase + + shortcut + \nprec + + + phrase + + shortcut + \nsucc + + + phrase + + shortcut + \subset + + + phrase + + shortcut + \supset + + + phrase + + shortcut + \nsubset + + + phrase + + shortcut + \notsubset + + + phrase + + shortcut + \not\subset + + + phrase + + shortcut + \nsupset + + + phrase + + shortcut + \notsupset + + + phrase + + shortcut + \not\supset + + + phrase + + shortcut + \subseteq + + + phrase + + shortcut + \supseteq + + + phrase + + shortcut + \nsubseteq + + + phrase + + shortcut + \not\subseteq + + + phrase + + shortcut + \nsupseteq + + + phrase + + shortcut + \not\supseteq + + + phrase + + shortcut + \subsetneq + + + phrase + + shortcut + \supsetneq + + + phrase + + shortcut + \xor + + + phrase + + shortcut + \oplus + + + phrase + + shortcut + \ominus + + + phrase + + shortcut + \otimes + + + phrase + + shortcut + \oslash + + + phrase + + shortcut + \odot + + + phrase + + shortcut + \vdash + + + phrase + + shortcut + \top + + + phrase + + shortcut + \bot + + + phrase + + shortcut + \models + + + phrase + + shortcut + \veebar + + + phrase + + shortcut + \bigcap + + + phrase + + shortcut + \bigcup + + + phrase + + shortcut + \cdot + + + phrase + + shortcut + \lceil + + + phrase + + shortcut + \rceil + + + phrase + + shortcut + \lfloor + + + phrase + + shortcut + \rfloor + + + phrase + + shortcut + \Box + + + phrase + + shortcut + \flat + + + phrase + + shortcut + \natural + + + phrase + + shortcut + \sharp + + + phrase + + shortcut + \langle + + + phrase + + shortcut + \rangle + + + phrase + + shortcut + \Leftarrow + + + phrase + + shortcut + \Rightarrow + + + phrase + + shortcut + \Leftrightarrow + + + phrase + + shortcut + \iiiint + + + phrase + + shortcut + \leqslant + + + phrase + + shortcut + \geqslant + + + phrase + + shortcut + \lneq + + + phrase + + shortcut + \gneq + + + phrase + + shortcut + \preceq + + + phrase + + shortcut + \succeq + + + phrase + + shortcut + \precneqq + + + phrase + + shortcut + \succneqq + + + phrase + + shortcut + _j + + + phrase + 𝔄 + shortcut + \mathfrakA + + + phrase + 𝔅 + shortcut + \mathfrakB + + + phrase + 𝔇 + shortcut + \mathfrakD + + + phrase + 𝔈 + shortcut + \mathfrakE + + + phrase + 𝔉 + shortcut + \mathfrakF + + + phrase + 𝔊 + shortcut + \mathfrakG + + + phrase + 𝔍 + shortcut + \mathfrakJ + + + phrase + 𝔎 + shortcut + \mathfrakK + + + phrase + 𝔏 + shortcut + \mathfrakL + + + phrase + 𝔐 + shortcut + \mathfrakM + + + phrase + 𝔑 + shortcut + \mathfrakN + + + phrase + 𝔒 + shortcut + \mathfrakO + + + phrase + 𝔓 + shortcut + \mathfrakP + + + phrase + 𝔔 + shortcut + \mathfrakQ + + + phrase + 𝔖 + shortcut + \mathfrakS + + + phrase + 𝔗 + shortcut + \mathfrakT + + + phrase + 𝔘 + shortcut + \mathfrakU + + + phrase + 𝔙 + shortcut + \mathfrakV + + + phrase + 𝔛 + shortcut + \mathfrakX + + + phrase + 𝔜 + shortcut + \mathfrakY + + + phrase + 𝔞 + shortcut + \mathfraka + + + phrase + 𝔟 + shortcut + \mathfrakb + + + phrase + 𝔠 + shortcut + \mathfrakc + + + phrase + 𝔡 + shortcut + \mathfrakd + + + phrase + 𝔢 + shortcut + \mathfrake + + + phrase + 𝔣 + shortcut + \mathfrakf + + + phrase + 𝔤 + shortcut + \mathfrakg + + + phrase + 𝔥 + shortcut + \mathfrakh + + + phrase + 𝔦 + shortcut + \mathfraki + + + phrase + 𝔧 + shortcut + \mathfrakj + + + phrase + 𝔨 + shortcut + \mathfrakk + + + phrase + 𝔩 + shortcut + \mathfrakl + + + phrase + 𝔪 + shortcut + \mathfrakm + + + phrase + 𝔫 + shortcut + \mathfrakn + + + phrase + 𝔬 + shortcut + \mathfrako + + + phrase + 𝔭 + shortcut + \mathfrakp + + + phrase + 𝔮 + shortcut + \mathfrakq + + + phrase + 𝔯 + shortcut + \mathfrakr + + + phrase + 𝔰 + shortcut + \mathfraks + + + phrase + 𝔱 + shortcut + \mathfrakt + + + phrase + 𝔲 + shortcut + \mathfraku + + + phrase + 𝔳 + shortcut + \mathfrakv + + + phrase + 𝔵 + shortcut + \mathfrakx + + + phrase + 𝔶 + shortcut + \mathfraky + + + phrase + 𝔷 + shortcut + \mathfrakz + + + phrase + 𝔚 + shortcut + \mathfrakW + + + phrase + 𝔴 + shortcut + \mathfrakw + + + phrase + 𝔸 + shortcut + \mathbbA + + + phrase + 𝔹 + shortcut + \mathbbB + + + phrase + 𝔻 + shortcut + \mathbbD + + + phrase + 𝔼 + shortcut + \mathbbE + + + phrase + 𝔽 + shortcut + \mathbbF + + + phrase + 𝔾 + shortcut + \mathbbG + + + phrase + 𝕀 + shortcut + \mathbbI + + + phrase + 𝕁 + shortcut + \mathbbJ + + + phrase + 𝕂 + shortcut + \mathbbK + + + phrase + 𝕃 + shortcut + \mathbbL + + + phrase + 𝕄 + shortcut + \mathbbM + + + phrase + 𝕆 + shortcut + \mathbbO + + + phrase + 𝕊 + shortcut + \mathbbS + + + phrase + 𝕋 + shortcut + \mathbbT + + + phrase + 𝕌 + shortcut + \mathbbU + + + phrase + 𝕍 + shortcut + \mathbbV + + + phrase + 𝕎 + shortcut + \mathbbW + + + phrase + 𝕏 + shortcut + \mathbbX + + + phrase + 𝕐 + shortcut + \mathbbY + + + phrase + 𝕒 + shortcut + \mathbba + + + phrase + 𝕓 + shortcut + \mathbbb + + + phrase + 𝕔 + shortcut + \mathbbc + + + phrase + 𝕕 + shortcut + \mathbbd + + + phrase + 𝕖 + shortcut + \mathbbe + + + phrase + 𝕗 + shortcut + \mathbbf + + + phrase + 𝕘 + shortcut + \mathbbg + + + phrase + 𝕙 + shortcut + \mathbbh + + + phrase + 𝕚 + shortcut + \mathbbi + + + phrase + 𝕛 + shortcut + \mathbbj + + + phrase + 𝕜 + shortcut + \mathbbk + + + phrase + 𝕝 + shortcut + \mathbbl + + + phrase + 𝕞 + shortcut + \mathbbm + + + phrase + 𝕟 + shortcut + \mathbbn + + + phrase + 𝕠 + shortcut + \mathbbo + + + phrase + 𝕡 + shortcut + \mathbbp + + + phrase + 𝕢 + shortcut + \mathbbq + + + phrase + 𝕣 + shortcut + \mathbbr + + + phrase + 𝕤 + shortcut + \mathbbs + + + phrase + 𝕥 + shortcut + \mathbbt + + + phrase + 𝕦 + shortcut + \mathbbu + + + phrase + 𝕧 + shortcut + \mathbbv + + + phrase + 𝕨 + shortcut + \mathbbw + + + phrase + 𝕩 + shortcut + \mathbbx + + + phrase + 𝕪 + shortcut + \mathbby + + + phrase + 𝕫 + shortcut + \mathbbz + + + phrase + 𝟘 + shortcut + \mathbb0 + + + phrase + 𝟙 + shortcut + \mathbb1 + + + phrase + 𝟚 + shortcut + \mathbb2 + + + phrase + 𝟛 + shortcut + \mathbb3 + + + phrase + 𝟜 + shortcut + \mathbb4 + + + phrase + 𝟝 + shortcut + \mathbb5 + + + phrase + 𝟞 + shortcut + \mathbb6 + + + phrase + 𝟟 + shortcut + \mathbb7 + + + phrase + 𝟠 + shortcut + \mathbb8 + + + phrase + 𝟡 + shortcut + \mathbb9 + + + phrase + 𝒶 + shortcut + \scripta + + + phrase + 𝒜 + shortcut + \scriptA + + + phrase + 𝒷 + shortcut + \scriptb + + + phrase + 𝐵 + shortcut + \scriptB + + + phrase + 𝒸 + shortcut + \scriptc + + + phrase + 𝒞 + shortcut + \scriptC + + + phrase + 𝒹 + shortcut + \scriptd + + + phrase + 𝒟 + shortcut + \scriptD + + + phrase + 𝑒 + shortcut + \scripte + + + phrase + 𝐸 + shortcut + \scriptE + + + phrase + 𝒻 + shortcut + \scriptf + + + phrase + 𝐹 + shortcut + \scriptF + + + phrase + 𝑔 + shortcut + \scriptg + + + phrase + 𝒢 + shortcut + \scriptG + + + phrase + 𝒽 + shortcut + \scripth + + + phrase + 𝐻 + shortcut + \scriptH + + + phrase + 𝒾 + shortcut + \scripti + + + phrase + 𝐼 + shortcut + \scriptI + + + phrase + 𝒿 + shortcut + \scriptj + + + phrase + 𝒥 + shortcut + \scriptJ + + + phrase + 𝓀 + shortcut + \scriptk + + + phrase + 𝒦 + shortcut + \scriptK + + + phrase + 𝓁 + shortcut + \scriptl + + + phrase + 𝐿 + shortcut + \scriptL + + + phrase + 𝓂 + shortcut + \scriptm + + + phrase + 𝑀 + shortcut + \scriptM + + + phrase + 𝓃 + shortcut + \scriptn + + + phrase + 𝒩 + shortcut + \scriptN + + + phrase + 𝑜 + shortcut + \scripto + + + phrase + 𝒪 + shortcut + \scriptO + + + phrase + 𝓅 + shortcut + \scriptp + + + phrase + 𝒫 + shortcut + \scriptP + + + phrase + 𝓆 + shortcut + \scriptq + + + phrase + 𝒬 + shortcut + \scriptQ + + + phrase + 𝓇 + shortcut + \scriptr + + + phrase + 𝑅 + shortcut + \scriptR + + + phrase + 𝓈 + shortcut + \scripts + + + phrase + 𝒮 + shortcut + \scriptS + + + phrase + 𝓉 + shortcut + \scriptt + + + phrase + 𝒯 + shortcut + \scriptT + + + phrase + 𝓊 + shortcut + \scriptu + + + phrase + 𝒰 + shortcut + \scriptU + + + phrase + 𝓋 + shortcut + \scriptv + + + phrase + 𝒱 + shortcut + \scriptV + + + phrase + 𝓌 + shortcut + \scriptw + + + phrase + 𝒲 + shortcut + \scriptW + + + phrase + 𝓍 + shortcut + \scriptx + + + phrase + 𝒳 + shortcut + \scriptX + + + phrase + 𝓎 + shortcut + \scripty + + + phrase + 𝒴 + shortcut + \scriptY + + + phrase + 𝓏 + shortcut + \scriptz + + + phrase + 𝒵 + shortcut + \scriptZ + + + phrase + 𝒶 + shortcut + \mathscra + + + phrase + 𝒜 + shortcut + \mathscrA + + + phrase + 𝒷 + shortcut + \mathscrb + + + phrase + 𝐵 + shortcut + \mathscrB + + + phrase + 𝒸 + shortcut + \mathscrc + + + phrase + 𝒞 + shortcut + \mathscrC + + + phrase + 𝒹 + shortcut + \mathscrd + + + phrase + 𝒟 + shortcut + \mathscrD + + + phrase + 𝑒 + shortcut + \mathscre + + + phrase + 𝐸 + shortcut + \mathscrE + + + phrase + 𝒻 + shortcut + \mathscrf + + + phrase + 𝐹 + shortcut + \mathscrF + + + phrase + 𝑔 + shortcut + \mathscrg + + + phrase + 𝒢 + shortcut + \mathscrG + + + phrase + 𝒽 + shortcut + \mathscrh + + + phrase + 𝐻 + shortcut + \mathscrH + + + phrase + 𝒾 + shortcut + \mathscri + + + phrase + 𝐼 + shortcut + \mathscrI + + + phrase + 𝒿 + shortcut + \mathscrj + + + phrase + 𝒥 + shortcut + \mathscrJ + + + phrase + 𝓀 + shortcut + \mathscrk + + + phrase + 𝒦 + shortcut + \mathscrK + + + phrase + 𝓁 + shortcut + \mathscrl + + + phrase + 𝐿 + shortcut + \mathscrL + + + phrase + 𝓂 + shortcut + \mathscrm + + + phrase + 𝑀 + shortcut + \mathscrM + + + phrase + 𝓃 + shortcut + \mathscrn + + + phrase + 𝒩 + shortcut + \mathscrN + + + phrase + 𝑜 + shortcut + \mathscro + + + phrase + 𝒪 + shortcut + \mathscrO + + + phrase + 𝓅 + shortcut + \mathscrp + + + phrase + 𝒫 + shortcut + \mathscrP + + + phrase + 𝓆 + shortcut + \mathscrq + + + phrase + 𝒬 + shortcut + \mathscrQ + + + phrase + 𝓇 + shortcut + \mathscrr + + + phrase + 𝑅 + shortcut + \mathscrR + + + phrase + 𝓈 + shortcut + \mathscrs + + + phrase + 𝒮 + shortcut + \mathscrS + + + phrase + 𝓉 + shortcut + \mathscrt + + + phrase + 𝒯 + shortcut + \mathscrT + + + phrase + 𝓊 + shortcut + \mathscru + + + phrase + 𝒰 + shortcut + \mathscrU + + + phrase + 𝓋 + shortcut + \mathscrv + + + phrase + 𝒱 + shortcut + \mathscrV + + + phrase + 𝓌 + shortcut + \mathscrw + + + phrase + 𝒲 + shortcut + \mathscrW + + + phrase + 𝓍 + shortcut + \mathscrx + + + phrase + 𝒳 + shortcut + \mathscrX + + + phrase + 𝓎 + shortcut + \mathscry + + + phrase + 𝒴 + shortcut + \mathscrY + + + phrase + 𝓏 + shortcut + \mathscrz + + + phrase + 𝒵 + shortcut + \mathscrZ + + + phrase + 𝚊 + shortcut + \codea + + + phrase + 𝙰 + shortcut + \codeA + + + phrase + 𝚋 + shortcut + \codeb + + + phrase + 𝙱 + shortcut + \codeB + + + phrase + 𝚌 + shortcut + \codec + + + phrase + 𝙲 + shortcut + \codeC + + + phrase + 𝚍 + shortcut + \coded + + + phrase + 𝙳 + shortcut + \codeD + + + phrase + 𝚎 + shortcut + \codee + + + phrase + 𝙴 + shortcut + \codeE + + + phrase + 𝚏 + shortcut + \codef + + + phrase + 𝙵 + shortcut + \codeF + + + phrase + 𝚐 + shortcut + \codeg + + + phrase + 𝙶 + shortcut + \codeG + + + phrase + 𝚑 + shortcut + \codeh + + + phrase + 𝙷 + shortcut + \codeH + + + phrase + 𝚒 + shortcut + \codei + + + phrase + 𝙸 + shortcut + \codeI + + + phrase + 𝚓 + shortcut + \codej + + + phrase + 𝙹 + shortcut + \codeJ + + + phrase + 𝚔 + shortcut + \codek + + + phrase + 𝙺 + shortcut + \codeK + + + phrase + 𝚕 + shortcut + \codel + + + phrase + 𝙻 + shortcut + \codeL + + + phrase + 𝚖 + shortcut + \codem + + + phrase + 𝙼 + shortcut + \codeM + + + phrase + 𝚗 + shortcut + \coden + + + phrase + 𝙽 + shortcut + \codeN + + + phrase + 𝚘 + shortcut + \codeo + + + phrase + 𝙾 + shortcut + \codeO + + + phrase + 𝚙 + shortcut + \codep + + + phrase + 𝙿 + shortcut + \codeP + + + phrase + 𝚚 + shortcut + \codeq + + + phrase + 𝚀 + shortcut + \codeQ + + + phrase + 𝚛 + shortcut + \coder + + + phrase + 𝚁 + shortcut + \codeR + + + phrase + 𝚜 + shortcut + \codes + + + phrase + 𝚂 + shortcut + \codeS + + + phrase + 𝚝 + shortcut + \codet + + + phrase + 𝚃 + shortcut + \codeT + + + phrase + 𝚞 + shortcut + \codeu + + + phrase + 𝚄 + shortcut + \codeU + + + phrase + 𝚟 + shortcut + \codev + + + phrase + 𝚅 + shortcut + \codeV + + + phrase + 𝚠 + shortcut + \codew + + + phrase + 𝚆 + shortcut + \codeW + + + phrase + 𝚡 + shortcut + \codex + + + phrase + 𝚇 + shortcut + \codeX + + + phrase + 𝚢 + shortcut + \codey + + + phrase + 𝚈 + shortcut + \codeY + + + phrase + 𝚣 + shortcut + \codez + + + phrase + 𝚉 + shortcut + \codeZ + + + phrase + 𝚊 + shortcut + \monoa + + + phrase + 𝙰 + shortcut + \monoA + + + phrase + 𝚋 + shortcut + \monob + + + phrase + 𝙱 + shortcut + \monoB + + + phrase + 𝚌 + shortcut + \monoc + + + phrase + 𝙲 + shortcut + \monoC + + + phrase + 𝚍 + shortcut + \monod + + + phrase + 𝙳 + shortcut + \monoD + + + phrase + 𝚎 + shortcut + \monoe + + + phrase + 𝙴 + shortcut + \monoE + + + phrase + 𝚏 + shortcut + \monof + + + phrase + 𝙵 + shortcut + \monoF + + + phrase + 𝚐 + shortcut + \monog + + + phrase + 𝙶 + shortcut + \monoG + + + phrase + 𝚑 + shortcut + \monoh + + + phrase + 𝙷 + shortcut + \monoH + + + phrase + 𝚒 + shortcut + \monoi + + + phrase + 𝙸 + shortcut + \monoI + + + phrase + 𝚓 + shortcut + \monoj + + + phrase + 𝙹 + shortcut + \monoJ + + + phrase + 𝚔 + shortcut + \monok + + + phrase + 𝙺 + shortcut + \monoK + + + phrase + 𝚕 + shortcut + \monol + + + phrase + 𝙻 + shortcut + \monoL + + + phrase + 𝚖 + shortcut + \monom + + + phrase + 𝙼 + shortcut + \monoM + + + phrase + 𝚗 + shortcut + \monon + + + phrase + 𝙽 + shortcut + \monoN + + + phrase + 𝚘 + shortcut + \monoo + + + phrase + 𝙾 + shortcut + \monoO + + + phrase + 𝚙 + shortcut + \monop + + + phrase + 𝙿 + shortcut + \monoP + + + phrase + 𝚚 + shortcut + \monoq + + + phrase + 𝚀 + shortcut + \monoQ + + + phrase + 𝚛 + shortcut + \monor + + + phrase + 𝚁 + shortcut + \monoR + + + phrase + 𝚜 + shortcut + \monos + + + phrase + 𝚂 + shortcut + \monoS + + + phrase + 𝚝 + shortcut + \monot + + + phrase + 𝚃 + shortcut + \monoT + + + phrase + 𝚞 + shortcut + \monou + + + phrase + 𝚄 + shortcut + \monoU + + + phrase + 𝚟 + shortcut + \monov + + + phrase + 𝚅 + shortcut + \monoV + + + phrase + 𝚠 + shortcut + \monow + + + phrase + 𝚆 + shortcut + \monoW + + + phrase + 𝚡 + shortcut + \monox + + + phrase + 𝚇 + shortcut + \monoX + + + phrase + 𝚢 + shortcut + \monoy + + + phrase + 𝚈 + shortcut + \monoY + + + phrase + 𝚣 + shortcut + \monoz + + + phrase + 𝚉 + shortcut + \monoZ + + + phrase + + shortcut + \spadesuit + + + phrase + + shortcut + \heartsuit + + + phrase + + shortcut + \clubsuit + + + phrase + + shortcut + \diamondsuit + + + phrase + + shortcut + \varspadesuit + + + phrase + + shortcut + \varheartsuit + + + phrase + + shortcut + \varclubsuit + + + phrase + + shortcut + \vardiamondsuit + + + phrase + + shortcut + \par + + + phrase + § + shortcut + \S + + + phrase + + shortcut + \lrblacktriangle + + + phrase + + shortcut + \llblacktriangle + + + phrase + + shortcut + \ulblacktriangle + + + phrase + + shortcut + \urblacktriangle + + + phrase + + shortcut + \bigblacktriangledown + + + phrase + + shortcut + \bigblacktriangleup + + + phrase + + shortcut + \blacktriangle + + + phrase + + shortcut + \blacktriangledown + + + phrase + + shortcut + \blacktriangleleft + + + phrase + + shortcut + \blacktriangleright + + + phrase + + shortcut + \texttrademark + + + phrase + © + shortcut + \copyright + + + phrase + ® + shortcut + \circledR + + + phrase + + shortcut + _plus + + + phrase + + shortcut + ^plus + + + phrase + + shortcut + _minus + + + phrase + + shortcut + ^minus + + + phrase + + shortcut + _eq + + + phrase + + shortcut + ^eq + + + phrase + + shortcut + ^lp + + + phrase + + shortcut + ^rp + + + phrase + + shortcut + _lp + + + phrase + + shortcut + _rp + + + phrase + ħ + shortcut + \hbar + + + phrase + + shortcut + \hslash + + + phrase + + shortcut + \dagger + + + phrase + + shortcut + \ddagger + + + phrase + ˜ + shortcut + \smalltilde + + + phrase + ♈︎ + shortcut + \aries + + + phrase + ♉︎ + shortcut + \taurus + + + phrase + ♊︎ + shortcut + \gemini + + + phrase + ♋︎ + shortcut + \cancer + + + phrase + ♌︎ + shortcut + \leo + + + phrase + ♍︎ + shortcut + \virgo + + + phrase + ♎︎ + shortcut + \libra + + + phrase + ♏︎ + shortcut + \scorpio + + + phrase + ♐︎ + shortcut + \sagittarius + + + phrase + ♑︎ + shortcut + \capricorn + + + phrase + ♒︎ + shortcut + \aquarius + + + phrase + ♓︎ + shortcut + \pisces + + + phrase + + shortcut + \sun + + + phrase + + shortcut + \moon + + + phrase + + shortcut + \mercury + + + phrase + + shortcut + \venus + + + phrase + + shortcut + \earth + + + phrase + + shortcut + \mars + + + phrase + + shortcut + \ceres + + + phrase + + shortcut + \jupiter + + + phrase + + shortcut + \saturn + + + phrase + + shortcut + \uranus + + + phrase + + shortcut + \neptune + + + phrase + + shortcut + \pluto + + + phrase + + shortcut + - + + + phrase + ½ + shortcut + \frac12 + + + phrase + + shortcut + \frac13 + + + phrase + + shortcut + \frac23 + + + phrase + ¼ + shortcut + \frac14 + + + phrase + ¾ + shortcut + \frac34 + + + phrase + + shortcut + \frac15 + + + phrase + + shortcut + \frac25 + + + phrase + + shortcut + \frac35 + + + phrase + + shortcut + \frac45 + + + phrase + + shortcut + \frac16 + + + phrase + + shortcut + \frac56 + + + phrase + + shortcut + \frac18 + + + phrase + + shortcut + \frac38 + + + phrase + + shortcut + \frac58 + + + phrase + + shortcut + \frac78 + + + phrase + + shortcut + \co + + + phrase + + shortcut + \QED + + + phrase + + shortcut + \male + + + phrase + + shortcut + \female + + + phrase + + shortcut + \ohm + + + phrase + + shortcut + \doublebarvee + + + phrase + + shortcut + \doublebarwedge + + + phrase + + shortcut + \perspcorrespond + + + phrase + + shortcut + \daleth + + + phrase + + shortcut + ^epsilon + + + phrase + + shortcut + \rightangle + + + phrase + + shortcut + \rupee + + + phrase + + shortcut + \inr + + + phrase + $ + shortcut + \dollar + + + phrase + $ + shortcut + \usd + + + phrase + + shortcut + \euro + + + phrase + + shortcut + \eur + + + phrase + ¥ + shortcut + \yen + + + phrase + ¥ + shortcut + \jpy + + + phrase + + shortcut + \shekel + + + phrase + + shortcut + \sheqel + + + phrase + + shortcut + \ils + + + phrase + + shortcut + \nis + + + phrase + + shortcut + \ruble + + + phrase + + shortcut + \rub + + + phrase + + shortcut + \hryvnia + + + phrase + + shortcut + \uah + + + phrase + + shortcut + \lira + + + phrase + + shortcut + \try + + + phrase + + shortcut + \bitcoin + + + phrase + + shortcut + \btc + + + phrase + + shortcut + \dotsminusdots + + + phrase + + shortcut + \starequal + + + phrase + + shortcut + \triangleq + + + phrase + + shortcut + \cancela + + + phrase + + shortcut + \cancelA + + + phrase + + shortcut + \cancelb + + + phrase + + shortcut + \cancelB + + + phrase + + shortcut + \cancelc + + + phrase + + shortcut + \cancelC + + + phrase + + shortcut + \canceld + + + phrase + + shortcut + \cancelD + + + phrase + + shortcut + \cancele + + + phrase + + shortcut + \cancelE + + + phrase + + shortcut + \cancelf + + + phrase + + shortcut + \cancelF + + + phrase + + shortcut + \cancelg + + + phrase + + shortcut + \cancelG + + + phrase + + shortcut + \cancelh + + + phrase + + shortcut + \cancelH + + + phrase + + shortcut + \canceli + + + phrase + + shortcut + \cancelI + + + phrase + + shortcut + \cancelj + + + phrase + + shortcut + \cancelJ + + + phrase + + shortcut + \cancelk + + + phrase + + shortcut + \cancelK + + + phrase + + shortcut + \cancell + + + phrase + + shortcut + \cancelL + + + phrase + + shortcut + \cancelm + + + phrase + + shortcut + \cancelM + + + phrase + + shortcut + \canceln + + + phrase + + shortcut + \cancelN + + + phrase + + shortcut + \cancelo + + + phrase + + shortcut + \cancelO + + + phrase + + shortcut + \cancelp + + + phrase + + shortcut + \cancelP + + + phrase + + shortcut + \cancelq + + + phrase + + shortcut + \cancelQ + + + phrase + + shortcut + \cancelr + + + phrase + + shortcut + \cancelR + + + phrase + + shortcut + \cancels + + + phrase + + shortcut + \cancelS + + + phrase + + shortcut + \cancelt + + + phrase + + shortcut + \cancelT + + + phrase + + shortcut + \cancelu + + + phrase + + shortcut + \cancelU + + + phrase + + shortcut + \cancelv + + + phrase + + shortcut + \cancelV + + + phrase + + shortcut + \cancelw + + + phrase + + shortcut + \cancelW + + + phrase + + shortcut + \cancelx + + + phrase + + shortcut + \cancelX + + + phrase + + shortcut + \cancely + + + phrase + + shortcut + \cancelY + + + phrase + + shortcut + \cancelz + + + phrase + + shortcut + \cancelZ + + + phrase + + shortcut + \cancel0 + + + phrase + + shortcut + \cancel1 + + + phrase + + shortcut + \cancel2 + + + phrase + + shortcut + \cancel3 + + + phrase + + shortcut + \cancel4 + + + phrase + + shortcut + \cancel5 + + + phrase + + shortcut + \cancel6 + + + phrase + + shortcut + \cancel7 + + + phrase + + shortcut + \cancel8 + + + phrase + + shortcut + \cancel9 + + + phrase + + shortcut + \models + + + phrase + + shortcut + \nequiv + + + phrase + + shortcut + \VDash + + + phrase + + shortcut + \Vdash + + + phrase + + shortcut + \Vvdash + + + phrase + + shortcut + \nvdash + + + phrase + + shortcut + \vDash + + + phrase + + shortcut + \nvDash + + + phrase + + shortcut + \swastika + + + phrase + + shortcut + \revSwastika + + + phrase + ✝︎ + shortcut + \latinCross + + + phrase + ☪︎ + shortcut + \starAndCrescent + + + phrase + ✡︎ + shortcut + \starOfDavid + + + phrase + + shortcut + \dota + + + phrase + + shortcut + \dotb + + + phrase + + shortcut + \dotc + + + phrase + + shortcut + \dotd + + + phrase + + shortcut + \dote + + + phrase + + shortcut + \dotf + + + phrase + + shortcut + \dotg + + + phrase + + shortcut + \doth + + + phrase + + shortcut + \doti + + + phrase + + shortcut + \dotj + + + phrase + + shortcut + \dotk + + + phrase + + shortcut + \doti + + + phrase + + shortcut + \dotm + + + phrase + + shortcut + \dotn + + + phrase + + shortcut + \doto + + + phrase + + shortcut + \dotp + + + phrase + + shortcut + \dotq + + + phrase + + shortcut + \dotr + + + phrase + + shortcut + \dots + + + phrase + + shortcut + \dott + + + phrase + + shortcut + \dotu + + + phrase + + shortcut + \dotv + + + phrase + + shortcut + \dotw + + + phrase + + shortcut + \dotx + + + phrase + + shortcut + \doty + + + phrase + + shortcut + \dotz + + + phrase + a⃗ + shortcut + \vectora + + + phrase + b⃗ + shortcut + \vectorb + + + phrase + c⃗ + shortcut + \vectorc + + + phrase + d⃗ + shortcut + \vectord + + + phrase + e⃗ + shortcut + \vectore + + + phrase + f⃗ + shortcut + \vectorf + + + phrase + g⃗ + shortcut + \vectorg + + + phrase + h⃗ + shortcut + \vectorh + + + phrase + i⃗ + shortcut + \vectori + + + phrase + j⃗ + shortcut + \vectorj + + + phrase + k⃗ + shortcut + \vectork + + + phrase + l⃗ + shortcut + \vectorl + + + phrase + m⃗ + shortcut + \vectorm + + + phrase + n⃗ + shortcut + \vectorn + + + phrase + o⃗ + shortcut + \vectoro + + + phrase + p⃗ + shortcut + \vectorp + + + phrase + q⃗ + shortcut + \vectorq + + + phrase + r⃗ + shortcut + \vectorr + + + phrase + s⃗ + shortcut + \vectors + + + phrase + t⃗ + shortcut + \vectort + + + phrase + u⃗ + shortcut + \vectoru + + + phrase + v⃗ + shortcut + \vectorv + + + phrase + w⃗ + shortcut + \vectorw + + + phrase + x⃗ + shortcut + \vectorx + + + phrase + y⃗ + shortcut + \vectory + + + phrase + z⃗ + shortcut + \vectorz + + + phrase + A⃗ + shortcut + \vectorA + + + phrase + B⃗ + shortcut + \vectorB + + + phrase + C⃗ + shortcut + \vectorC + + + phrase + D⃗ + shortcut + \vectorD + + + phrase + E⃗ + shortcut + \vectorE + + + phrase + F⃗ + shortcut + \vectorF + + + phrase + G⃗ + shortcut + \vectorG + + + phrase + H⃗ + shortcut + \vectorH + + + phrase + I⃗ + shortcut + \vectorI + + + phrase + J⃗ + shortcut + \vectorJ + + + phrase + K⃗ + shortcut + \vectorK + + + phrase + L⃗ + shortcut + \vectorL + + + phrase + M⃗ + shortcut + \vectorM + + + phrase + N⃗ + shortcut + \vectorN + + + phrase + O⃗ + shortcut + \vectorO + + + phrase + P⃗ + shortcut + \vectorP + + + phrase + Q⃗ + shortcut + \vectorQ + + + phrase + R⃗ + shortcut + \vectorR + + + phrase + S⃗ + shortcut + \vectorS + + + phrase + T⃗ + shortcut + \vectorT + + + phrase + U⃗ + shortcut + \vectorU + + + phrase + V⃗ + shortcut + \vectorV + + + phrase + W⃗ + shortcut + \vectorW + + + phrase + X⃗ + shortcut + \vectorX + + + phrase + Y⃗ + shortcut + \vectorY + + + phrase + Z⃗ + shortcut + \vectorZ + + + phrase + + shortcut + \ddota + + + phrase + + shortcut + \ddotb + + + phrase + + shortcut + \ddotc + + + phrase + + shortcut + \ddotd + + + phrase + + shortcut + \ddote + + + phrase + + shortcut + \ddotf + + + phrase + + shortcut + \ddotg + + + phrase + + shortcut + \ddoth + + + phrase + + shortcut + \ddoti + + + phrase + + shortcut + \ddotj + + + phrase + + shortcut + \ddotk + + + phrase + + shortcut + \ddoti + + + phrase + + shortcut + \ddotm + + + phrase + + shortcut + \ddotn + + + phrase + + shortcut + \ddoto + + + phrase + + shortcut + \ddotp + + + phrase + + shortcut + \ddotq + + + phrase + + shortcut + \ddotr + + + phrase + + shortcut + \ddots + + + phrase + + shortcut + \ddott + + + phrase + + shortcut + \ddotu + + + phrase + + shortcut + \ddotv + + + phrase + + shortcut + \ddotw + + + phrase + + shortcut + \ddotx + + + phrase + + shortcut + \ddoty + + + phrase + + shortcut + \ddotz + + + From 6be7047f4f37b4a557e7e3ff4fb85fa1980bce0d Mon Sep 17 00:00:00 2001 From: Jonah Lawrence Date: Thu, 14 Sep 2023 13:19:16 -0600 Subject: [PATCH 3/5] Refactor python code --- .github/dictionary_to_plist.py | 34 ++++++++----------- .../dictionary.plist | 0 2 files changed, 15 insertions(+), 19 deletions(-) rename dictionary.plist => generated/dictionary.plist (100%) diff --git a/.github/dictionary_to_plist.py b/.github/dictionary_to_plist.py index fd87b6f..04acc01 100644 --- a/.github/dictionary_to_plist.py +++ b/.github/dictionary_to_plist.py @@ -1,31 +1,27 @@ import plistlib INPUT_FILE = "dictionary.txt" -OUTPUT_FILE = "dictionary.plist" +OUTPUT_FILE = "generated/dictionary.plist" + def parse_line(line: str) -> tuple[str | None, str | None]: - """ - Parses a line in the format "" - and returns the phrase and shortcut. If the line is not - in the correct format, returns None for both values. - """ - parts = line.strip().split('\t') + """Returns the shortcut and phrase from a line in the format "". + If the line is not in the above format, returns None for both values.""" + parts = line.strip().split("\t") if len(parts) == 2: - return parts[1], parts[0] + return parts[0], parts[1] else: return None, None -# Read input from a file -input_data = [] -with open(INPUT_FILE, 'r', encoding='utf-8') as file: - for line in file: - phrase, shortcut = parse_line(line) - if phrase is not None and shortcut is not None: - input_data.append((phrase, shortcut)) -# Create a list of dictionaries -output_data = [{'phrase': phrase, 'shortcut': shortcut} for phrase, shortcut in input_data] +# Create a list of dictionaries from the input file +data = [] +with open(INPUT_FILE, "r", encoding="utf-8") as file: + for line in file: + shortcut, phrase = parse_line(line) + if shortcut is not None and phrase is not None: + data.append({"phrase": phrase, "shortcut": shortcut}) # Write the plist to a file -with open(OUTPUT_FILE, 'wb') as plist_file: - plistlib.dump(output_data, plist_file, fmt=plistlib.FMT_XML) +with open(OUTPUT_FILE, "wb") as plist_file: + plistlib.dump(data, plist_file, fmt=plistlib.FMT_XML) diff --git a/dictionary.plist b/generated/dictionary.plist similarity index 100% rename from dictionary.plist rename to generated/dictionary.plist From 63ca497ead8721f28e6d33ae3aca3e13d9f67e7c Mon Sep 17 00:00:00 2001 From: Jonah Lawrence Date: Thu, 14 Sep 2023 16:24:14 -0600 Subject: [PATCH 4/5] refactor: specific types --- .github/dictionary_to_plist.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/dictionary_to_plist.py b/.github/dictionary_to_plist.py index 04acc01..c5d67c9 100644 --- a/.github/dictionary_to_plist.py +++ b/.github/dictionary_to_plist.py @@ -4,7 +4,7 @@ OUTPUT_FILE = "generated/dictionary.plist" -def parse_line(line: str) -> tuple[str | None, str | None]: +def parse_line(line: str) -> tuple[str, str] | tuple[None, None]: """Returns the shortcut and phrase from a line in the format "". If the line is not in the above format, returns None for both values.""" parts = line.strip().split("\t") From 839913f2467a379feef1bdd3a479b384e7d32741 Mon Sep 17 00:00:00 2001 From: Jonah Lawrence Date: Thu, 14 Sep 2023 16:29:42 -0600 Subject: [PATCH 5/5] Add github token to workflow --- .github/workflows/generate-plist.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/generate-plist.yml b/.github/workflows/generate-plist.yml index 45630b0..8ab6725 100644 --- a/.github/workflows/generate-plist.yml +++ b/.github/workflows/generate-plist.yml @@ -22,5 +22,6 @@ jobs: with: author_name: GitHub Actions author_email: 41898282+github-actions[bot]@users.noreply.github.com + github_token: ${{ secrets.GITHUB_TOKEN }} message: "chore: Update dictionary.plist" add: "*.plist"