NLKNguyen / papercolor-theme

:art: Light & Dark Vim color schemes inspired by Google's Material Design
MIT License
2.72k stars 239 forks source link

PureScript: Visually distinguish between type constructor and data constructor #173

Open emiel opened 3 years ago

emiel commented 3 years ago

Currently the highlighting for the PureScript language assigns "pink" to both the type constructor and the data constructor. For example:

data Tree a = Tip | Node a (Tree a) (Tree a)

Here Tree is the "type constructor" (currently pink). Tip and Node are the data constructors (also pink). It would be nice to visually distinguish these because these are truly different concepts. Type and data constructors live in different namespaces and thus the same name can be used as a type or data constructor. Another reason to differentiate them.

data Foo = Foo

I've assigned "purple" for the type constructor and works for me but feel free to experiment.

FYI: https://wiki.haskell.org/Constructor