Add syntax checking support and enhanced tab nav