[enhance] enhance file viewer and diff viewer