summaryrefslogtreecommitdiffstats
path: root/after/syntax
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2017-03-23 12:11:44 +0100
committerAdam Stankiewicz <sheerun@sher.pl>2017-03-23 12:11:44 +0100
commit8bb259b1f6329837f471c6df2385f44fef02d2b4 (patch)
tree70d684417c7b6cc7839ea05111a51bb37d662d5e /after/syntax
parent466f20b12e5c5881af321f2f7922cce0436ba447 (diff)
downloadvim-polyglot-8bb259b1f6329837f471c6df2385f44fef02d2b4.tar.gz
vim-polyglot-8bb259b1f6329837f471c6df2385f44fef02d2b4.zip
Add mathematica support, closes #189
Diffstat (limited to 'after/syntax')
-rw-r--r--after/syntax/mma.vim107
1 files changed, 107 insertions, 0 deletions
diff --git a/after/syntax/mma.vim b/after/syntax/mma.vim
new file mode 100644
index 00000000..94c309c7
--- /dev/null
+++ b/after/syntax/mma.vim
@@ -0,0 +1,107 @@
+if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mathematica') == -1
+
+"Vim conceal file
+" Language: Mathematica
+" Maintainer: R. Menon <rsmenon@icloud.com>
+" Last Change: Feb 25, 2013
+
+if (exists('g:mma_candy') && g:mma_candy == 0) || !has('conceal') || &enc != 'utf-8'
+ finish
+endif
+
+"These are fairly safe and straightforward conceals
+if exists('g:mma_candy') && g:mma_candy > 0
+ "Rules
+ syntax match mmaOperator "->" conceal cchar=→ "Rule
+ syntax match mmaOperator ":>" conceal cchar=⧴ "RuleDelayed
+
+ "Logicals
+ syntax match mmaOperator "===" conceal cchar=≡ "SameQ
+ syntax match mmaOperator "=!=" conceal cchar=≢ "UnsameQ
+ syntax match mmaOperator "!=" conceal cchar=≠ "NotEqual
+ syntax match mmaOperator "<=" conceal cchar=≤ "LessEqual
+ syntax match mmaOperator ">=" conceal cchar=≥ "GreaterEqual
+
+ "Constants
+ syntax keyword mmaSystemSymbol Pi conceal cchar=π
+ syntax keyword mmaSystemSymbol Infinity conceal cchar=∞
+ syntax keyword mmaSystemSymbol Degree conceal cchar=°
+
+ "Domains
+ syntax keyword mmaSystemSymbol Reals conceal cchar=ℝ
+ syntax keyword mmaSystemSymbol Integers conceal cchar=ℤ
+ syntax keyword mmaSystemSymbol Complexes conceal cchar=ℂ
+ syntax keyword mmaSystemSymbol Rationals conceal cchar=ℚ
+
+ "Greek
+ syntax match mmaSymbol "\\\[CapitalAlpha\]" conceal cchar=Α
+ syntax match mmaSymbol "\\\[CapitalBeta\]" conceal cchar=Β
+ syntax match mmaSymbol "\\\[CapitalGamma\]" conceal cchar=Γ
+ syntax match mmaSymbol "\\\[CapitalDelta\]" conceal cchar=Δ
+ syntax match mmaSymbol "\\\[CapitalEpsilon\]" conceal cchar=Ε
+ syntax match mmaSymbol "\\\[CapitalZeta\]" conceal cchar=Ζ
+ syntax match mmaSymbol "\\\[CapitalEta\]" conceal cchar=Η
+ syntax match mmaSymbol "\\\[CapitalTheta\]" conceal cchar=Θ
+ syntax match mmaSymbol "\\\[CapitalIota\]" conceal cchar=Ι
+ syntax match mmaSymbol "\\\[CapitalKappa\]" conceal cchar=Κ
+ syntax match mmaSymbol "\\\[CapitalLambda\]" conceal cchar=Λ
+ syntax match mmaSymbol "\\\[CapitalMu\]" conceal cchar=Μ
+ syntax match mmaSymbol "\\\[CapitalNu\]" conceal cchar=Ν
+ syntax match mmaSymbol "\\\[CapitalXi\]" conceal cchar=Ξ
+ syntax match mmaSymbol "\\\[CapitalOmicron\]" conceal cchar=Ο
+ syntax match mmaSymbol "\\\[CapitalPi\]" conceal cchar=Π
+ syntax match mmaSymbol "\\\[CapitalRho\]" conceal cchar=Ρ
+ syntax match mmaSymbol "\\\[CapitalSigma\]" conceal cchar=Σ
+ syntax match mmaSymbol "\\\[CapitalTau\]" conceal cchar=Τ
+ syntax match mmaSymbol "\\\[CapitalUpsilon\]" conceal cchar=Υ
+ syntax match mmaSymbol "\\\[CapitalPhi\]" conceal cchar=Φ
+ syntax match mmaSymbol "\\\[CapitalChi\]" conceal cchar=Χ
+ syntax match mmaSymbol "\\\[CapitalPsi\]" conceal cchar=Ψ
+ syntax match mmaSymbol "\\\[CapitalOmega\]" conceal cchar=Ω
+ syntax match mmaSymbol "\\\[Alpha\]" conceal cchar=α
+ syntax match mmaSymbol "\\\[Beta\]" conceal cchar=β
+ syntax match mmaSymbol "\\\[Gamma\]" conceal cchar=γ
+ syntax match mmaSymbol "\\\[Delta\]" conceal cchar=δ
+ syntax match mmaSymbol "\\\[Epsilon\]" conceal cchar=ε
+ syntax match mmaSymbol "\\\[Zeta\]" conceal cchar=ζ
+ syntax match mmaSymbol "\\\[Eta\]" conceal cchar=η
+ syntax match mmaSymbol "\\\[Theta\]" conceal cchar=θ
+ syntax match mmaSymbol "\\\[Iota\]" conceal cchar=ι
+ syntax match mmaSymbol "\\\[Kappa\]" conceal cchar=κ
+ syntax match mmaSymbol "\\\[Lambda\]" conceal cchar=λ
+ syntax match mmaSymbol "\\\[Mu\]" conceal cchar=μ
+ syntax match mmaSymbol "\\\[Nu\]" conceal cchar=ν
+ syntax match mmaSymbol "\\\[Xi\]" conceal cchar=ξ
+ syntax match mmaSymbol "\\\[Omicron\]" conceal cchar=ο
+ syntax match mmaSymbol "\\\[Pi\]" conceal cchar=π
+ syntax match mmaSymbol "\\\[Rho\]" conceal cchar=ρ
+ syntax match mmaSymbol "\\\[Sigma\]" conceal cchar=σ
+ syntax match mmaSymbol "\\\[Tau\]" conceal cchar=τ
+ syntax match mmaSymbol "\\\[Upsilon\]" conceal cchar=υ
+ syntax match mmaSymbol "\\\[Phi\]" conceal cchar=φ
+ syntax match mmaSymbol "\\\[Chi\]" conceal cchar=χ
+ syntax match mmaSymbol "\\\[Psi\]" conceal cchar=ψ
+ syntax match mmaSymbol "\\\[Omega\]" conceal cchar=ω
+endif
+
+"These might be troublesome if the appropriate fonts are missing. Also, they don't
+"look quite as good as the earlier ones, so enable only if the user chooses to
+if exists('g:mma_candy') && g:mma_candy == 2
+ "Constants
+ syntax keyword mmaSystemSymbol I conceal cchar=ⅈ
+ syntax keyword mmaSystemSymbol E conceal cchar=ⅇ
+
+ "Functions
+ syntax keyword mmaSystemSymbol Sum conceal cchar=∑
+ syntax keyword mmaSystemSymbol Product conceal cchar=∏
+ syntax keyword mmaSystemSymbol Sqrt conceal cchar=√
+
+ "Misc
+ syntax match mmaOperator ">>" conceal cchar=» "Put
+ syntax match mmaOperator "<<" conceal cchar=« "Get
+endif
+
+hi! link Conceal Normal
+setlocal conceallevel=2
+
+endif