https://github.com/tijn/hosts.tmlanguage
Scrupulous syntax highlighting for /etc/hosts
https://github.com/tijn/hosts.tmlanguage
Last synced: about 1 year ago
JSON representation
Scrupulous syntax highlighting for /etc/hosts
- Host: GitHub
- URL: https://github.com/tijn/hosts.tmlanguage
- Owner: tijn
- License: mit
- Created: 2015-02-21T13:49:59.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2025-02-13T23:50:02.000Z (over 1 year ago)
- Last Synced: 2025-05-06T23:16:41.471Z (about 1 year ago)
- Language: Python
- Homepage: https://packagecontrol.io/packages/Hosts
- Size: 92.8 KB
- Stars: 9
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Support: support.py
Awesome Lists containing this project
README
# 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].
* Command Palette item to open Hosts file.
## 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