# hosts.tmLanguage Scrupulous Syntax Highlighting for `/etc/hosts` ![Screenshot][demo.png] ## Features * It highlights IPv4 and IPv6 addresses rigidly. For example: it won't match the impossible movie IP-address `189.23.290.13`. This makes it easier to spot errors. * It uses different scopes (i.e. different colors) for some [special IP ranges][reserved-ips]: - Loopback: `::1` and `127.0.0/8` - Private: `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, and `fc00::/7` * Hostnames are in the local index: Ctrl+R (MacOS: Cmd+R) * Hoverable tooltips on [Punycode][] hostname segments to render [internationalized domain names][idna]. ## Installation Install via [Package Control](https://packagecontrol.io/). ## Acknowledgements The regular expressions for IPv6 by David M. Syzdek were found [on stackoverflow.com](http://stackoverflow.com/a/17871737/852657). I had to rewrite them in a different format, so any faults or mistakes are probably mine. [Michael Lyons](https://github.com/michaelblyons) provided fixes and some great additions. And after that he rewrote the whole thing to add support for IPv6 (though still based on David M. Szydek). [demo.png]: demo/demo.png [reserved-ips]: https://en.wikipedia.org/wiki/Reserved_IP_addresses [punycode]: https://en.wikipedia.org/wiki/Punycode#Internationalized_domain_names [idna]: https://en.wikipedia.org/wiki/Internationalized_domain_name