Add cmake mode.
Add shell mode hook and customization.