Skip to content

Additional symbols #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
mankoff opened this issue Oct 7, 2013 · 1 comment
Open

Additional symbols #6

mankoff opened this issue Oct 7, 2013 · 1 comment

Comments

@mankoff
Copy link

mankoff commented Oct 7, 2013

I've been working for a few weeks now with the following setup, and for coding python (I use elpy and emacs) and IPython interactive shell in emacs, everything is working great. Perhaps others would like this, or perhaps the kdm-custom list could be broken into superscript, subscript, greek, etc. These sets could be made available even if not turn on (if the categories remain only '(lambda relational logical))

(autoload 'pretty-symbols-mode "pretty-symbols-mode" nil t)
(setq pretty-symbol-categories '(lambda relational logical kdm-custom))
(add-hook 'prog-mode-hook 'pretty-symbols-mode)

(eval-after-load "pretty-symbols-mode"
  '(progn
     ;; superscripts
     (add-to-list 'pretty-symbol-patterns '(?² kdm-custom "\\*\\*2" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?³ kdm-custom "\\*\\*3" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ⁿ kdm-custom "\\*\\*n" (python-mode inferior-python-mode)))
     ;; subscripts
     (add-to-list 'pretty-symbol-patterns '(?๐ kdm-custom "_0\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?₁ kdm-custom "_1\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?₂ kdm-custom "_2\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?₃ kdm-custom "_3\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?₄ kdm-custom "_4\\>" (python-mode inferior-python-mode)))
     ;; (add-to-list 'pretty-symbol-patterns '(?₅ kdm-custom "_5\\>" (python-mode inferior-python-mode)))
     ;; (add-to-list 'pretty-symbol-patterns '(?₆ kdm-custom "_6\\>" (python-mode inferior-python-mode)))
     ;; (add-to-list 'pretty-symbol-patterns '(?₇ kdm-custom "_7\\>" (python-mode inferior-python-mode)))
     ;; (add-to-list 'pretty-symbol-patterns '(?₈ kdm-custom "_8\\>" (python-mode inferior-python-mode)))
     ;; (add-to-list 'pretty-symbol-patterns '(?₉ kdm-custom "_9\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ᵢ kdm-custom "_i\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ⱼ kdm-custom "_j\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ᵣ kdm-custom "_r\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ᵤ kdm-custom "_u\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ᵥ kdm-custom "_v\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ᵪ kdm-custom "_x\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ᵧ kdm-custom "_y\\>" (python-mode inferior-python-mode)))
     ;; python specific
     (add-to-list 'pretty-symbol-patterns '(?⓪ kdm-custom "None" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?∑ kdm-custom "\\<sum\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?∑ kdm-custom "\\<nansum\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?√ kdm-custom "sqrt" (python-mode inferior-python-mode)))
     ;; Greek
     (add-to-list 'pretty-symbol-patterns '(?α kdm-custom "\\<alpha\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Α kdm-custom "\\<Alpha\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?β kdm-custom "\\<beta\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Β kdm-custom "\\<Beta\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?γ kdm-custom "\\<gamma\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Γ kdm-custom "\\<Gamma\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?δ kdm-custom "\\<delta\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Δ kdm-custom "\\<Delta\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ε kdm-custom "\\<epsilon\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Ε kdm-custom "\\<Epsilon\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ζ kdm-custom "\\<zeta\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Ζ kdm-custom "\\<Zeta\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?η kdm-custom "\\<eta\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Η kdm-custom "\\<Eta\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?θ kdm-custom "\\<theta\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Θ kdm-custom "\\<Theta\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ι kdm-custom "\\<iota\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Ι kdm-custom "\\<Iota\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?κ kdm-custom "\\<kappa\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?K kdm-custom "\\<Kappa\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?λ kdm-custom "\\<lambda\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Λ kdm-custom "\\<Lambda\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?μ kdm-custom "\\<mu\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Μ kdm-custom "\\<Mu\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ν kdm-custom "\\<nu\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Ν kdm-custom "\\<Nu\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ν kdm-custom "\\<vega\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ν kdm-custom "\\<Vega\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ξ kdm-custom "\\<xi\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Ξ kdm-custom "\\<Xi\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ο kdm-custom "\\<omicron\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Ο kdm-custom "\\<Omicron\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?π kdm-custom "\\<pi\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Π kdm-custom "\\<pi\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ρ kdm-custom "\\<rho\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Ρ kdm-custom "\\<Rho\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?σ kdm-custom "\\<sigma\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Σ kdm-custom "\\<Sigma\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?τ kdm-custom "\\<tau\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Τ kdm-custom "\\<Tau\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?υ kdm-custom "\\<upsilon\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Y kdm-custom "\\<Upsilon\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?φ kdm-custom "\\<phi\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Φ kdm-custom "\\<Phi\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?χ kdm-custom "\\<chi\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Χ kdm-custom "\\<Chi\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ψ kdm-custom "\\<psi\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Ψ kdm-custom "\\<Psi\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?ω kdm-custom "\\<omega\\>" (python-mode inferior-python-mode)))
     (add-to-list 'pretty-symbol-patterns '(?Ω kdm-custom "\\<Omega\\>" (python-mode inferior-python-mode)))
     ))
@fommil
Copy link

fommil commented May 20, 2016

@mankoff great stuff! I like the thought of splitting it into three parts. Could you make this available for prettify-symbols? Found myself wanting greek letters today. This is the format we've been using in scala-mode https://github.com/ensime/emacs-scala-mode/blob/master/scala-mode-prettify-symbols.el (but obviously the above is far more generalisable)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants