Vulkan-Docs/doc/specs/vulkan/config/vkspec.conf

117 lines
3.6 KiB
Plaintext

# Copyright (c) 2015-2016 The Khronos Group Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# vkspec.conf - asciidoc macros for Vulkan spec
# The 'normative' macros below (can: through should:) serve mostly
# to tag that those terms have been validated against their normative
# definitions. They ignore any arguments, and don't yet do anything
# but expand to their names.
#
# The remaining macros tag API terms:
# d*: C macro #defines
# elink: enumerated type names
# ename:/etext: enumerant names
# f*: functions/prototypes
# h*: handles
# p*: function parameters and structure members
# s*: structs
# t*: other types (function pointers)
#
# These macros expand in ways determined by the name following = in the
# macro definition:
#
# 'link' macros format as code and create an xref/link to the target
#
# 'code' macros format as code, but do not link
# 'strong' macros format as <strong>, and do not link
# 'param' macros format as <parameter>, and do not link
[macros]
(?su)(?P<name>can):(?P<arg>\w*)=normative
(?su)(?P<name>cannot):(?P<arg>\w*)=normative
(?su)(?P<name>may):(?P<arg>\w*)=normative
(?su)(?P<name>must):(?P<arg>\w*)=normative
(?su)(?P<name>optional):(?P<arg>\w*)=normative
(?su)(?P<name>optionally):(?P<arg>\w*)=normative
(?su)(?P<name>recommend):(?P<arg>\w*)=normative
(?su)(?P<name>required):(?P<arg>\w*)=normative
(?su)(?P<name>should):(?P<arg>\w*)=normative
(?su)(?P<name>flink):(?P<target>\w+)=link
(?su)(?P<name>fname):(?P<target>\w+)=strong
(?su)(?P<name>ftext):(?P<target>[\w*]+(\.[\w*]+)*)=strong
(?su)(?P<name>sname):(?P<target>\w+)=code
(?su)(?P<name>slink):(?P<target>\w+)=link
(?su)(?P<name>stext):(?P<target>[\w*]+(\.[\w*]+)*)=code
(?su)(?P<name>dname):(?P<target>\w+)=code
(?su)(?P<name>dlink):(?P<target>\w+)=link
(?su)(?P<name>ename):(?P<target>\w+)=code
(?su)(?P<name>elink):(?P<target>\w+)=link
(?su)(?P<name>etext):(?P<target>[\w*]+(\.[\w*]+)*)=code
(?su)(?P<name>pname):(?P<target>(\w[\w.]*)*\w+)=param
(?su)(?P<name>ptext):(?P<target>[\w*]+(\.[\w*]+)*)=param
(?su)(?P<name>tlink):(?P<target>\w+)=link
(?su)(?P<name>tname):(?P<target>\w+)=strong
(?su)(?P<name>basetype):(?P<target>\w+)=code
(?su)(?P<name>code):(?P<target>\w+)=strong
[normative-inlinemacro]
ifdef::basebackend-docbook[]
<phrase role="normative">{name}</phrase>
endif::basebackend-docbook[]
ifdef::basebackend-html[]
<span role="normative">{name}</span>
endif::basebackend-html[]
[link-inlinemacro]
ifdef::basebackend-docbook[]
<code><link linkend="{target}">{target}</link></code>
endif::basebackend-docbook[]
ifdef::basebackend-html[]
<code><a href="#{target}">{target}</a></code>
endif::basebackend-html[]
[code-inlinemacro]
ifdef::basebackend-docbook[]
<code>{target}</code>
endif::basebackend-docbook[]
ifdef::basebackend-html[]
<code>{target}</code>
endif::basebackend-html[]
[strong-inlinemacro]
ifdef::basebackend-docbook[]
<emphasis role="strong"><code>{target}</code></emphasis>
endif::basebackend-docbook[]
ifdef::basebackend-html[]
<code>{target}</code>
endif::basebackend-html[]
[param-inlinemacro]
ifdef::basebackend-docbook[]
<parameter>{target}</parameter>
endif::basebackend-docbook[]
ifdef::basebackend-html[]
<code>{target}</code>
endif::basebackend-html[]