diff options
| author | charguer | 2018-09-25 18:46:29 +0200 |
|---|---|---|
| committer | Vincent Laporte | 2019-03-18 10:29:50 +0000 |
| commit | d183e6b3bef905032333135849104fc66d5de68d (patch) | |
| tree | ff2c0d0380e8b48795db84971a9fb4e9134ff040 /ide | |
| parent | 50fe6429e852a78f8e870a4bfcb444f60cb0b7de (diff) | |
working set of bindings
Diffstat (limited to 'ide')
| -rw-r--r-- | ide/default.bindings | 1156 | ||||
| -rw-r--r-- | ide/preferences.ml | 35 | ||||
| -rw-r--r-- | ide/wg_ScriptView.ml | 53 |
3 files changed, 1215 insertions, 29 deletions
diff --git a/ide/default.bindings b/ide/default.bindings new file mode 100644 index 0000000000..ac4d32fb34 --- /dev/null +++ b/ide/default.bindings @@ -0,0 +1,1156 @@ +\!' ¡ +\` ‘ +\`` “ +\' ′ +\'' ″ +\''' ‴ +\mbox'' ” +\mbox' ’ +\-- – +\--- — +\"A Ä +\"E Ë +\"H Ḧ +\"I Ï +\"O Ö +\"U Ü +\"W Ẅ +\"X Ẍ +\"Y Ÿ +\"a ä +\"e ë +\"h ḧ +\"i ï +\"o ö +\"t ẗ +\"u ü +\"w ẅ +\"x ẍ +\"y ÿ +\'A Á +\'C Ć +\'E É +\'G Ǵ +\'I Í +\'K Ḱ +\'L Ĺ +\'M Ḿ +\'N Ń +\'O Ó +\'P Ṕ +\'R Ŕ +\'S Ś +\'U Ú +\'W Ẃ +\'Y Ý +\'Z Ź +\'a á +\'c ć +\'e é +\'g ǵ +\'i í +\'k ḱ +\'l ĺ +\'m ḿ +\'n ń +\'o ó +\'p ṕ +\'r ŕ +\'s ś +\'u ú +\'w ẃ +\'y ý +\'z ź +\.A Ȧ +\.B Ḃ +\.C Ċ +\.D Ḋ +\.E Ė +\.F Ḟ +\.G Ġ +\.H Ḣ +\.I İ +\.M Ṁ +\.N Ṅ +\.O Ȯ +\.P Ṗ +\.R Ṙ +\.S Ṡ +\.T Ṫ +\.W Ẇ +\.X Ẋ +\.Y Ẏ +\.Z Ż +\.a ȧ +\.b ḃ +\.c ċ +\.d ḋ +\.e ė +\.f ḟ +\.g ġ +\.h ḣ +\.m ṁ +\.n ṅ +\.o ȯ +\.p ṗ +\.r ṙ +\.s ṡ +\.t ṫ +\.w ẇ +\.x ẋ +\.y ẏ +\.z ż +\=A Ā +\=E Ē +\=G Ḡ +\=I Ī +\=O Ō +\=U Ū +\=Y Ȳ +\=a ā +\=e ē +\=g ḡ +\=i ī +\=o ō +\=u ū +\=y ȳ +\AA Å +\AE Æ +\Alpha Α 1 +\Beta Β 1 +\Box □ +\Bumpeq ≎ +\Cap ⋒ +\Chi Χ 1 +\Cup ⋓ +\DH Ð +\Delta Δ 1 +\Diamond ◇ +\Downarrow ⇓ +\Epsilon Ε 1 +\Eta Η 1 +\Finv Ⅎ +\Gamma Γ 1 +\Im ℑ +\Join ⋈ +\Kappa Κ 1 +\L Ł +\Lambda Λ 1 +\Leftarrow ⇐ +\Leftrightarrow ⇔ +\Lleftarrow ⇚ +\Longleftarrow ⇐ +\Longleftrightarrow ⇔ +\Longrightarrow ⇒ +\Lsh ↰ +\Mu Μ 1 +\Nu Ν 1 +\O Ø +\OE Œ +\Omega Ω +\W Ω 1 +\Omicron Ο 1 +\P ¶ +\Phi Φ +\F Φ 1 +\Pi Π 1 +\Psi Ψ +\Re ℜ +\Rho Ρ 1 +\Rightarrow ⇒ +\Rrightarrow ⇛ +\Rsh ↱ +\S § +\Sigma Σ 1 +\Subset ⋐ +\Supset ⋑ +\TH Þ +\Tau Τ 1 +\Theta Θ 1 +\Uparrow ⇑ +\Updownarrow ⇕ +\Upsilon Υ 1 +\Vdash ⊩ +\Vvdash ⊪ +\Xi Ξ 1 +\Zeta Ζ 1 +\^A  +\^C Ĉ +\^E Ê +\^G Ĝ +\^H Ĥ +\^I Î +\^J Ĵ +\^O Ô +\^S Ŝ +\^U Û +\^W Ŵ +\^Y Ŷ +\^Z Ẑ +\^a â +\^c ĉ +\^e ê +\^g ĝ +\^h ĥ +\^i î +\^j ĵ +\^o ô +\^s ŝ +\^u û +\^w ŵ +\^y ŷ +\^z ẑ +\`A À +\`E È +\`I Ì +\`N Ǹ +\`O Ò +\`U Ù +\`W Ẁ +\`Y Ỳ +\`a à +\`e è +\`i ì +\`n ǹ +\`o ò +\`u ù +\`w ẁ +\`y ỳ +\aa å +\ae æ +\aleph ℵ +\alpha α 1 +\angle ∠ +\approx ≈ +\approxeq ≊ +\aquarius ♒ +\aries ♈ +\ascnode ☊ +\ast ∗ +\astrosun ☉ +\asymp ≍ +\backepsilon ∍ +\backprime ‵ +\backsim ∽ +\barwedge ⊼ +\barA Ā +\barE Ē +\barG Ḡ +\barI Ī +\barO Ō +\barU Ū +\barY Ȳ +\bara ā +\bare ē +\barg ḡ +\bari ī +\baro ō +\baru ū +\bary ȳ +\because ∵ +\beta β 1 +\beth ℶ +\between ≬ +\bigcap ⋂ +\bigcirc ○ +\bigcup ⋃ +\bigodot ⊙ +\bigoplus ⊕ +\bigotimes ⊗ +\bigsqcup ⊔ +\bigstar ★ +\bigtriangledown ▽ +\bigtriangleup △ +\biguplus ⊎ +\bigvee ⋁ +\bigwedge ⋀ +\blackbishop ♝ +\blackking ♚ +\blackknight ♞ +\blacklozenge ◆ +\blackpawn ♟ +\blackqueen ♛ +\blackrook ♜ +\blacksquare ■ +\blacktriangle ▲ +\blacktriangledown ▼ +\blacktriangleleft ◀ +\blacktriangleright ▷ +\bot ⊥ +\bowtie ⋈ +\boxdot ⊡ +\boxminus ⊟ +\boxplus ⊞ +\boxtimes ⊠ +\breveA Ă +\breveE Ĕ +\breveG Ğ +\breveI Ĭ +\breveO Ŏ +\breveU Ŭ +\brevea ă +\brevee ĕ +\breveg ğ +\brevei ĭ +\breveo ŏ +\breveu ŭ +\bullet ∙ +\bumpeq ≏ +\cancer ♋ +\cap ∩ +\capricornus ♑ +\capslockkey ⇪ +\cdot ⋅ +\cdots ⋯ +\centerdot ⋅ +\cents ¢ +\checkA Ǎ +\checkC Č +\checkD Ď +\checkE Ě +\checkN Ň +\checkR Ř +\checkS Š +\checkT Ť +\checkZ Ž +\checka ǎ +\checkc č +\checkd ď +\checke ě +\checkn ň +\checkr ř +\checks š +\checkt ť +\checkz ž +\chi χ 1 +\circ ∘ +\circeq ≗ +\circlearrowleft ↺ +\circlearrowright ↻ +\circledS Ⓢ +\circledast ⊛ +\circledcirc ⊚ +\circleddash ⊝ +\clubsuit ♣ +\cmdkey ⌘ +\complement ∁ +\cong ≅ +\conjunction ☌ +\coprod ∐ +\copyright © +\cup ∪ +\curlyeqprec ⋞ +\curlyeqsucc ⋟ +\curlyvee ⋎ +\curlywedge ⋏ +\curvearrowleft ↶ +\curvearrowright ↷ +\cC Ç +\cc ç +\dag † +\dagger † +\daleth ℸ +\dashleftarrow ⇠ +\dashrightarrow ⇢ +\dashv ⊣ +\ddag ‡ +\ddagger ‡ +\ddots ⋱ +\ddotA Ä +\ddotE Ë +\ddotH Ḧ +\ddotI Ï +\ddotO Ö +\ddotU Ü +\ddotW Ẅ +\ddotX Ẍ +\ddotY Ÿ +\ddota ä +\ddote ë +\ddoth ḧ +\ddoti ï +\ddoto ö +\ddott ẗ +\ddotu ü +\ddotw ẅ +\ddotx ẍ +\ddoty ÿ +\degree ° +\delkey ⌫ +\delta δ 1 +\descnode ☋ +\dh ð +\diamond ⋄ +\diamondsuit ♢ +\digamma Ϝ +\div ÷ +\divideontimes ⋇ +\doteq ≐ +\doteqdot ≑ +\dotplus ∔ +\dotA Ȧ +\dotB Ḃ +\dotC Ċ +\dotD Ḋ +\dotE Ė +\dotF Ḟ +\dotG Ġ +\dotH Ḣ +\dotI İ +\dotM Ṁ +\dotN Ṅ +\dotO Ȯ +\dotP Ṗ +\dotR Ṙ +\dotS Ṡ +\dotT Ṫ +\dotW Ẇ +\dotX Ẋ +\dotY Ẏ +\dotZ Ż +\dota ȧ +\dotb ḃ +\dotc ċ +\dotd ḋ +\dote ė +\dotf ḟ +\dotg ġ +\doth ḣ +\dotm ṁ +\dotn ṅ +\doto ȯ +\dotp ṗ +\dotr ṙ +\dots ṡ +\dott ṫ +\dotw ẇ +\dotx ẋ +\doty ẏ +\dotz ż +\downarrow ↓ +\downdownarrows ⇊ +\downharpoonleft ⇃ +\downharpoonright ⇂ +\dA Ạ +\dB Ḅ +\dD Ḍ +\dE Ẹ +\dH Ḥ +\dI Ị +\dK Ḳ +\dL Ḷ +\dM Ṃ +\dN Ṇ +\dO Ọ +\dR Ṛ +\dS Ṣ +\dT Ṭ +\dU Ụ +\dV Ṿ +\dW Ẉ +\dY Ỵ +\dZ Ẓ +\da ạ +\db ḅ +\dd ḍ +\de ẹ +\dh ḥ +\di ị +\dk ḳ +\dl ḷ +\dm ṃ +\dn ṇ +\do ọ +\dr ṛ +\ds ṣ +\dt ṭ +\du ụ +\dv ṿ +\dw ẉ +\dy ỵ +\dz ẓ +\earth ⊕ +\ejectkey ⏏ +\ell ℓ +\emptyset ∅ +\enterkey ⌤ +\epsdice1 ⚀ +\epsdice2 ⚁ +\epsdice3 ⚂ +\epsdice4 ⚃ +\epsdice5 ⚄ +\epsdice6 ⚅ +\epsilon ∊ +\eqcirc ≖ +\equiv ≡ +\esckey ⎋ +\eta η 1 +\eth ð +\euro € +\exists ∃ +\fallingdotseq ≒ +\flat ♭ +\forall ∀ +\frown ⌢ +\gamma γ 1 +\ge ≥ +\gemini ♊ +\geq ≥ +\geqq ≧ +\gg ≫ +\ggg ⋙ +\gimel ℷ +\gtrdot ⋗ +\gtreqless ⋛ +\gtrless ≷ +\gtrsim ≳ +\hbar ℏ +\heartsuit ♡ +\hookleftarrow ↩ +\hookrightarrow ↪ +\hslash ℏ +\iiiint ⨌ +\iiint ∭ +\iint ∬ +\implies ⇒ +\in ∈ +\infty ∞ +\int ∫ +\intercal ⊺ +\iota ι 1 +\jupiter ♃ +\kappa κ 1 +\l{} ł +\lambda λ 1 +\langle ⟨ +\lceil ⌈ +\ldots … +\le ≤ +\leadsto ↝ +\leftarrow ← +\leftarrowtail ↢ +\leftharpoondown ↽ +\leftharpoonup ↼ +\leftleftarrows ⇇ +\leftmoon ☾ +\leftrightarrow ↔ +\leftrightarrows ⇆ +\leftrightharpoons ⇋ +\leftrightsquigarrow ↭ +\leftthreetimes ⋋ +\leo ♌ +\leq ≤ +\leqq ≦ +\leqslant ≤ +\lessdot ⋖ +\lesseqgtr ⋚ +\lessgtr ≶ +\lesssim ≲ +\lfloor ⌊ +\lhd ⊲ +\libra ♎ +\ll ≪ +\lll ⋘ +\longleftarrow ← +\longleftrightarrow ↔ +\longmapsto ⇖ +\longrightarrow → +\looparrowleft ↫ +\looparrowright ↬ +\lozenge ◊ +\ltimes ⋉ +\mapsto ↦ +\mars ♂ +\bb0 𝟘 +\bb1 𝟙 +\bb2 𝟚 +\bb3 𝟛 +\bb4 𝟜 +\bb5 𝟝 +\bb6 𝟞 +\bb7 𝟟 +\bb8 𝟠 +\bb9 𝟡 +\bbA 𝔸 +\bbB 𝔹 +\bbC ℂ +\bbD 𝔻 +\bbE 𝔼 +\bbF 𝔽 +\bbG 𝔾 +\bbH ℍ +\bbI 𝕀 +\bbJ 𝕁 +\bbK 𝕂 +\bbL 𝕃 +\bbM 𝕄 +\bbN ℕ +\bbO 𝕆 +\bbP ℙ +\bbQ ℚ +\bbR ℝ +\bbS 𝕊 +\bbT 𝕋 +\bbU 𝕌 +\bbV 𝕍 +\bbW 𝕎 +\bbX 𝕏 +\bbY 𝕐 +\bbZ ℤ +\bba 𝕒 +\bbb 𝕓 +\bbc 𝕔 +\bbd 𝕕 +\bbe 𝕖 +\bbf 𝕗 +\bbg 𝕘 +\bbh 𝕙 +\bbi 𝕚 +\bbj 𝕛 +\bbk 𝕜 +\bbl 𝕝 +\bbm 𝕞 +\bbn 𝕟 +\bbo 𝕠 +\bbp 𝕡 +\bbq 𝕢 +\bbr 𝕣 +\bbs 𝕤 +\bbt 𝕥 +\bbu 𝕦 +\bbv 𝕧 +\bbw 𝕨 +\bbx 𝕩 +\bby 𝕪 +\bbz 𝕫 +\calA 𝒜 +\calB ℬ +\calC 𝒞 +\calD 𝒟 +\calE ℰ +\calF ℱ +\calG 𝒢 +\calH ℋ +\calI ℐ +\calJ 𝒥 +\calK 𝒦 +\calL ℒ +\calM ℳ +\calN 𝒩 +\calO 𝒪 +\calP 𝒫 +\calQ 𝒬 +\calR ℛ +\calS 𝒮 +\calT 𝒯 +\calU 𝒰 +\calV 𝒱 +\calW 𝒲 +\calX 𝒳 +\calY 𝒴 +\calZ 𝒵 +\cala 𝒶 +\calb 𝒷 +\calc 𝒸 +\cald 𝒹 +\cale ℯ +\calf 𝒻 +\calg ℊ +\calh 𝒽 +\cali 𝒾 +\calj 𝒿 +\calk 𝓀 +\call 𝓁 +\calm 𝓂 +\caln 𝓃 +\calo ℴ +\calp 𝓅 +\calq 𝓆 +\calr 𝓇 +\cals 𝓈 +\calt 𝓉 +\calu 𝓊 +\calv 𝓋 +\calw 𝓌 +\calx 𝓍 +\caly 𝓎 +\calz 𝓏 +\frakA 𝔄 +\frakB 𝔅 +\frakC ℭ +\frakD 𝔇 +\frakE 𝔈 +\frakF 𝔉 +\frakG 𝔊 +\frakH ℌ +\frakI ℑ +\frakJ 𝔍 +\frakK 𝔎 +\frakL 𝔏 +\frakM 𝔐 +\frakN 𝔑 +\frakO 𝔒 +\frakP 𝔓 +\frakQ 𝔔 +\frakR ℜ +\frakS 𝔖 +\frakT 𝔗 +\frakU 𝔘 +\frakV 𝔙 +\frakW 𝔚 +\frakX 𝔛 +\frakY 𝔜 +\frakZ ℨ +\fraka 𝔞 +\frakb 𝔟 +\frakc 𝔠 +\frakd 𝔡 +\frake 𝔢 +\frakf 𝔣 +\frakg 𝔤 +\frakh 𝔥 +\fraki 𝔦 +\frakj 𝔧 +\frakk 𝔨 +\frakl 𝔩 +\frakm 𝔪 +\frakn 𝔫 +\frako 𝔬 +\frakp 𝔭 +\frakq 𝔮 +\frakr 𝔯 +\fraks 𝔰 +\frakt 𝔱 +\fraku 𝔲 +\frakv 𝔳 +\frakw 𝔴 +\frakx 𝔵 +\fraky 𝔶 +\frakz 𝔷 +\measuredangle ∡ +\mercury ☿ +\mho ℧ +\mid ∣ +\models ⊨ +\mp ∓ +\mu μ 1 +\multimap ⊸ +\nabla ∇ +\natural ♮ +\nearrow ↗ +\neg ¬ +\neptune ♆ +\neq ≠ +\nexists ∄ +\ng ŋ +\ni ∋ +\not< ≮ +\not> ≯ +\not\Vdash ⊮ +\not\approx ≉ +\not\cong ≇ +\not\equiv ≢ +\not\ge ≱ +\not\gtrless ≹ +\not\in ∉ +\not\le ≰ +\not\models ⊭ +\not\ni ∌ +\not\sim ≄ +\not\sqsubseteq ⋢ +\not\sqsupseteq ⋣ +\not\subset ⊄ +\not\subseteq ⊈ +\not\supset ⊅ +\not\supseteq ⊉ +\not\vdash ⊬ +\notin ∉ +\nu ν 1 +\v ν 1 +\nwarrow ↖ +\o{} ø +\odot ⊙ +\oe œ +\oint ∮ +\omega ω +\w ω 1 +\omicron ο 1 +\ominus ⊖ +\oplus ⊕ +\opposition ☍ +\optkey ⌥ +\oslash ⊘ +\otimes ⊗ +\parallel ∥ +\partial ∂ +\perp ⊥ +\phi φ +\f φ 1 +\pi π 1 +\pilcrow ¶ +\pisces ♓ +\pitchfork ⋔ +\pluto ♇ +\pm ± +\pound £ +\pounds £ +\prec ≺ +\preccurlyeq ≼ +\preceq ≼ +\precsim ≾ +\prime ′ +\prod ∏ +\propto ∝ +\psi ψ +\rangle ⟩ +\rceil ⌉ +\registered ® +\returnkey ⏎ +\revtabkey ⇤ +\rfloor ⌋ +\rhd ⊳ +\rho ρ 1 +\rightarrow → +\rightarrowtail ↣ +\rightdelkey ⌦ +\rightharpoondown ⇁ +\rightharpoonup ⇀ +\rightleftarrows ⇄ +\rightleftharpoons ⇌ +\rightmoon ☽ +\rightrightarrows ⇉ +\rightsquigarrow ⇝ +\rightthreetimes ⋌ +\risingdotseq ≓ +\rtimes ⋊ +\sagittarius ♐ +\saturn ♄ +\scorpio ♏ +\searrow ↘ +\section § +\setminus ∖ +\sharp ♯ +\shiftkey ⇧ +\shortparallel ∥ +\sigma σ 1 +\sim ∼ +\simeq ≃ +\smallfrown ⌢ +\smallsetminus ∖ +\smallsmile ⌣ +\smile ⌣ +\space ␣ +\spadesuit ♠ +\sphericalangle ∢ +\sqcap ⊓ +\sqcup ⊔ +\sqsubset ⊏ +\sqsubseteq ⊑ +\sqsupset ⊐ +\sqsupseteq ⊒ +\square □ +\ss ß +\star ⋆ +\subset ⊂ +\subseteq ⊆ +\subsetneq ⊊ +\succ ≻ +\succcurlyeq ≽ +\succeq ≽ +\succsim ≿ +\sum ∑ +\supset ⊃ +\supseteq ⊇ +\supsetneq ⊋ +\surd √ +\swarrow ↙ +\tabkey ⇥ +\tau τ 1 +\taurus ♉ +\textbabygamma ɤ +\textbarglotstop ʡ +\textbari ɨ +\textbaro ɵ +\textbarrevglotstop ʢ +\textbaru ʉ +\textbeltl ɬ +\textbeta β +\textbullseye ʘ +\textchi χ +\textcloserevepsilon ɞ +\textcrh ħ +\textctc ɕ +\textctj ʝ +\textctz ʑ +\textdoublepipe ǁ +\textdyoghlig ʤ +\textepsilon ɛ +\textesh ʃ +\textfishhookr ɾ +\textgamma ɣ +\textglotstop ʔ +\textgrgamma γ +\texthtb ɓ +\texthtd ɗ +\texthtg ɠ +\texthth ɦ +\texththeng ɧ +\texthtscg ʛ +\textinvscr ʁ +\textiota ι +\textltailm ɱ +\textltailn ɲ +\textltilde ɫ +\textlyoghlig ɮ +\textopeno ɔ +\textphi ɸ +\textpipe ǀ +\textregistered ® +\textreve ɘ +\textrevepsilon ɜ +\textrevglotstop ʕ +\textrhookrevepsilon ɝ +\textrighthookschwa ɚ +\textrtaild ɖ +\textrtaill ɭ +\textrtailn ɳ +\textrtailr ɽ +\textrtails ʂ +\textrtailt ʈ +\textrtailz ʐ +\textscb ʙ +\textscg ɢ +\textsch ʜ +\textschwa ə +\textsci ɪ +\textscl ʟ +\textscn ɴ +\textscoelig ɶ +\textscr ʀ +\textscripta ɑ +\textscriptv ʋ +\textscy ʏ +\textteshlig ʧ +\texttheta θ +\texttrademark ™ +\textturna ɐ +\textturnh ɥ +\textturnlonglegr ɺ +\textturnm ɯ +\textturnmrleg ɰ +\textturnr ɹ +\textturnrrtail ɻ +\textturnscripta ɒ +\textturnv ʌ +\textturnw ʍ +\textturny ʎ +\textupsilon ʊ +\textyogh ʒ +\th þ +\therefore ∴ +\theta θ 1 +\h θ 1 +\thickapprox ≈ +\thicksim ∼ +\times × +\top ⊤ +\trademark ™ +\triangle △ +\triangledown ▽ +\triangleleft ◁ +\trianglelefteq ⊴ +\triangleq ≜ +\triangleright ▷ +\trianglerighteq ⊵ +\twoheadleftarrow ↞ +\twoheadrightarrow ↠ +\unlhd ⊴ +\unrhd ⊵ +\uparrow ↑ +\updownarrow ↕ +\upharpoonleft ↿ +\upharpoonright ↾ +\uplus ⊎ +\upsilon υ 1 +\upuparrows ⇈ +\uranus ⛢ +\uA Ă +\uE Ĕ +\uG Ğ +\uI Ĭ +\uO Ŏ +\uU Ŭ +\ua ă +\ue ĕ +\ug ğ +\ui ĭ +\uo ŏ +\uu ŭ +\vDash ⊨ +\varepsilon ε +\varkappa ϰ +\varnothing ∅ +\varphi ϕ +\varpi ϖ +\varpropto ∝ +\varrho ϱ +\varsigma ς +\vartheta ϑ +\vartriangle △ +\vartriangleleft ⊲ +\vartriangleright ⊳ +\vdash ⊢ +\vdots ⋮ +\vee ∨ +\veebar ⊻ +\venus ♀ +\virgo ♍ +\vA Ǎ +\vC Č +\vD Ď +\vE Ě +\vN Ň +\vR Ř +\vS Š +\vT Ť +\vZ Ž +\va ǎ +\vc č +\vd ď +\ve ě +\vn ň +\vr ř +\vs š +\vt ť +\vz ž +\wedge ∧ +\whitebishop ♗ +\whiteking ♔ +\whiteknight ♘ +\whitepawn ♙ +\whitequeen ♕ +\whiterook ♖ +\wp ℘ +\wr ≀ +\xi ξ +\zeta ζ 1 +\~A Ā +\~E Ẽ +\~I Ĩ +\~N Ñ +\~O Õ +\~U Ũ +\~Y Ỹ +\~a ã +\~e ẽ +\~i ĩ +\~n ñ +\~o õ +\~u ũ +\~y ỹ +\^( ⁽ +\^) ⁾ +\^+ ⁺ +\^- ⁻ +\^0 ⁰ +\^1 ¹ +\^2 ² +\^3 ³ +\^4 ⁴ +\^5 ⁵ +\^6 ⁶ +\^7 ⁷ +\^8 ⁸ +\^9 ⁹ +\^= ⁼ +\^A ᴬ +\^B ᴮ +\^D ᴰ +\^E ᴱ +\^G ᴳ +\^H ᴴ +\^I ᴵ +\^J ᴶ +\^K ᴷ +\^L ᴸ +\^M ᴹ +\^N ᴺ +\^O ᴼ +\^P ᴾ +\^R ᴿ +\^T ᵀ +\^U ᵁ +\^V ⱽ +\^W ᵂ +\^alpha ᵅ +\^beta ᵝ +\^chi ᵡ +\^delta ᵟ +\^epsilon ᵋ +\^gamma ᵞ +\^iota ᶥ +\^phi ᶲ +\^theta ᶿ +\^varphi ᵠ +\^a ᵃ +\^b ᵇ +\^c ᶜ +\^d ᵈ +\^e ᵉ +\^f ᶠ +\^g ᵍ +\^h ʰ +\^i ⁱ +\^j ʲ +\^k ᵏ +\^l ˡ +\^m ᵐ +\^n ⁿ +\^o ᵒ +\^p ᵖ +\^r ʳ +\^s ˢ +\^t ᵗ +\^u ᵘ +\^v ᵛ +\^w ʷ +\^x ˣ +\^y ʸ +\^z ᶻ +\_( ₍ +\_) ₎ +\_+ ₊ +\_- ₋ +\_0 ₀ +\_1 ₁ +\_2 ₂ +\_3 ₃ +\_4 ₄ +\_5 ₅ +\_6 ₆ +\_7 ₇ +\_8 ₈ +\_9 ₉ +\_= ₌ +\_beta ᵦ +\_chi ᵪ +\_gamma ᵧ +\_rho ᵨ +\_varphi ᵩ +\_a ₐ +\_e ₑ +\_h ₕ +\_i ᵢ +\_j ⱼ +\_k ₖ +\_l ₗ +\_m ₘ +\_n ₙ +\_o ₒ +\_p ₚ +\_r ᵣ +\_s ₛ +\_t ₜ +\_u ᵤ +\_v ᵥ +\_x ₓ diff --git a/ide/preferences.ml b/ide/preferences.ml index a5b294cd3a..2701089331 100644 --- a/ide/preferences.ml +++ b/ide/preferences.ml @@ -51,18 +51,45 @@ type tag = { priorities for two words with similar prefix), the first binding is considered. *) -let latex_to_unicode = ref - [ (* dummy default, used for testing *) +let latex_to_unicode = ref [] + (* dummy default, used for testing + [ ("\\pi", "π", None); ("\\lambdas", "λs", Some 4); ("\\lambda", "λ", Some 3); ("\\lake", "0", Some 2); ("\\lemma", "Lemma foo : x. Proof. Qed", Some 1); ] + *) let get_latex_to_unicode () = !latex_to_unicode +let load_latex_to_unicode_file filename = + let acc = ref [] in + let ch = open_in filename in + begin try while true do + let line = input_line ch in + begin try + let chline = Scanf.Scanning.from_string line in + let (key,value) = + Scanf.bscanf chline "%s %s" (fun x y -> (x,y)) in + let prio = + try Scanf.bscanf chline " %d" (fun x -> Some x) + with Scanf.Scan_failure _ | Failure _ | End_of_file -> None + in + acc := (key,value,prio)::!acc; + Scanf.Scanning.close_in chline; + with End_of_file -> () end; + done with End_of_file -> () end; + close_in ch; + latex_to_unicode := List.rev !acc + (*List.iter (fun (x,y,p) -> + Printf.eprintf "%s %s %d\n" x y (match p with None -> -1 | Some n -> n)) + !latex_to_unicode; + prerr_newline() *) + + (** Generic preferences *) type obj = { @@ -283,7 +310,7 @@ let loaded_accel_file = try get_config_file "coqide.keys" with Not_found -> Filename.concat (Option.default "" (Glib.get_home_dir ())) ".coqide.keys" -let loaded_unicode_file = +let loaded_bindings_file = try get_config_file "coqide.bindings" with Not_found -> Filename.concat (Option.default "" (Glib.get_home_dir ())) "coqide.bindings" @@ -682,7 +709,7 @@ let save_pref () = let load_pref () = let () = try GtkData.AccelMap.load loaded_accel_file with _ -> () in - (* TODO: parse loaded_unicode_file and save it in reference latex_to_unicode *) + let () = load_latex_to_unicode_file loaded_bindings_file in let m = Config_lexer.load_file loaded_pref_file in let iter name v = diff --git a/ide/wg_ScriptView.ml b/ide/wg_ScriptView.ml index e407c2a5d8..97bf9aefc5 100644 --- a/ide/wg_ScriptView.ml +++ b/ide/wg_ScriptView.ml @@ -436,38 +436,41 @@ object (self) List.iter test_binding bindings; !cur_word in - (** Auxiliary, copy-paste from method [comment] above; - btw, isn't there a more efficient way to achieve this? *) + (** Auxiliary method to reach the beginning of line or the + nearest space before the iterator. *) let rec get_line_start iter = - if iter#starts_line then iter + if iter#starts_line || Glib.Unichar.isspace iter#char then iter else get_line_start iter#backward_char in + (** Main action *) let buffer = self#buffer in let insert = buffer#get_iter `INSERT in let insert_mark = buffer#create_mark ~left_gravity:false insert in let () = buffer#begin_user_action () in - begin try - let line_start = get_line_start insert in - let prev_backslash_search = insert#backward_search ~limit:line_start "\\" in - let backslash = - match prev_backslash_search with - | None -> raise Abort - | Some (backslash_start,backslash_stop) -> backslash_start - in - let prefix = backslash#get_text ~stop:insert in - let word = - match lookup prefix with - | None -> - (* show_warning ("No binding match " ^ prefix); *) - raise Abort - | Some word -> word - in - let was_deleted = buffer#delete_interactive ~start:backslash ~stop:insert () in - if not was_deleted then raise Abort; - let insert2 = buffer#get_iter_at_mark (`MARK insert_mark) in - let _was_inserted = buffer#insert_interactive ~iter:insert2 word in - () - with Abort -> () end; + let word_to_insert = + try + let line_start = get_line_start insert in + let prev_backslash_search = insert#backward_search ~limit:line_start "\\" in + let backslash = + match prev_backslash_search with + | None -> raise Abort + | Some (backslash_start,backslash_stop) -> backslash_start + in + let prefix = backslash#get_text ~stop:insert in + let word = + match lookup prefix with + | None -> + (* show_warning ("No binding match " ^ prefix); *) + raise Abort + | Some word -> word + in + let was_deleted = buffer#delete_interactive ~start:backslash ~stop:insert () in + if not was_deleted then raise Abort; + word + with Abort -> " " + in + let insert2 = buffer#get_iter_at_mark (`MARK insert_mark) in + let _was_inserted = buffer#insert_interactive ~iter:insert2 word_to_insert in let () = self#buffer#end_user_action () in self#buffer#delete_mark (`MARK insert_mark) |
