I used to be an Eclipse fan, but a few years ago I moved to NetBeans and have never looked back.
From your request:
free and open source <=== check
FTP support (also SFTP) <=== https://blogs.oracle.com/netbeansphp/entry/ftp_support_added
Code highlight <====== yup
Windows, Mac OS and Linux <=== written in Java, so yup, plus Raspberry Pi et al
Plus, add your own ... http://wiki.netbeans.org/How_to_create_support_for_a_new_language
You won't ever look for another IDE. Guaranteed, or your money back ;-)