sphinx-codeautolink 0.17.0__tar.gz → 0.17.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. {sphinx_codeautolink-0.17.0/src/sphinx_codeautolink.egg-info → sphinx_codeautolink-0.17.2}/PKG-INFO +1 -1
  2. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/contributing.rst +12 -0
  3. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/docs/src/about.rst +6 -0
  4. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/docs/src/examples.rst +5 -11
  5. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/docs/src/reference.rst +20 -6
  6. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/docs/src/release_notes.rst +14 -0
  7. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/src/sphinx_codeautolink/__init__.py +9 -2
  8. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/src/sphinx_codeautolink/extension/backref.py +3 -2
  9. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/src/sphinx_codeautolink/extension/block.py +75 -13
  10. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/src/sphinx_codeautolink/extension/directive.py +5 -2
  11. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/extension/translation.py +6 -0
  12. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/de/LC_MESSAGES/sphinx-codeautolink.mo +0 -0
  13. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/de/LC_MESSAGES/sphinx-codeautolink.po +25 -0
  14. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/es/LC_MESSAGES/sphinx-codeautolink.mo +0 -0
  15. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/es/LC_MESSAGES/sphinx-codeautolink.po +25 -0
  16. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/fi/LC_MESSAGES/sphinx-codeautolink.mo +0 -0
  17. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/fi/LC_MESSAGES/sphinx-codeautolink.po +25 -0
  18. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/fr/LC_MESSAGES/sphinx-codeautolink.mo +0 -0
  19. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/fr/LC_MESSAGES/sphinx-codeautolink.po +25 -0
  20. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/it/LC_MESSAGES/sphinx-codeautolink.mo +0 -0
  21. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/it/LC_MESSAGES/sphinx-codeautolink.po +25 -0
  22. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/nl/LC_MESSAGES/sphinx-codeautolink.mo +0 -0
  23. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/nl/LC_MESSAGES/sphinx-codeautolink.po +27 -0
  24. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/ru/LC_MESSAGES/sphinx-codeautolink.po +25 -0
  25. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/sphinx-codeautolink.pot +24 -0
  26. sphinx_codeautolink-0.17.2/src/sphinx_codeautolink/locale/uk/LC_MESSAGES/sphinx-codeautolink.po +25 -0
  27. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/src/sphinx_codeautolink/parse.py +150 -239
  28. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2/src/sphinx_codeautolink.egg-info}/PKG-INFO +1 -1
  29. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/src/sphinx_codeautolink.egg-info/SOURCES.txt +21 -0
  30. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/__init__.py +3 -2
  31. sphinx_codeautolink-0.17.2/tests/extension/fail/preface_invalid_arg.txt +8 -0
  32. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/ref_invalid_syntax_complex.txt +3 -0
  33. sphinx_codeautolink-0.17.2/tests/extension/ref/lexer_doctest_empty_input.txt +15 -0
  34. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_extdoctest_doctest.txt +0 -3
  35. sphinx_codeautolink-0.17.2/tests/extension/ref/lexer_extdoctest_setup.txt +35 -0
  36. sphinx_codeautolink-0.17.2/tests/extension/ref/lexer_extdoctest_setup_wrong.txt +15 -0
  37. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_extdoctest_testcode.txt +0 -1
  38. sphinx_codeautolink-0.17.2/tests/extension/ref/preface_document.txt +26 -0
  39. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/parse/__init__.py +6 -0
  40. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/parse/_util.py +5 -1
  41. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/parse/assign.py +18 -0
  42. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/LICENSE +0 -0
  43. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/MANIFEST.in +0 -0
  44. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/docs/requirements.txt +0 -0
  45. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/docs/src/404.rst +0 -0
  46. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/docs/src/conf.py +0 -0
  47. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/docs/src/example_library.rst +0 -0
  48. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/docs/src/index.rst +0 -0
  49. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/docs/src/lib.py +0 -0
  50. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/docs/src/static/custom.css +0 -0
  51. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/pyproject.toml +0 -0
  52. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/readme_pypi.rst +0 -0
  53. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/requirements/build +0 -0
  54. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/requirements/dev +0 -0
  55. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/requirements/docs +0 -0
  56. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/requirements/extras +0 -0
  57. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/requirements/tests +0 -0
  58. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/setup.cfg +0 -0
  59. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/src/sphinx_codeautolink/extension/__init__.py +0 -0
  60. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/src/sphinx_codeautolink/extension/cache.py +0 -0
  61. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/src/sphinx_codeautolink/extension/resolve.py +0 -0
  62. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/src/sphinx_codeautolink/static/sphinx-codeautolink.css +0 -0
  63. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/src/sphinx_codeautolink/warn.py +0 -0
  64. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/src/sphinx_codeautolink.egg-info/dependency_links.txt +0 -0
  65. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/src/sphinx_codeautolink.egg-info/requires.txt +0 -0
  66. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/src/sphinx_codeautolink.egg-info/top_level.txt +0 -0
  67. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/__init__.py +0 -0
  68. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/_check.py +0 -0
  69. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/concat_invalid.txt +0 -0
  70. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/custom_block_import_invalid.txt +0 -0
  71. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/custom_block_syntax_error.txt +0 -0
  72. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/failed_resolve_invalid_location.txt +0 -0
  73. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/failed_resolve_no_module.txt +0 -0
  74. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/failed_resolve_return_type.txt +0 -0
  75. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/match_block_warning.txt +0 -0
  76. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/missing_inventory.txt +0 -0
  77. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/no_backreference.txt +0 -0
  78. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/no_module_docs.txt +0 -0
  79. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/ref_import_star_invalid.txt +0 -0
  80. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/ref_invalid_block_type.txt +0 -0
  81. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/ref_invalid_syntax.txt +0 -0
  82. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/ref_ipython_non-python.txt +0 -0
  83. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/fail/skip_invalid.txt +0 -0
  84. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/class_mro_fix.txt +0 -0
  85. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/concat_default.txt +0 -0
  86. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/concat_off.txt +0 -0
  87. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/concat_on_across_sections.txt +0 -0
  88. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/concat_on_breaks.txt +0 -0
  89. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/concat_section_breaks.txt +0 -0
  90. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/concat_section_returns_to_global.txt +0 -0
  91. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/custom_block.txt +0 -0
  92. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/custom_block_imported.txt +0 -0
  93. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/empty_project.txt +0 -0
  94. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/inventory_map_is_needed.txt +0 -0
  95. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/inventory_map_not_needed.txt +0 -0
  96. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_bazel.txt +0 -0
  97. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_default.txt +0 -0
  98. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_default_fail.txt +0 -0
  99. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_doctest.txt +0 -0
  100. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_highlight_language.txt +0 -0
  101. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_highlight_none.txt +0 -0
  102. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_ipython.txt +0 -0
  103. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_ipython3.txt +0 -0
  104. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_ipython_directive.txt +0 -0
  105. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_ipython_directive_comment.txt +0 -0
  106. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_ipython_syntax.txt +0 -0
  107. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_literal.txt +0 -0
  108. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_non_python_block.txt +0 -0
  109. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_py.txt +0 -0
  110. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_py3.txt +0 -0
  111. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_pycon.txt +0 -0
  112. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_pycon_implicit.txt +0 -0
  113. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_pyi.txt +0 -0
  114. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_python3.txt +0 -0
  115. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_sage.txt +0 -0
  116. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/lexer_starlark.txt +0 -0
  117. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/line_numbers.txt +0 -0
  118. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/preface_concatenated.txt +0 -0
  119. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/preface_consumed_non_python.txt +0 -0
  120. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/preface_global.txt +0 -0
  121. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/preface_global_multiline.txt +0 -0
  122. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/preface_global_overwritten.txt +0 -0
  123. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/preface_multiline.txt +0 -0
  124. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/preface_multiline_and_arg.txt +0 -0
  125. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/preface_multiple.txt +0 -0
  126. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/preface_single.txt +0 -0
  127. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_assign_targets.txt +0 -0
  128. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_builtins.txt +0 -0
  129. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_chain.txt +0 -0
  130. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_chain_call.txt +0 -0
  131. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_class_attr.txt +0 -0
  132. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_class_meth_returns_self.txt +0 -0
  133. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_class_type_attr.txt +0 -0
  134. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_decorator.txt +0 -0
  135. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_fluent_attrs.txt +0 -0
  136. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_fluent_call.txt +0 -0
  137. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_func_args.txt +0 -0
  138. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_func_no_module.txt +0 -0
  139. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_import_as.txt +0 -0
  140. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_import_from.txt +0 -0
  141. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_import_from_complex.txt +0 -0
  142. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_import_multiple.txt +0 -0
  143. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_import_multiple_libs.txt +0 -0
  144. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_import_star.txt +0 -0
  145. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_import_submodule.txt +0 -0
  146. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_imported_func.txt +0 -0
  147. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_imported_func_relocated.txt +0 -0
  148. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_inherited.txt +0 -0
  149. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_intersphinx_only.txt +0 -0
  150. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_invalid_func.txt +0 -0
  151. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_invalid_typehint.txt +0 -0
  152. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_optional.txt +0 -0
  153. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_optional_future.txt +0 -0
  154. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_shadow_builtin.txt +0 -0
  155. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/ref_simple.txt +0 -0
  156. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/search_css_duplicates_removed.txt +0 -0
  157. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/skip_file.txt +0 -0
  158. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/skip_next.txt +0 -0
  159. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/skip_next_consumed_non_python.txt +0 -0
  160. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/skip_off.txt +0 -0
  161. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/ref/skip_section.txt +0 -0
  162. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/src/class_mro_fix.py +0 -0
  163. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/src/future_project.py +0 -0
  164. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/src/parser_func.py +0 -0
  165. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/src/test_project/__init__.py +0 -0
  166. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/src/test_project/sub.py +0 -0
  167. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/table/tab_autodoc_empty.txt +0 -0
  168. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/table/tab_autodoc_links.txt +0 -0
  169. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/table/tab_manual_collapse.txt +0 -0
  170. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/table/tab_manual_empty.txt +0 -0
  171. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/table/tab_manual_links.txt +0 -0
  172. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/table/tab_manual_links_subsection.txt +0 -0
  173. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/extension/table/tab_no_table.txt +0 -0
  174. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/parse/chain.py +0 -0
  175. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/parse/match.py +0 -0
  176. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tests/parse/scope.py +0 -0
  177. {sphinx_codeautolink-0.17.0 → sphinx_codeautolink-0.17.2}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sphinx-codeautolink
3
- Version: 0.17.0
3
+ Version: 0.17.2
4
4
  Summary: Automatic links from code examples to reference documentation.
5
5
  Author-email: Felix Hildén <felix.hilden@gmail.com>
6
6
  Maintainer-email: Felix Hildén <felix.hilden@gmail.com>
@@ -85,6 +85,18 @@ upload manually to `TestPyPI <https://test.pypi.org>`_ instead.
85
85
  $ twine upload --repository testpypi dist/*
86
86
  $ pip install --index-url https://test.pypi.org/simple/ sphinx-codeautolink
87
87
 
88
+ Translations
89
+ ------------
90
+ You are also welcome to contribute translations!
91
+ Use the following Babel commands to add new translations and locales.
92
+
93
+ .. code:: sh
94
+
95
+ $ cd src/sphinx_codeautolink
96
+ $ pybabel init --input-file=locale/sphinx-codeautolink.pot --domain=sphinx-codeautolink --output-dir=locale --locale=fi_FI
97
+ $ pybabel update --input-file=locale/sphinx-codeautolink.pot --domain=sphinx-codeautolink --output-dir=locale
98
+ $ pybabel compile --directory=locale --domain=sphinx-codeautolink
99
+
88
100
  .. |issue_resolution| image:: http://isitmaintained.com/badge/resolution/felix-hilden/sphinx-codeautolink.svg
89
101
  :target: https://isitmaintained.com/project/felix-hilden/sphinx-codeautolink
90
102
  :alt: issue resolution time
@@ -79,6 +79,12 @@ Locally defined custom block parsers in :confval:`codeautolink_custom_blocks`
79
79
  cannot be passed to Pickle, which prevents parallel Sphinx builds.
80
80
  Please consider using an importable function instead.
81
81
 
82
+ Priority
83
+ ********
84
+ The extension parses code blocks in the ``doctree-read`` Sphinx event.
85
+ The priority is set to 490 to catch nodes removed by ``sphinx.ext.doctest``
86
+ (priority 500). In other cases the priority of the extension is default.
87
+
82
88
  Copying code blocks
83
89
  -------------------
84
90
  If you feel like code links make copying code a bit more difficult,
@@ -215,24 +215,18 @@ Please specify a ``type`` in :rst:dir:`autolink-examples`:
215
215
 
216
216
  Doctest code blocks
217
217
  -------------------
218
- Using the ``sphinx.ext.doctest`` extension for code examples requires
219
- setting up :confval:`codeautolink_custom_blocks`.
220
- To help in that, :func:`clean_pycon <sphinx_codeautolink.clean_pycon>`
221
- is provided as a ready-made transformer.
222
-
223
- .. code:: python
218
+ Using the ``sphinx.ext.doctest`` extension for code examples only requires
219
+ activating the extension::
224
220
 
225
221
  extensions = [
226
222
  ...,
227
223
  "sphinx.ext.doctest",
228
224
  ]
229
- codeautolink_custom_blocks = {
230
- "python3": None,
231
- "pycon3": "sphinx_codeautolink.clean_pycon",
232
- }
233
225
 
234
226
  ``doctest`` and ``testcode`` blocks now work as expected.
235
- However, any test setup and teardown code is not taken into account.
227
+ Code in :rst:dir:`testsetup` is considered to be the first block
228
+ :rst:dir:`autolink-preface` before each matching test group.
229
+ However, `skipif` is not supported.
236
230
 
237
231
  .. doctest::
238
232
 
@@ -14,12 +14,12 @@ Configuration
14
14
  -------------
15
15
  .. confval:: codeautolink_autodoc_inject
16
16
 
17
- Type: ``bool``. Inject a :rst:dir:`autolink-examples` table
17
+ Type: ``bool``. Inject an :rst:dir:`autolink-examples` table
18
18
  to the end of all autodoc definitions. Defaults to :code:`False`.
19
19
 
20
20
  .. confval:: codeautolink_global_preface
21
21
 
22
- Type: ``str``. Include a :rst:dir:`autolink-preface` before all blocks.
22
+ Type: ``str``. Include an :rst:dir:`autolink-preface` before all blocks.
23
23
  When other prefaces or concatenated sources are used in a block,
24
24
  the global preface is included first and only once.
25
25
 
@@ -117,11 +117,25 @@ Directives
117
117
 
118
118
  .. rst:directive:: .. autolink-preface:: [code]
119
119
 
120
- Include a hidden preface in the next code block.
121
- The next block consumes this directive even if it is not
122
- processed (e.g. non-Python blocks) to avoid placement confusion.
120
+ Include a hidden preface before a code block.
123
121
  A multiline preface can be written in the content portion of the directive.
124
- Prefaces are included in block concatenation.
122
+ Prefaces are preserved in block concatenation, and are added to the source
123
+ in the following order: :confval:`codeautolink_global_preface` > file preface
124
+ > :rst:dir:`autolink-concat` sources (with their block prefaces)
125
+ > block prefaces > block source.
126
+
127
+ .. rubric:: Options
128
+
129
+ .. rst:directive:option:: level
130
+ :type: preface level
131
+
132
+ - "next" - add preface only to the next block (default).
133
+ Multiple prefaces are combined, and the next block consumes this
134
+ directive even if it's not processed (e.g. non-Python blocks)
135
+ to avoid placement confusion.
136
+ - "file" - set a preface for all blocks in the current file, placed
137
+ after but before block-level
138
+ prefaces.
125
139
 
126
140
  .. rst:directive:: .. autolink-skip:: [level]
127
141
 
@@ -8,6 +8,20 @@ These release notes are based on
8
8
  sphinx-codeautolink adheres to
9
9
  `Semantic Versioning <https://semver.org>`_.
10
10
 
11
+ 0.17.2 (2025-03-02)
12
+ -------------------
13
+ - Support :rst:dir:`testsetup` from ``sphinx.ext.doctest`` as another
14
+ type of preface (:issue:`186`)
15
+
16
+ 0.17.1 (2025-02-24)
17
+ -------------------
18
+ - Add translations via i18n (:issue:`164`)
19
+ - Fix attribute and call after walrus leading parser error (:issue:`174`)
20
+ - Fix parsing error in doctest blocks with empty lines (:issue:`176`)
21
+ - Improve error message on uncaught parsing errors (:issue:`177`)
22
+ - Add ``level`` argument to :rst:dir:`autolink-preface` to support
23
+ file-level prefaces (:issue:`180`)
24
+
11
25
  0.17.0 (2025-02-18)
12
26
  -------------------
13
27
  Added
@@ -1,11 +1,14 @@
1
1
  """Sphinx extension for linking code examples to reference documentation."""
2
2
 
3
+ from pathlib import Path
4
+
3
5
  from sphinx.application import Sphinx
4
6
 
5
7
  from .extension import SphinxCodeAutoLink, backref, directive
6
8
  from .extension.block import clean_ipython, clean_pycon
9
+ from .extension.translation import MESSAGE_CATALOG_NAME
7
10
 
8
- __version__ = "0.17.0"
11
+ __version__ = "0.17.2"
9
12
 
10
13
 
11
14
  def setup(app: Sphinx):
@@ -63,7 +66,7 @@ def setup(app: Sphinx):
63
66
 
64
67
  app.connect("builder-inited", state.build_inited)
65
68
  app.connect("autodoc-process-docstring", state.autodoc_process_docstring)
66
- app.connect("doctree-read", state.parse_blocks)
69
+ app.connect("doctree-read", state.parse_blocks, priority=490)
67
70
  app.connect("env-merge-info", state.merge_environments)
68
71
  app.connect("env-purge-doc", state.purge_doc_from_environment)
69
72
  app.connect("env-updated", state.create_references)
@@ -76,4 +79,8 @@ def setup(app: Sphinx):
76
79
  app.add_node(
77
80
  backref.SummaryNode, html=(backref.visit_summary, backref.depart_summary)
78
81
  )
82
+
83
+ locale_dir = Path(__file__).resolve().parent / "locale"
84
+ app.add_message_catalog(MESSAGE_CATALOG_NAME, locale_dir)
85
+
79
86
  return {"version": __version__, "env_version": 1, "parallel_read_safe": True}
@@ -7,6 +7,7 @@ from docutils import nodes
7
7
  from sphinx_codeautolink.warn import logger, warn_type
8
8
 
9
9
  from .directive import DeferredExamples
10
+ from .translation import tr
10
11
 
11
12
 
12
13
  @dataclass
@@ -112,7 +113,7 @@ class CodeRefsVisitor(nodes.SparseNodeVisitor):
112
113
  entry = nodes.entry()
113
114
  row += entry
114
115
  title = nodes.paragraph()
115
- title += nodes.Text("References to ")
116
+ title += nodes.Text(tr("References to") + " ")
116
117
  title += orig_ref
117
118
  entry += title
118
119
 
@@ -132,7 +133,7 @@ class CodeRefsVisitor(nodes.SparseNodeVisitor):
132
133
  if node.collapse:
133
134
  details = DetailsNode()
134
135
  summary = SummaryNode()
135
- summary += nodes.Text("Expand for references to ")
136
+ summary += nodes.Text(tr("Expand for references to") + " ")
136
137
  summary += orig_ref
137
138
  details += summary
138
139
  details += table
@@ -50,7 +50,7 @@ def clean_pycon(source: str) -> tuple[str, str]:
50
50
  if line.startswith(">>> "):
51
51
  in_statement = True
52
52
  clean_lines.append(line[4:])
53
- elif in_statement and line.startswith("... "):
53
+ elif in_statement and line.startswith("..."):
54
54
  clean_lines.append(line[4:])
55
55
  else:
56
56
  in_statement = False
@@ -123,12 +123,14 @@ class CodeBlockAnalyser(nodes.SparseNodeVisitor):
123
123
  relative_path = Path(self.document["source"]).relative_to(source_dir)
124
124
  self.current_document = str(relative_path.with_suffix(""))
125
125
  self.global_preface = global_preface
126
+ self.file_preface = []
127
+ self.prefaces = []
128
+ self.doctest_preface: dict[str, list[str]] = {}
126
129
  self.transformers = BUILTIN_BLOCKS.copy()
127
130
  self.transformers.update(custom_blocks)
128
131
  self.valid_blocks = self.transformers.keys()
129
132
  self.title_stack = []
130
133
  self.current_refid = None
131
- self.prefaces = []
132
134
  self.concat_global = concat_default
133
135
  self.concat_section = False
134
136
  self.concat_sources = []
@@ -153,7 +155,16 @@ class CodeBlockAnalyser(nodes.SparseNodeVisitor):
153
155
  self.concat_global = node.mode == "on"
154
156
  node.parent.remove(node)
155
157
  elif isinstance(node, PrefaceMarker):
156
- self.prefaces.extend(node.content.split("\n"))
158
+ lines = node.content.split("\n") or []
159
+ if node.level == "next":
160
+ self.prefaces.extend(lines)
161
+ elif node.level == "file":
162
+ self.file_preface = lines
163
+ else:
164
+ msg = f"Invalid preface argument: `{node.level}`"
165
+ logger.error(
166
+ msg, type=warn_type, subtype="invalid_argument", location=node
167
+ )
157
168
  node.parent.remove(node)
158
169
  elif isinstance(node, SkipMarker):
159
170
  if node.level not in ("next", "section", "file", "off"):
@@ -188,21 +199,41 @@ class CodeBlockAnalyser(nodes.SparseNodeVisitor):
188
199
  """Pop latest title."""
189
200
  self.title_stack.pop()
190
201
 
191
- def visit_doctest_block(self, node):
202
+ def visit_doctest_block(self, node: nodes.doctest_block):
192
203
  """Visit a Python doctest block."""
193
204
  return self.parse_source(node, "pycon")
194
205
 
206
+ def visit_comment(self, node: nodes.comment):
207
+ """Visit an ext.doctest setup block."""
208
+ if node.get("testnodetype") == "testsetup":
209
+ groups = node["groups"]
210
+ lines = [ln for c in node.children for ln in c.astext().split("\n")]
211
+ for g in groups:
212
+ if g == "*":
213
+ self.doctest_preface = {"*": lines}
214
+ else:
215
+ self.doctest_preface[g] = lines
216
+
195
217
  def visit_literal_block(self, node: nodes.literal_block):
196
218
  """Visit a generic literal block."""
197
219
  return self.parse_source(node, node.get("language", self.highlight_lang))
198
220
 
199
- def parse_source( # noqa: C901
221
+ def parse_source( # noqa: C901,PLR0912
200
222
  self, node: nodes.literal_block | nodes.doctest_block, language: str | None
201
223
  ) -> None:
202
224
  """Analyse Python code blocks."""
203
225
  prefaces = self.prefaces
204
226
  self.prefaces = []
205
227
 
228
+ if node.get("testnodetype") == "doctest":
229
+ groups = node["groups"]
230
+ doctest_prefaces = [
231
+ ln
232
+ for g in groups
233
+ for ln in self.doctest_preface.get(g, self.doctest_preface.get("*", []))
234
+ ]
235
+ prefaces = doctest_prefaces + prefaces
236
+
206
237
  skip = self.skip
207
238
  if skip == "next":
208
239
  self.skip = None
@@ -243,25 +274,45 @@ class CodeBlockAnalyser(nodes.SparseNodeVisitor):
243
274
  clean_source = source
244
275
  transform.source = source
245
276
 
246
- modified_source = "\n".join(
247
- self.global_preface + self.concat_sources + prefaces + [clean_source]
277
+ full_source = "\n".join(
278
+ self.global_preface
279
+ + self.file_preface
280
+ + self.concat_sources
281
+ + prefaces
282
+ + [clean_source]
248
283
  )
249
284
  try:
250
- names = parse_names(modified_source, node)
285
+ names = parse_names(full_source, node)
251
286
  except SyntaxError as e:
252
287
  if language == "default" and not self.warn_default_parse_fail:
253
288
  return
254
289
 
255
290
  show_source = self._format_source_for_error(
256
- self.global_preface, self.concat_sources, prefaces, transform.source
291
+ self.global_preface,
292
+ self.file_preface,
293
+ self.concat_sources,
294
+ prefaces,
295
+ transform.source,
257
296
  )
258
297
  msg = self._parsing_error_msg(e, language, show_source)
259
298
  logger.warning(msg, type=warn_type, subtype="parse_block", location=node)
260
299
  return
300
+ except Exception as e:
301
+ show_source = self._format_source_for_error(
302
+ self.global_preface,
303
+ self.file_preface,
304
+ self.concat_sources,
305
+ prefaces,
306
+ transform.source,
307
+ )
308
+ msg = self._parsing_error_msg(e, language, show_source)
309
+ raise type(e)(msg) from e
261
310
 
262
- if prefaces or self.concat_sources or self.global_preface:
311
+ if prefaces or self.concat_sources or self.global_preface or self.file_preface:
263
312
  concat_lens = [s.count("\n") + 1 for s in self.concat_sources]
264
- hidden_len = len(prefaces) + sum(concat_lens) + len(self.global_preface)
313
+ hidden_len = len(prefaces + self.global_preface + self.file_preface) + sum(
314
+ concat_lens
315
+ )
265
316
  for name in names:
266
317
  name.lineno -= hidden_len
267
318
  name.end_lineno -= hidden_len
@@ -275,16 +326,26 @@ class CodeBlockAnalyser(nodes.SparseNodeVisitor):
275
326
  @staticmethod
276
327
  def _format_source_for_error(
277
328
  global_preface: list[str],
329
+ file_preface: list[str],
278
330
  concat_sources: list[str],
279
331
  prefaces: list[str],
280
332
  source: str,
281
333
  ) -> str:
282
- lines = global_preface + concat_sources + prefaces + source.split("\n")
334
+ lines = (
335
+ global_preface
336
+ + file_preface
337
+ + concat_sources
338
+ + prefaces
339
+ + source.split("\n")
340
+ )
283
341
  guides = [""] * len(lines)
284
342
  ix = 0
285
343
  if global_preface:
286
- guides[0] = "global preface:"
344
+ guides[ix] = "global preface:"
287
345
  ix += len(global_preface)
346
+ if file_preface:
347
+ guides[ix] = "file preface:"
348
+ ix += len(concat_sources)
288
349
  if concat_sources:
289
350
  guides[ix] = "concatenations:"
290
351
  ix += len(concat_sources)
@@ -302,6 +363,7 @@ class CodeBlockAnalyser(nodes.SparseNodeVisitor):
302
363
  str(error) + f" in document {self.current_document!r}",
303
364
  f"Parsed source in `{language}` block:",
304
365
  source,
366
+ "",
305
367
  ]
306
368
  )
307
369
 
@@ -77,9 +77,10 @@ class Concat(Directive):
77
77
  class PrefaceMarker(nodes.Element):
78
78
  """Marker for :class:`Preface`."""
79
79
 
80
- def __init__(self, content: str) -> None:
80
+ def __init__(self, content: str, level: str) -> None:
81
81
  super().__init__()
82
82
  self.content = content
83
+ self.level = level
83
84
 
84
85
  def copy(self):
85
86
  """Copy element."""
@@ -93,11 +94,13 @@ class Preface(Directive):
93
94
  required_arguments = 0
94
95
  optional_arguments = 1
95
96
  final_argument_whitespace = True
97
+ option_spec: ClassVar = {"level": directives.unchanged}
96
98
 
97
99
  def run(self):
98
100
  """Insert :class:`PrefaceMarker`."""
99
101
  lines = list(self.arguments) + list(self.content)
100
- return [PrefaceMarker("\n".join(lines))]
102
+ level = self.options.get("level", "next")
103
+ return [PrefaceMarker("\n".join(lines), level)]
101
104
 
102
105
 
103
106
  class SkipMarker(nodes.Element):
@@ -0,0 +1,6 @@
1
+ """Translation utilities."""
2
+
3
+ from sphinx.locale import get_translation
4
+
5
+ MESSAGE_CATALOG_NAME = "sphinx-codeautolink"
6
+ tr = get_translation(MESSAGE_CATALOG_NAME)
@@ -0,0 +1,25 @@
1
+ # German translations for sphinx-codeautolink.
2
+ # Copyright (C) 2025 ORGANIZATION
3
+ # This file is distributed under the same license as the sphinx-codeautolink project.
4
+ # Colin Marquardt <cmarqu42@gmail.com>, 2025.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: 1\n"
9
+ "Report-Msgid-Bugs-To: cmarqu42@gmail.com\n"
10
+ "POT-Creation-Date: 2025-02-23 17:30+0200\n"
11
+ "PO-Revision-Date: 2025-02-23 18:42+0100\n"
12
+ "Last-Translator: Colin Marquardt <cmarqu42@gmail.com>\n"
13
+ "Language: de\n"
14
+ "Language-Team: Colin Marquardt <cmarqu42@gmail.com>\n"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=utf-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+ "Generated-By: Babel 2.17.0\n"
20
+
21
+ msgid "References to"
22
+ msgstr "Referenzen auf"
23
+
24
+ msgid "Expand for references to"
25
+ msgstr "Aufklappen für Referenzen auf"
@@ -0,0 +1,25 @@
1
+ # Spanish translations for sphinx-codeautolink.
2
+ # Copyright (C) 2025 ORGANIZATION
3
+ # This file is distributed under the same license as the sphinx-codeautolink project.
4
+ # Felix Hildén <felix.hilden@gmail.com>, 2025.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: 1\n"
9
+ "Report-Msgid-Bugs-To: felix.hilden@gmail.com\n"
10
+ "POT-Creation-Date: 2025-02-23 17:30+0200\n"
11
+ "PO-Revision-Date: 2025-02-23 18:05+0200\n"
12
+ "Last-Translator: Felix Hildén <felix.hilden@gmail.com>\n"
13
+ "Language: es\n"
14
+ "Language-Team: Felix Hildén <felix.hilden@gmail.com>\n"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=utf-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+ "Generated-By: Babel 2.17.0\n"
20
+
21
+ msgid "References to"
22
+ msgstr "Referencias a"
23
+
24
+ msgid "Expand for references to"
25
+ msgstr "Amplíe para referencias a"
@@ -0,0 +1,25 @@
1
+ # Finnish translations for sphinx-codeautolink.
2
+ # Copyright (C) 2025 ORGANIZATION
3
+ # This file is distributed under the same license as the sphinx-codeautolink project.
4
+ # Felix Hildén <felix.hilden@gmail.com>, 2025.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: 1\n"
9
+ "Report-Msgid-Bugs-To: felix.hilden@gmail.com\n"
10
+ "POT-Creation-Date: 2025-02-23 17:30+0200\n"
11
+ "PO-Revision-Date: 2025-02-23 17:32+0200\n"
12
+ "Last-Translator: Felix Hildén <felix.hilden@gmail.com>\n"
13
+ "Language: fi\n"
14
+ "Language-Team: Felix Hildén <felix.hilden@gmail.com>\n"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=utf-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+ "Generated-By: Babel 2.17.0\n"
20
+
21
+ msgid "References to"
22
+ msgstr "Viitteet kohteeseen"
23
+
24
+ msgid "Expand for references to"
25
+ msgstr "Avaa nähdäksesi viitteet kohteeseen"
@@ -0,0 +1,25 @@
1
+ # French translations for sphinx-codeautolink.
2
+ # Copyright (C) 2025 ORGANIZATION
3
+ # This file is distributed under the same license as the sphinx-codeautolink project.
4
+ # Colin Marquardt <cmarqu42@gmail.com>, 2025.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: 1\n"
9
+ "Report-Msgid-Bugs-To: cmarqu42@gmail.com\n"
10
+ "POT-Creation-Date: 2025-02-23 17:30+0200\n"
11
+ "PO-Revision-Date: 2025-02-25 22:23+0100\n"
12
+ "Last-Translator: Colin Marquardt <cmarqu42@gmail.com>\n"
13
+ "Language: fr\n"
14
+ "Language-Team: Colin Marquardt <cmarqu42@gmail.com>\n"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=utf-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+ "Generated-By: Babel 2.17.0\n"
20
+
21
+ msgid "References to"
22
+ msgstr "Références à"
23
+
24
+ msgid "Expand for references to"
25
+ msgstr "Étendre pour les références à"
@@ -0,0 +1,25 @@
1
+ # Italian translations for sphinx-codeautolink.
2
+ # Copyright (C) 2025 ORGANIZATION
3
+ # This file is distributed under the same license as the sphinx-codeautolink project.
4
+ # Colin Marquardt <cmarqu42@gmail.com>, 2025.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: 1\n"
9
+ "Report-Msgid-Bugs-To: cmarqu42@gmail.com\n"
10
+ "POT-Creation-Date: 2025-02-23 17:30+0200\n"
11
+ "PO-Revision-Date: 2025-02-24 20:26+0100\n"
12
+ "Last-Translator: Colin Marquardt <cmarqu42@gmail.com>\n"
13
+ "Language: it\n"
14
+ "Language-Team: Colin Marquardt <cmarqu42@gmail.com>\n"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=utf-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+ "Generated-By: Babel 2.17.0\n"
20
+
21
+ msgid "References to"
22
+ msgstr "Riferimenti a"
23
+
24
+ msgid "Expand for references to"
25
+ msgstr "Espandi per riferimenti a"
@@ -0,0 +1,27 @@
1
+ # Dutch (Netherlands) translations for sphinx-codeautolink.
2
+ # Copyright (C) 2025 ORGANIZATION
3
+ # This file is distributed under the same license as the sphinx-codeautolink
4
+ # project.
5
+ # Trevor James Smith <smith.trevorj@ouranos.ca>, 2025.
6
+ #
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: 1\n"
10
+ "Report-Msgid-Bugs-To: smith.trevorj@ouranos.ca\n"
11
+ "POT-Creation-Date: 2025-02-23 17:30+0200\n"
12
+ "PO-Revision-Date: 2025-02-26 09:04-0500\n"
13
+ "Last-Translator: Trevor James Smith <smith.trevorj@ouranos.ca>\n"
14
+ "Language: nl\n"
15
+ "Language-Team: Trevor James Smith <smith.trevorj@ouranos.ca>\n"
16
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17
+ "MIME-Version: 1.0\n"
18
+ "Content-Type: text/plain; charset=utf-8\n"
19
+ "Content-Transfer-Encoding: 8bit\n"
20
+ "Generated-By: Babel 2.17.0\n"
21
+
22
+ msgid "References to"
23
+ msgstr "Referenties naar"
24
+
25
+ msgid "Expand for references to"
26
+ msgstr "Uitklappen voor referenties naar"
27
+
@@ -0,0 +1,25 @@
1
+ # Russian translations for sphinx-codeautolink.
2
+ # Copyright (C) 2025 ORGANIZATION
3
+ # This file is distributed under the same license as the sphinx-codeautolink project.
4
+ # Yuriy Skalko <yuriy.skalko@gmail.com>, 2025.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: 1\n"
9
+ "Report-Msgid-Bugs-To: yuriy.skalko@gmail.com\n"
10
+ "POT-Creation-Date: 2025-02-24 17:30+0200\n"
11
+ "PO-Revision-Date: 2025-02-24 18:42+0100\n"
12
+ "Last-Translator: Yuriy Skalko <yuriy.skalko@gmail.com>\n"
13
+ "Language: ru\n"
14
+ "Language-Team: Yuriy Skalko <yuriy.skalko@gmail.com>\n"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=utf-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+ "Generated-By: Babel 2.17.0\n"
20
+
21
+ msgid "References to"
22
+ msgstr "Ссылки на"
23
+
24
+ msgid "Expand for references to"
25
+ msgstr "Раскрыть ссылки на"
@@ -0,0 +1,24 @@
1
+ # Translations template for sphinx-codeautolink.
2
+ # Copyright (C) 2025 ORGANIZATION
3
+ # This file is distributed under the same license as the sphinx-codeautolink project.
4
+ # Felix Hildén <felix.hilden@gmail.com>, 2025.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: 1\n"
10
+ "Report-Msgid-Bugs-To: felix.hilden@gmail.com\n"
11
+ "POT-Creation-Date: 2025-02-23 17:30+0200\n"
12
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
+ "Language-Team: Felix Hildén <felix.hilden@gmail.com>\n"
15
+ "MIME-Version: 1.0\n"
16
+ "Content-Type: text/plain; charset=utf-8\n"
17
+ "Content-Transfer-Encoding: 8bit\n"
18
+ "Generated-By: Babel 2.17.0\n"
19
+
20
+ msgid "References to"
21
+ msgstr ""
22
+
23
+ msgid "Expand for references to"
24
+ msgstr ""
@@ -0,0 +1,25 @@
1
+ # Ukrainian translations for sphinx-codeautolink.
2
+ # Copyright (C) 2025 ORGANIZATION
3
+ # This file is distributed under the same license as the sphinx-codeautolink project.
4
+ # Yuriy Skalko <yuriy.skalko@gmail.com>, 2025.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: 1\n"
9
+ "Report-Msgid-Bugs-To: yuriy.skalko@gmail.com\n"
10
+ "POT-Creation-Date: 2025-02-24 17:30+0200\n"
11
+ "PO-Revision-Date: 2025-02-24 18:42+0100\n"
12
+ "Last-Translator: Yuriy Skalko <yuriy.skalko@gmail.com>\n"
13
+ "Language: uk\n"
14
+ "Language-Team: Yuriy Skalko <yuriy.skalko@gmail.com>\n"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=utf-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+ "Generated-By: Babel 2.17.0\n"
20
+
21
+ msgid "References to"
22
+ msgstr "Посилання на"
23
+
24
+ msgid "Expand for references to"
25
+ msgstr "Розгорнути посилання на"