fix: crash if a single file is specified
fix highlight for matched string
support case insensitive search