#39 -> the syntax highlight mode is selected automatically based on file extension when the user open file. Some tests show bugs -> require revision