(self)
| 272 | return title |
| 273 | |
| 274 | def apply(self): |
| 275 | env = self.document.settings.env |
| 276 | |
| 277 | # Treat some documents as cmake domain objects. |
| 278 | objtype, sep, tail = env.docname.partition('/') |
| 279 | make_index_entry = _cmake_index_objs.get(objtype) |
| 280 | if make_index_entry: |
| 281 | title = self.parse_title(env.docname) |
| 282 | # Insert the object link target. |
| 283 | if objtype == 'command': |
| 284 | targetname = title.lower() |
| 285 | elif objtype == 'guide' and not tail.endswith('/index'): |
| 286 | targetname = tail |
| 287 | else: |
| 288 | if objtype == 'genex': |
| 289 | m = CMakeXRefRole._re_genex.match(title) |
| 290 | if m: |
| 291 | title = m.group(1) |
| 292 | targetname = title |
| 293 | targetid = f'{objtype}:{targetname}' |
| 294 | targetnode = nodes.target('', '', ids=[targetid]) |
| 295 | self.document.note_explicit_target(targetnode) |
| 296 | self.document.insert(0, targetnode) |
| 297 | # Insert the object index entry. |
| 298 | indexnode = addnodes.index() |
| 299 | indexnode['entries'] = [make_index_entry(title, targetid)] |
| 300 | self.document.insert(0, indexnode) |
| 301 | |
| 302 | # Add to cmake domain object inventory |
| 303 | domain = cast(CMakeDomain, env.get_domain('cmake')) |
| 304 | domain.note_object(objtype, targetname, targetid, targetid) |
| 305 | |
| 306 | |
| 307 | class CMakeObject(ObjectDescription): |
nothing calls this directly
no test coverage detected