I am going to visit Colmar for three days and my plane will be land to Basel-Mulhouse airport. I am a non-Europe citizen. Should I apply for a Schengen visa through Switzerland or France?
When applying for a Schengen visa, you should apply to the country of your primary destination. Colmar is in France, so in your case you should apply for a French visa.
The airport is located in France although it is jointly administered by France and the local Swiss Canton. In fact it is possible to exit into Switzerland without going into France but unless you have particular plans to do that you will not enter Switzerland at all.