aboutsummaryrefslogtreecommitdiff
path: root/ide
diff options
context:
space:
mode:
authorcharguer2018-09-25 18:46:29 +0200
committerVincent Laporte2019-03-18 10:29:50 +0000
commitd183e6b3bef905032333135849104fc66d5de68d (patch)
treeff2c0d0380e8b48795db84971a9fb4e9134ff040 /ide
parent50fe6429e852a78f8e870a4bfcb444f60cb0b7de (diff)
working set of bindings
Diffstat (limited to 'ide')
-rw-r--r--ide/default.bindings1156
-rw-r--r--ide/preferences.ml35
-rw-r--r--ide/wg_ScriptView.ml53
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)