From 3a527f55353916dd70a72fab38c98a383d7317f5 Mon Sep 17 00:00:00 2001
From: str4d <str4d@mail.i2p>
Date: Sat, 27 Jun 2015 15:16:33 +0000
Subject: [PATCH] Add message types to spectags

Command to generate spectags file:
cd i2p2www/pages/site && ctags -f spectags --regex-html=/\"type_\([a-zA-Z0-9]+\)\"/\\1/t,type/ --regex-html=/\"struct_\([a-zA-Z0-9]+\)\"/\\1/s,struct/ --regex-html=/\"msg_\([a-zA-Z]+\)\"/\\1/m,msg/ -R -n docs/spec/*.html
---
 i2p2www/formatters.py                         |  1 +
 .../pages/site/docs/spec/tunnel-message.html  |  4 +-
 i2p2www/pages/site/spectags                   | 43 +++++++++++++++++--
 3 files changed, 42 insertions(+), 6 deletions(-)

diff --git a/i2p2www/formatters.py b/i2p2www/formatters.py
index 8b915b252..96d02fe2a 100644
--- a/i2p2www/formatters.py
+++ b/i2p2www/formatters.py
@@ -37,6 +37,7 @@ _escape_html_table = {
 kinds = {
     't': 'type',
     's': 'struct',
+    'm': 'msg',
     }
 
 def escape_html(text, table=_escape_html_table):
diff --git a/i2p2www/pages/site/docs/spec/tunnel-message.html b/i2p2www/pages/site/docs/spec/tunnel-message.html
index 248c3b52a..b48956f59 100644
--- a/i2p2www/pages/site/docs/spec/tunnel-message.html
+++ b/i2p2www/pages/site/docs/spec/tunnel-message.html
@@ -31,7 +31,7 @@ observing message size.
 After the tunnel messages are created, they are encrypted as described in
 <a href="{{ site_url('docs/tunnels/implementation') }}">the tunnel documentation</a>.
 
-<h2 id="msg_Data">Tunnel Message (Encrypted)</h2>
+<h2 id="msg_Tunnel">Tunnel Message (Encrypted)</h2>
 These are the contents of a tunnel data message after encryption.
 {% highlight lang='dataspec' %}
 +----+----+----+----+----+----+----+----+
@@ -69,7 +69,7 @@ total size: 1028 Bytes
 {% endhighlight %}
 
 
-<h2 id="msg_Data">Tunnel Message (Decrypted)</h2>
+<h2>Tunnel Message (Decrypted)</h2>
 These are the contents of a tunnel data message when decrypted.
 {% highlight lang='dataspec' %}
 +----+----+----+----+----+----+----+----+
diff --git a/i2p2www/pages/site/spectags b/i2p2www/pages/site/spectags
index 127a1a95d..5033c3ba1 100644
--- a/i2p2www/pages/site/spectags
+++ b/i2p2www/pages/site/spectags
@@ -4,16 +4,32 @@
 !_TAG_PROGRAM_NAME	Exuberant Ctags	//
 !_TAG_PROGRAM_URL	http://ctags.sourceforge.net	/official site/
 !_TAG_PROGRAM_VERSION	5.9~svn20110310	//
+BandwidthLimits	docs/spec/i2cp.html	588;"	m
 Boolean	docs/spec/common-structures.html	74;"	t
 BuildRequestRecord	docs/spec/i2np.html	183;"	s
-BuildResponseRecord	docs/spec/i2np.html	352;"	s
+BuildResponseRecord	docs/spec/i2np.html	353;"	s
 Certificate	docs/spec/common-structures.html	296;"	t
+CreateLeaseSet	docs/spec/i2cp.html	630;"	m
+CreateSession	docs/spec/i2cp.html	668;"	m
+Data	docs/spec/i2np.html	1118;"	m
+DatabaseLookup	docs/spec/i2np.html	688;"	m
+DatabaseSearchReply	docs/spec/i2np.html	835;"	m
+DatabaseStore	docs/spec/i2np.html	590;"	m
 Date	docs/spec/common-structures.html	51;"	t
 DeliveryInstructions	docs/spec/common-structures.html	1010;"	s
+DeliveryStatus	docs/spec/i2np.html	910;"	m
+DestLookup	docs/spec/i2cp.html	697;"	m
+DestReply	docs/spec/i2cp.html	719;"	m
 Destination	docs/spec/common-structures.html	639;"	s
-GarlicClove	docs/spec/i2np.html	394;"	s
-GarlicCloveDeliveryInstructions	docs/spec/i2np.html	453;"	s
+Disconnect	docs/spec/i2cp.html	763;"	m
+Garlic	docs/spec/i2np.html	948;"	m
+GarlicClove	docs/spec/i2np.html	395;"	s
+GarlicCloveDeliveryInstructions	docs/spec/i2np.html	454;"	s
+GetBandwidthLimits	docs/spec/i2cp.html	783;"	m
+GetDate	docs/spec/i2cp.html	802;"	m
 Hash	docs/spec/common-structures.html	257;"	t
+HostLookup	docs/spec/i2cp.html	840;"	m
+HostReply	docs/spec/i2cp.html	889;"	m
 I2CPMessageHeader	docs/spec/i2cp.html	302;"	s
 I2NPMessageHeader	docs/spec/i2np.html	93;"	s
 Integer	docs/spec/common-structures.html	41;"	t
@@ -22,20 +38,39 @@ Lease	docs/spec/common-structures.html	668;"	s
 LeaseSet	docs/spec/common-structures.html	713;"	s
 Mapping	docs/spec/common-structures.html	461;"	t
 MessageId	docs/spec/i2cp.html	324;"	s
+MessagePayload	docs/spec/i2cp.html	921;"	m
+MessageStatus	docs/spec/i2cp.html	943;"	m
 Payload	docs/spec/i2cp.html	344;"	s
 PrivateKey	docs/spec/common-structures.html	102;"	t
 PublicKey	docs/spec/common-structures.html	89;"	t
+ReceiveMessageBegin	docs/spec/i2cp.html	1048;"	m
+ReceiveMessageEnd	docs/spec/i2cp.html	1077;"	m
+ReconfigureSession	docs/spec/i2cp.html	1103;"	m
+ReportAbuse	docs/spec/i2cp.html	1133;"	m
+RequestLeaseSet	docs/spec/i2cp.html	1164;"	m
+RequestVariableLeaseSet	docs/spec/i2cp.html	1197;"	m
 RouterAddress	docs/spec/common-structures.html	843;"	s
 RouterIdentity	docs/spec/common-structures.html	613;"	s
 RouterInfo	docs/spec/common-structures.html	910;"	s
+SendMessage	docs/spec/i2cp.html	1225;"	m
+SendMessageExpires	docs/spec/i2cp.html	1272;"	m
 SessionConfig	docs/spec/i2cp.html	366;"	s
 SessionId	docs/spec/i2cp.html	398;"	s
 SessionKey	docs/spec/common-structures.html	115;"	t
+SessionStatus	docs/spec/i2cp.html	1403;"	m
 SessionTag	docs/spec/common-structures.html	269;"	t
+SetDate	docs/spec/i2cp.html	1437;"	m
 Signature	docs/spec/common-structures.html	214;"	t
 SigningPrivateKey	docs/spec/common-structures.html	171;"	t
 SigningPublicKey	docs/spec/common-structures.html	128;"	t
 String	docs/spec/common-structures.html	62;"	t
+Tunnel	docs/spec/tunnel-message.html	34;"	m
+TunnelBuild	docs/spec/i2np.html	1144;"	m
+TunnelBuildReply	docs/spec/i2np.html	1177;"	m
+TunnelData	docs/spec/i2np.html	1044;"	m
+TunnelGateway	docs/spec/i2np.html	1084;"	m
 TunnelId	docs/spec/common-structures.html	281;"	t
-TunnelMessageDeliveryInstructions	docs/spec/tunnel-message.html	160;"	s
+TunnelMessageDeliveryInstructions	docs/spec/tunnel-message.html	159;"	s
+VariableTunnelBuild	docs/spec/i2np.html	1190;"	m
+VariableTunnelBuildReply	docs/spec/i2np.html	1220;"	m
 sampleDatagrams	docs/spec/ssu.html	1062;"	a
-- 
GitLab