Merge remote-tracking branch 'origin/topic/awelzel/zeekygen-field-directive'

* origin/topic/awelzel/zeekygen-field-directive:
  Bump doc submodule for ext/zeek.py modifications
  RecordType:DescribeReST: Render RecordType using zeek:field directive
This commit is contained in:
Arne Welzel 2025-05-30 16:42:02 +02:00
commit 1d241fabf4
9 changed files with 174 additions and 81 deletions

View file

@ -165,19 +165,28 @@ Types
:Type: :zeek:type:`record`
field1: :zeek:type:`count`
Counts something.
field2: :zeek:type:`bool`
Toggles something.
.. zeek:field:: field1 :zeek:type:`count`
field3: :zeek:type:`ZeekygenExample::SimpleRecord`
Zeekygen automatically tracks types
and cross-references are automatically
inserted into generated docs.
Counts something.
.. zeek:field:: field2 :zeek:type:`bool`
Toggles something.
.. zeek:field:: field3 :zeek:type:`ZeekygenExample::SimpleRecord`
Zeekygen automatically tracks types
and cross-references are automatically
inserted into generated docs.
.. zeek:field:: msg :zeek:type:`string` :zeek:attr:`&default` = ``"blah"`` :zeek:attr:`&optional`
Attributes are self-documenting.
msg: :zeek:type:`string` :zeek:attr:`&default` = ``"blah"`` :zeek:attr:`&optional`
Attributes are self-documenting.
:Attributes: :zeek:attr:`&redef`
General documentation for a type "ComplexRecord" goes here.
@ -187,11 +196,15 @@ Types
:Type: :zeek:type:`record`
ts: :zeek:type:`time` :zeek:attr:`&log`
uid: :zeek:type:`string` :zeek:attr:`&log`
.. zeek:field:: ts :zeek:type:`time` :zeek:attr:`&log`
.. zeek:field:: uid :zeek:type:`string` :zeek:attr:`&log`
.. zeek:field:: status :zeek:type:`count` :zeek:attr:`&log` :zeek:attr:`&optional`
status: :zeek:type:`count` :zeek:attr:`&log` :zeek:attr:`&optional`
An example record to be used with a logging stream.
Nothing special about it. If another script redefs this type
@ -231,15 +244,22 @@ Types
:Type: :zeek:type:`record`
field1: :zeek:type:`count`
Counts something.
field2: :zeek:type:`bool`
Toggles something.
.. zeek:field:: field1 :zeek:type:`count`
Counts something.
.. zeek:field:: field2 :zeek:type:`bool`
Toggles something.
.. zeek:field:: field_ext :zeek:type:`string` :zeek:attr:`&optional`
Document the extending field like this.
Or here, like this.
field_ext: :zeek:type:`string` :zeek:attr:`&optional`
Document the extending field like this.
Or here, like this.
General documentation for a type "SimpleRecord" goes here.
The way fields can be documented is similar to what's already seen

View file

@ -19,15 +19,18 @@
:Type: :zeek:type:`record`
field_func: :zeek:type:`function` (i: :zeek:type:`int`, j: :zeek:type:`int`) : :zeek:type:`string`
This is a record field function.
:param i: First param.
.. zeek:field:: field_func :zeek:type:`function` (i: :zeek:type:`int`, j: :zeek:type:`int`) : :zeek:type:`string`
:param j: Second param.
This is a record field function.
:param i: First param.
:param j: Second param.
:returns: A string.
:returns: A string.

View file

@ -102,15 +102,22 @@
:Type: :zeek:type:`record`
field1: :zeek:type:`count`
Counts something.
field2: :zeek:type:`bool`
Toggles something.
.. zeek:field:: field1 :zeek:type:`count`
Counts something.
.. zeek:field:: field2 :zeek:type:`bool`
Toggles something.
.. zeek:field:: field_ext :zeek:type:`string` :zeek:attr:`&optional`
Document the extending field like this.
Or here, like this.
field_ext: :zeek:type:`string` :zeek:attr:`&optional`
Document the extending field like this.
Or here, like this.
General documentation for a type "SimpleRecord" goes here.
The way fields can be documented is similar to what's already seen
@ -121,19 +128,28 @@
:Type: :zeek:type:`record`
field1: :zeek:type:`count`
Counts something.
field2: :zeek:type:`bool`
Toggles something.
.. zeek:field:: field1 :zeek:type:`count`
field3: :zeek:type:`ZeekygenExample::SimpleRecord`
Zeekygen automatically tracks types
and cross-references are automatically
inserted into generated docs.
Counts something.
.. zeek:field:: field2 :zeek:type:`bool`
Toggles something.
.. zeek:field:: field3 :zeek:type:`ZeekygenExample::SimpleRecord`
Zeekygen automatically tracks types
and cross-references are automatically
inserted into generated docs.
.. zeek:field:: msg :zeek:type:`string` :zeek:attr:`&default` = ``"blah"`` :zeek:attr:`&optional`
Attributes are self-documenting.
msg: :zeek:type:`string` :zeek:attr:`&default` = ``"blah"`` :zeek:attr:`&optional`
Attributes are self-documenting.
:Attributes: :zeek:attr:`&redef`
General documentation for a type "ComplexRecord" goes here.
@ -143,11 +159,15 @@
:Type: :zeek:type:`record`
ts: :zeek:type:`time` :zeek:attr:`&log`
uid: :zeek:type:`string` :zeek:attr:`&log`
.. zeek:field:: ts :zeek:type:`time` :zeek:attr:`&log`
.. zeek:field:: uid :zeek:type:`string` :zeek:attr:`&log`
.. zeek:field:: status :zeek:type:`count` :zeek:attr:`&log` :zeek:attr:`&optional`
status: :zeek:type:`count` :zeek:attr:`&log` :zeek:attr:`&optional`
An example record to be used with a logging stream.
Nothing special about it. If another script redefs this type
@ -248,8 +268,11 @@
:Type: :zeek:type:`record`
field1: :zeek:type:`bool`
field2: :zeek:type:`count`
.. zeek:field:: field1 :zeek:type:`bool`
.. zeek:field:: field2 :zeek:type:`count`

View file

@ -4,9 +4,12 @@
:Type: :zeek:type:`record`
field1: :zeek:type:`bool`
field2: :zeek:type:`count`
.. zeek:field:: field1 :zeek:type:`bool`
.. zeek:field:: field2 :zeek:type:`count`
.. zeek:type:: TestRecord2
@ -14,18 +17,27 @@
:Type: :zeek:type:`record`
A: :zeek:type:`count`
document ``A``
B: :zeek:type:`bool`
document ``B``
.. zeek:field:: A :zeek:type:`count`
C: :zeek:type:`TestRecord1`
and now ``C``
is a declared type
document ``A``
.. zeek:field:: B :zeek:type:`bool`
document ``B``
.. zeek:field:: C :zeek:type:`TestRecord1`
and now ``C``
is a declared type
.. zeek:field:: D :zeek:type:`set` [:zeek:type:`count`, :zeek:type:`bool`]
sets/tables should show the index types
D: :zeek:type:`set` [:zeek:type:`count`, :zeek:type:`bool`]
sets/tables should show the index types
Here's the ways records and record fields can be documented.

View file

@ -42,10 +42,14 @@
:Type: :zeek:type:`record`
f1: :zeek:type:`ZeekygenTest::TypeAlias`
f2: :zeek:type:`ZeekygenTest::OtherTypeAlias`
f3: :zeek:type:`bool`
.. zeek:field:: f1 :zeek:type:`ZeekygenTest::TypeAlias`
.. zeek:field:: f2 :zeek:type:`ZeekygenTest::OtherTypeAlias`
.. zeek:field:: f3 :zeek:type:`bool`