Gophermap Language Support
Syntax highlighting and sane editor defaults for gophermap files — the directory format of the Gopher protocol (RFC 1436).
Features
Syntax Highlighting
All standard Gopher item types are highlighted individually:
RFC 1436 types
| Type |
Meaning |
0 |
Plain text file |
1 |
Gopher submenu / directory |
2 |
CSO name server (phonebook) |
3 |
Error |
4 |
Mac HQX file |
5 |
PC-DOS binary |
6 |
UNIX uuencoded file |
7 |
Full-text search |
8 |
Telnet session |
9 |
Binary file |
T |
TN3270 session |
+ |
Redundant server (mirror) |
Non-RFC, widely supported
| Type |
Meaning |
i |
Informational text (no link) |
h |
HTML file / URL link |
g |
GIF image |
I |
Generic image (non-GIF) |
s |
Sound file |
M |
MIME multipart/mixed message |
Gopher+ extensions
| Type |
Meaning |
: |
Bitmap image |
; |
Movie / video |
< |
Sound (Gopher+) |
Special lines
| Syntax |
Meaning |
#... |
Comment |
. |
End-of-menu marker |
Each field of a line (item type, display string, selector, host, port) gets its own color scope, making the tab-separated structure immediately visible.
Real Tabs — Always
Gophermap lines are tab-separated. This extension sets editor.insertSpaces: false for all gophermap files automatically, so pressing Tab always inserts a real \t — no accidental spaces that would silently break your menu.
Whitespace rendering is also enabled by default so you can see exactly where your tabs are.
A gophermap line looks like this:
[type][display string]<TAB>[selector]<TAB>[host]<TAB>[port]
Example:
i Welcome to my Gopher hole! fake (NULL) 0
1 Documents /docs gopher.example.com 70
0 About /about.txt gopher.example.com 70
7 Search /search gopher.example.com 70
h My Website URL:https://example.com gopher.example.com 70
.
Installation
From the Marketplace: Search for Gophermap Language Support in the VS Code Extensions panel.
From a .vsix file:
code --install-extension gophermap-language-*.vsix
Activation
The extension activates automatically for:
- Files named exactly
gophermap
- Files with the extension
.gophermap
License
MIT