strictdoc 0.2.1__tar.gz → 0.3.0__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.
- {strictdoc-0.2.1 → strictdoc-0.3.0}/PKG-INFO +2 -1
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/__init__.py +1 -1
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/document_config.py +1 -1
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/section.py +1 -1
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/caching_reader.py +1 -1
- strictdoc-0.3.0/strictdoc/backend/sdoc_source_code/constants.py +7 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/grammar.py +2 -2
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/marker_parser.py +3 -1
- strictdoc-0.3.0/strictdoc/backend/sdoc_source_code/models/function.py +42 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/models/function_range_marker.py +6 -3
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/models/range_marker.py +1 -1
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +6 -3
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/reader_c.py +97 -11
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/reader_python.py +10 -7
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/tree_sitter_helpers.py +16 -1
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/cli/cli_arg_parser.py +1 -1
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/file_traceability_index.py +108 -3
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/file_tree.py +1 -1
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/finders/source_files_finder.py +6 -4
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/project_config.py +8 -1
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/traceability_index_builder.py +17 -10
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/view_objects/project_tree_stats.py +1 -1
- strictdoc-0.2.1/strictdoc/backend/sdoc_source_code/models/function.py +0 -20
- {strictdoc-0.2.1 → strictdoc-0.3.0}/.gitignore +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/LICENSE +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/NOTICE +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/README.md +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/pyproject.toml +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/excel/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/excel/excel_import.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/excel/export/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/excel/export/excel_generator.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/excel/import_/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/reqif/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/reqif/reqif_export.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/reqif/reqif_import.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/constants.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/document_reference.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/error_handling.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/grammar/grammar.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/grammar/grammar_grammar.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/grammar/type_system.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/grammar_reader.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/anchor.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/any_node.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/constants.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/document.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/document_from_file.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/document_grammar.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/document_view.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/free_text.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/node.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/object_factory.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/reference.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/models/type_system.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/pickle_cache.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/processor.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/reader.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/validations/sdoc_validator.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc/writer.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/parse_context.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/processors/general_language_marker_processors.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/reader.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/cli/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/cli/argument_int_range.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/cli/command_parser_builder.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/cli/main.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/commands/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/commands/about_command.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/commands/diff_command.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/commands/dump_grammar_command.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/commands/manage_autouid_command.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/commands/version_command.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/actions/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/actions/export_action.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/actions/import_action.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/analyzers/document_stats.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/asset_manager.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/document_finder.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/document_iterator.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/document_meta.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/document_tree.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/document_tree_iterator.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/environment.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/finders/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/graph/abstract_bucket.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/graph/many_to_many_set.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/graph/one_to_one_dictionary.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/graph/validations.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/graph_database.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/query_engine/grammar.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/query_engine/query_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/query_engine/query_reader.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/source_tree.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/traceability_index.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/transforms/constants.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/transforms/create_requirement.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/transforms/delete_requirement.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/transforms/delete_section.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/transforms/section.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/transforms/update_document_config.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/transforms/update_grammar.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/transforms/update_grammar_element.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/transforms/update_included_document.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/transforms/update_requirement.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/transforms/validation_error.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/core/tree_cycle_detector.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/autogen.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/base.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/collapsible_list.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/collapsible_toc.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/collapsible_tree.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/content.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/controllers/anchor_controller.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/diff.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/diff.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/element.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/favicon.ico +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/fonts/NotoSans-VariableFont_wdth,wght.ttf +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/fonts/NotoSansMono-VariableFont_wdth,wght.ttf +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/form.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/html2pdf/bundle.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/layout.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/node.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/pan_with_space.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/project_tree.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/project_tree.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/requirement-tree.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/requirement.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/resizable_bar.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/source.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/stimulus.min.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/table_vew.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/tree(not_in_use).css +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/turbo.min.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static/zoomable.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/nestor/bundle.umd.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/document_type.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/form_objects/form_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/form_objects/grammar_element_form_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/form_objects/grammar_form_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/form_objects/included_document_form_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/form_objects/requirement_form_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/form_objects/rows/row_with_grammar_element_form_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/document.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/document_pdf.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/document_table.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/document_trace.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/document_tree.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/project_statistics.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/source_file_view_generator.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/view_objects/diff_screen_results_view_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/view_objects/diff_screen_view_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/view_objects/document_screen_view_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/view_objects/nestor_view_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/view_objects/project_statistics_view_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/view_objects/project_tree_view_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/view_objects/search_screen_view_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/view_objects/source_file_view_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/generators/view_objects/traceability_matrix_view_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/html_generator.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/html_templates.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/renderers/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/renderers/link_renderer.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/renderers/markup_renderer.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_add_above.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_add_below.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_add_child.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_file.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_folder_collapse.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_fragment.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_fragment_draft.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_requirement.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/base.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/anchor/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/grammar_form/row_with_grammar_element/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/grammar_form/row_with_new_grammar_element/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/grammar_form_element/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/grammar_form_element/row_with_custom_field/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/grammar_form_element/row_with_relation/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/grammar_form_element/row_with_reserved_field/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/included_document_form/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/README.txt +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/comments/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/document_meta/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/document_title/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/files/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/links/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/meta/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/multiline/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/rationale/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/section_h/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/section_h/pdf.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/section_title/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/statement/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/text/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/title/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/title/pdf.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/uid/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/node_field/uid_standalone/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/text_node/card.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/text_node/card_extends_card.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/text_node/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/text_node/index_extends_node.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/text_node/pdf.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/text_node/tiny.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/components/text_node/tiny_extends_card.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/rst/anchor.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_requirement.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/_shared/project_tree_child_documents.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/table/main.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/diff_content.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/nestor/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/project_index/project_tree.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/project_index/project_tree_file.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/project_index/project_tree_folder.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/source_file_coverage/file.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/source_file_coverage/folder.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/website/document/index.jinja +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/tools/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html/tools/html_embedded.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html2pdf/html2pdf.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html2pdf/html2pdf_generator.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/html2pdf/pdf_print_driver.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/json/json_generator.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/rst/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/rst/document_rst_generator.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/rst/rst_templates.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/rst/templates/requirement.jinja.rst +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/rst/writer.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/spdx/spdx_generator.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/git/change.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/git/change_generator.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/git/git_client.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/git/project_diff_analyzer.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/auto_described.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/cast.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/diff.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/exception.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/file_modification_time.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/file_system.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/form_data.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/git_client.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/math.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/md5.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/mid.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/ordered_set.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/parallelizer.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/path_filter.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/paths.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/pickle.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/rst.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/sha256.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/shard.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/sorting.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/string.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/textx.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/helpers/timing.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/server/__init__.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/server/app.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/server/config.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/server/error_object.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/server/helpers/turbo.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/server/main.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/server/routers/main_router.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/server/routers/other_router.py +0 -0
- {strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/server/server.py +0 -0
@@ -1,11 +1,12 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: strictdoc
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.3.0
|
4
4
|
Summary: StrictDoc is open-source software for technical documentation and requirements management.
|
5
5
|
Project-URL: Changelog, https://github.com/strictdoc-project/strictdoc/blob/main/CHANGELOG.md
|
6
6
|
Project-URL: Homepage, https://strictdoc.readthedocs.io/en/stable/
|
7
7
|
Project-URL: Source, https://github.com/strictdoc-project/strictdoc
|
8
8
|
Author-email: Stanislav Pankevich <s.pankevich@gmail.com>, Maryna Balioura <mettta@gmail.com>
|
9
|
+
License: Apache-2.0
|
9
10
|
Classifier: License :: OSI Approved :: BSD License
|
10
11
|
Classifier: Operating System :: OS Independent
|
11
12
|
Classifier: Programming Language :: Python :: 3
|
@@ -5,7 +5,7 @@ from strictdoc.helpers.auto_described import auto_described
|
|
5
5
|
|
6
6
|
|
7
7
|
@auto_described
|
8
|
-
class DocumentConfig:
|
8
|
+
class DocumentConfig:
|
9
9
|
@staticmethod
|
10
10
|
def default_config(document) -> "DocumentConfig":
|
11
11
|
return DocumentConfig(
|
@@ -54,6 +54,6 @@ class SourceFileTraceabilityCachingReader:
|
|
54
54
|
if project_config.is_activated_source_file_language_parsers():
|
55
55
|
if path_to_file.endswith(".py"):
|
56
56
|
return SourceFileTraceabilityReader_Python()
|
57
|
-
if path_to_file.endswith(".c"):
|
57
|
+
if path_to_file.endswith(".c") or path_to_file.endswith(".h"):
|
58
58
|
return SourceFileTraceabilityReader_C()
|
59
59
|
return SourceFileTraceabilityReader()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
SOURCE_FILE_GRAMMAR = """
|
2
2
|
SourceFileTraceabilityInfo[noskipws]:
|
3
|
-
|
3
|
+
g_parts += Part
|
4
4
|
;
|
5
5
|
|
6
6
|
Part[noskipws]:
|
@@ -33,7 +33,7 @@ RangeMarker[noskipws]:
|
|
33
33
|
|
34
34
|
FunctionRangeMarker[noskipws]:
|
35
35
|
/^.*?@relation/
|
36
|
-
"(" (reqs_objs += Req[', ']) ', scope=file)' '\n'?
|
36
|
+
"(" (reqs_objs += Req[', ']) ', scope=' scope="file" ')' '\n'?
|
37
37
|
;
|
38
38
|
|
39
39
|
LineMarker[noskipws]:
|
@@ -58,7 +58,9 @@ class MarkerParser:
|
|
58
58
|
requirements.append(requirement)
|
59
59
|
|
60
60
|
if marker_type in ("file", "class", "function"):
|
61
|
-
function_marker = FunctionRangeMarker(
|
61
|
+
function_marker = FunctionRangeMarker(
|
62
|
+
None, requirements, scope=marker_type
|
63
|
+
)
|
62
64
|
function_marker.ng_source_line_begin = line_start
|
63
65
|
function_marker.ng_range_line_begin = line_start
|
64
66
|
function_marker.ng_range_line_end = line_end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
from typing import Any, List, Set
|
2
|
+
|
3
|
+
from strictdoc.backend.sdoc_source_code.constants import FunctionAttribute
|
4
|
+
from strictdoc.backend.sdoc_source_code.models.function_range_marker import (
|
5
|
+
FunctionRangeMarker,
|
6
|
+
)
|
7
|
+
from strictdoc.helpers.auto_described import auto_described
|
8
|
+
|
9
|
+
|
10
|
+
@auto_described
|
11
|
+
class Function:
|
12
|
+
def __init__(
|
13
|
+
self,
|
14
|
+
parent: Any,
|
15
|
+
name: str,
|
16
|
+
line_begin: int,
|
17
|
+
line_end: int,
|
18
|
+
child_functions: List[Any],
|
19
|
+
markers: List[FunctionRangeMarker],
|
20
|
+
attributes: Set[FunctionAttribute],
|
21
|
+
):
|
22
|
+
assert parent is not None
|
23
|
+
self.parent = parent
|
24
|
+
self.name = name
|
25
|
+
# Child functions are supported in programming languages that can nest
|
26
|
+
# functions, for example, Python.
|
27
|
+
self.child_functions: List[Function] = child_functions
|
28
|
+
self.markers: List[FunctionRangeMarker] = markers
|
29
|
+
self.line_begin = line_begin
|
30
|
+
self.line_end = line_end
|
31
|
+
self.attributes: Set[FunctionAttribute] = attributes
|
32
|
+
|
33
|
+
def is_declaration(self) -> bool:
|
34
|
+
return FunctionAttribute.DECLARATION in self.attributes
|
35
|
+
|
36
|
+
def is_definition(self) -> bool:
|
37
|
+
return FunctionAttribute.DEFINITION in self.attributes
|
38
|
+
|
39
|
+
def is_public(self) -> bool:
|
40
|
+
if FunctionAttribute.STATIC in self.attributes:
|
41
|
+
return False
|
42
|
+
return True
|
@@ -14,12 +14,15 @@ class RangeMarkerType(Enum):
|
|
14
14
|
|
15
15
|
@auto_described
|
16
16
|
class FunctionRangeMarker:
|
17
|
-
def __init__(self, parent, reqs_objs: List[Req]):
|
17
|
+
def __init__(self, parent, reqs_objs: List[Req], scope: str):
|
18
18
|
assert isinstance(reqs_objs, list)
|
19
|
+
assert isinstance(scope, str), scope
|
19
20
|
self.parent = parent
|
20
21
|
self.reqs_objs: List[Req] = reqs_objs
|
21
22
|
self.reqs: List[str] = list(map(lambda req: req.uid, reqs_objs))
|
22
23
|
|
24
|
+
self.scope: RangeMarkerType = RangeMarkerType(scope)
|
25
|
+
|
23
26
|
# Line number of the marker in the source code.
|
24
27
|
self.ng_source_line_begin: Optional[int] = None
|
25
28
|
self.ng_source_column_begin: Optional[int] = None
|
@@ -64,5 +67,5 @@ class FunctionRangeMarker:
|
|
64
67
|
|
65
68
|
@auto_described
|
66
69
|
class ForwardFunctionRangeMarker(FunctionRangeMarker):
|
67
|
-
def __init__(self, parent, reqs_objs: List[Req]):
|
68
|
-
super().__init__(parent, reqs_objs)
|
70
|
+
def __init__(self, parent, reqs_objs: List[Req], scope: str):
|
71
|
+
super().__init__(parent, reqs_objs, scope)
|
{strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/models/range_marker.py
RENAMED
@@ -45,7 +45,7 @@ class RangeMarker:
|
|
45
45
|
self.ng_range_line_end: Optional[int] = None
|
46
46
|
|
47
47
|
self.ng_is_nodoc = "nosdoc" in self.reqs
|
48
|
-
self.ng_new_relation_keyword =
|
48
|
+
self.ng_new_relation_keyword = scope is not None and len(scope) > 0
|
49
49
|
|
50
50
|
def is_begin(self) -> bool:
|
51
51
|
return self.begin_or_end == "["
|
{strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/models/source_file_info.py
RENAMED
@@ -1,5 +1,5 @@
|
|
1
1
|
# mypy: disable-error-code="no-untyped-def,type-arg,var-annotated"
|
2
|
-
from typing import List, Union
|
2
|
+
from typing import Dict, List, Union
|
3
3
|
|
4
4
|
from strictdoc.backend.sdoc_source_code.models.function import Function
|
5
5
|
from strictdoc.backend.sdoc_source_code.models.function_range_marker import (
|
@@ -15,7 +15,7 @@ from strictdoc.helpers.auto_described import auto_described
|
|
15
15
|
|
16
16
|
@auto_described
|
17
17
|
class SourceFileTraceabilityInfo:
|
18
|
-
def __init__(self,
|
18
|
+
def __init__(self, g_parts: List):
|
19
19
|
"""
|
20
20
|
At the init time, only the backward RangeMarkers are available from
|
21
21
|
a source file. At runtime, the ForwardRangeMarkers are mixed in
|
@@ -23,7 +23,7 @@ class SourceFileTraceabilityInfo:
|
|
23
23
|
is a union.
|
24
24
|
"""
|
25
25
|
|
26
|
-
self.
|
26
|
+
self.g_parts: List = g_parts
|
27
27
|
self.functions: List[Function] = []
|
28
28
|
|
29
29
|
"""
|
@@ -34,6 +34,9 @@ class SourceFileTraceabilityInfo:
|
|
34
34
|
"""
|
35
35
|
self.ng_map_reqs_to_markers = {}
|
36
36
|
|
37
|
+
self.ng_map_names_to_markers: Dict[str, List] = {}
|
38
|
+
self.ng_map_names_to_definition_functions: Dict[str, Function] = {}
|
39
|
+
|
37
40
|
self.ng_lines_total = 0
|
38
41
|
self.ng_lines_covered = 0
|
39
42
|
self._coverage: float = 0
|
@@ -7,6 +7,7 @@ import tree_sitter_c
|
|
7
7
|
from tree_sitter import Language, Node, Parser
|
8
8
|
|
9
9
|
from strictdoc.backend.sdoc.error_handling import StrictDocSemanticError
|
10
|
+
from strictdoc.backend.sdoc_source_code.constants import FunctionAttribute
|
10
11
|
from strictdoc.backend.sdoc_source_code.marker_parser import MarkerParser
|
11
12
|
from strictdoc.backend.sdoc_source_code.models.function import Function
|
12
13
|
from strictdoc.backend.sdoc_source_code.models.function_range_marker import (
|
@@ -26,7 +27,11 @@ from strictdoc.backend.sdoc_source_code.processors.general_language_marker_proce
|
|
26
27
|
range_marker_processor,
|
27
28
|
source_file_traceability_info_processor,
|
28
29
|
)
|
29
|
-
from strictdoc.backend.sdoc_source_code.tree_sitter_helpers import
|
30
|
+
from strictdoc.backend.sdoc_source_code.tree_sitter_helpers import (
|
31
|
+
traverse_tree,
|
32
|
+
ts_find_child_node_by_type,
|
33
|
+
ts_find_child_nodes_by_type,
|
34
|
+
)
|
30
35
|
from strictdoc.helpers.string import get_lines_count
|
31
36
|
|
32
37
|
|
@@ -86,6 +91,83 @@ class SourceFileTraceabilityReader_C:
|
|
86
91
|
traceability_info.markers.append(
|
87
92
|
function_range_marker_
|
88
93
|
)
|
94
|
+
elif node_.type == "declaration":
|
95
|
+
function_declarator_node = ts_find_child_node_by_type(
|
96
|
+
node_, "function_declarator"
|
97
|
+
)
|
98
|
+
if function_declarator_node is None:
|
99
|
+
continue
|
100
|
+
|
101
|
+
function_identifier_node = ts_find_child_node_by_type(
|
102
|
+
function_declarator_node, "identifier"
|
103
|
+
)
|
104
|
+
if function_identifier_node is None:
|
105
|
+
continue
|
106
|
+
|
107
|
+
if function_identifier_node.text is None:
|
108
|
+
continue
|
109
|
+
|
110
|
+
function_name: str = function_identifier_node.text.decode(
|
111
|
+
"utf8"
|
112
|
+
)
|
113
|
+
assert function_name is not None, function_name
|
114
|
+
|
115
|
+
function_attributes = {FunctionAttribute.DECLARATION}
|
116
|
+
for specifier_node_ in ts_find_child_nodes_by_type(
|
117
|
+
node_, "storage_class_specifier"
|
118
|
+
):
|
119
|
+
if specifier_node_.text == b"static":
|
120
|
+
function_attributes.add(FunctionAttribute.STATIC)
|
121
|
+
|
122
|
+
function_markers: List[FunctionRangeMarker] = []
|
123
|
+
function_comment_node: Optional[Node] = None
|
124
|
+
function_comment_text = None
|
125
|
+
if (
|
126
|
+
node_.prev_sibling is not None
|
127
|
+
and node_.prev_sibling.type == "comment"
|
128
|
+
):
|
129
|
+
function_comment_node = node_.prev_sibling
|
130
|
+
assert function_comment_node.text is not None
|
131
|
+
function_comment_text = function_comment_node.text.decode(
|
132
|
+
"utf8"
|
133
|
+
)
|
134
|
+
|
135
|
+
function_last_line = node_.end_point[0] + 1
|
136
|
+
|
137
|
+
markers = MarkerParser.parse(
|
138
|
+
function_comment_text,
|
139
|
+
function_comment_node.start_point[0] + 1,
|
140
|
+
function_last_line,
|
141
|
+
function_comment_node.start_point[0] + 1,
|
142
|
+
function_comment_node.start_point[1] + 1,
|
143
|
+
entity_name=function_name,
|
144
|
+
)
|
145
|
+
for marker_ in markers:
|
146
|
+
if isinstance(marker_, FunctionRangeMarker) and (
|
147
|
+
function_range_marker_ := marker_
|
148
|
+
):
|
149
|
+
function_range_marker_processor(
|
150
|
+
function_range_marker_, parse_context
|
151
|
+
)
|
152
|
+
traceability_info.markers.append(
|
153
|
+
function_range_marker_
|
154
|
+
)
|
155
|
+
function_markers.append(marker_)
|
156
|
+
|
157
|
+
# The function range includes the top comment if it exists.
|
158
|
+
new_function = Function(
|
159
|
+
parent=traceability_info,
|
160
|
+
name=function_name,
|
161
|
+
line_begin=function_comment_node.start_point[0] + 1
|
162
|
+
if function_comment_node is not None
|
163
|
+
else node_.range.start_point[0] + 1,
|
164
|
+
line_end=node_.range.end_point[0] + 1,
|
165
|
+
child_functions=[],
|
166
|
+
markers=function_markers,
|
167
|
+
attributes=function_attributes,
|
168
|
+
)
|
169
|
+
traceability_info.functions.append(new_function)
|
170
|
+
|
89
171
|
elif node_.type == "function_definition":
|
90
172
|
function_name: str = ""
|
91
173
|
|
@@ -97,6 +179,7 @@ class SourceFileTraceabilityReader_C:
|
|
97
179
|
function_name = child_.children[0].text.decode("utf8")
|
98
180
|
assert function_name is not None, "Function name"
|
99
181
|
|
182
|
+
function_markers: List[FunctionRangeMarker] = []
|
100
183
|
function_comment_node: Optional[Node] = None
|
101
184
|
function_comment_text = None
|
102
185
|
if (
|
@@ -111,9 +194,7 @@ class SourceFileTraceabilityReader_C:
|
|
111
194
|
|
112
195
|
function_last_line = node_.end_point[0] + 1
|
113
196
|
|
114
|
-
markers
|
115
|
-
Union[FunctionRangeMarker, RangeMarker, LineMarker]
|
116
|
-
] = MarkerParser.parse(
|
197
|
+
markers = MarkerParser.parse(
|
117
198
|
function_comment_text,
|
118
199
|
function_comment_node.start_point[0] + 1,
|
119
200
|
function_last_line,
|
@@ -131,21 +212,28 @@ class SourceFileTraceabilityReader_C:
|
|
131
212
|
traceability_info.markers.append(
|
132
213
|
function_range_marker_
|
133
214
|
)
|
134
|
-
|
135
|
-
function_range_marker_
|
136
|
-
)
|
215
|
+
function_markers.append(marker_)
|
137
216
|
|
138
217
|
# The function range includes the top comment if it exists.
|
139
218
|
new_function = Function(
|
140
|
-
parent=
|
219
|
+
parent=traceability_info,
|
141
220
|
name=function_name,
|
142
221
|
line_begin=function_comment_node.start_point[0] + 1
|
143
222
|
if function_comment_node is not None
|
144
223
|
else node_.range.start_point[0] + 1,
|
145
224
|
line_end=node_.range.end_point[0] + 1,
|
146
|
-
|
225
|
+
child_functions=[],
|
226
|
+
markers=function_markers,
|
227
|
+
attributes={FunctionAttribute.DEFINITION},
|
147
228
|
)
|
148
229
|
traceability_info.functions.append(new_function)
|
230
|
+
if len(function_markers) > 0:
|
231
|
+
traceability_info.ng_map_names_to_markers[function_name] = (
|
232
|
+
function_markers
|
233
|
+
)
|
234
|
+
traceability_info.ng_map_names_to_definition_functions[
|
235
|
+
function_name
|
236
|
+
] = new_function
|
149
237
|
elif node_.type == "comment":
|
150
238
|
if node_.text is None:
|
151
239
|
raise NotImplementedError("Comment without a text")
|
@@ -166,12 +254,10 @@ class SourceFileTraceabilityReader_C:
|
|
166
254
|
range_marker_ := marker_
|
167
255
|
):
|
168
256
|
range_marker_processor(range_marker_, parse_context)
|
169
|
-
traceability_info.parts.append(range_marker_)
|
170
257
|
elif isinstance(marker_, LineMarker) and (
|
171
258
|
line_marker_ := marker_
|
172
259
|
):
|
173
260
|
line_marker_processor(line_marker_, parse_context)
|
174
|
-
traceability_info.parts.append(line_marker_)
|
175
261
|
else:
|
176
262
|
continue
|
177
263
|
else:
|
@@ -62,11 +62,13 @@ class SourceFileTraceabilityReader_Python:
|
|
62
62
|
for node_ in nodes:
|
63
63
|
if node_.type == "module":
|
64
64
|
function = Function(
|
65
|
-
parent=
|
65
|
+
parent=traceability_info,
|
66
66
|
name="module",
|
67
67
|
line_begin=node_.start_point[0] + 1,
|
68
68
|
line_end=node_.end_point[0] + 1,
|
69
|
-
|
69
|
+
child_functions=[],
|
70
|
+
markers=[],
|
71
|
+
attributes=set(),
|
70
72
|
)
|
71
73
|
functions_stack.append(function)
|
72
74
|
map_function_to_node[function] = node_
|
@@ -183,17 +185,20 @@ class SourceFileTraceabilityReader_Python:
|
|
183
185
|
functions_stack = functions_stack[:1]
|
184
186
|
|
185
187
|
new_function = Function(
|
186
|
-
parent=
|
188
|
+
parent=traceability_info,
|
187
189
|
name=function_name,
|
188
190
|
line_begin=node_.range.start_point[0] + 1,
|
189
191
|
line_end=node_.range.end_point[0] + 1,
|
190
|
-
|
192
|
+
child_functions=[],
|
193
|
+
# Python functions do not need to track markers.
|
194
|
+
markers=[],
|
195
|
+
attributes=set(),
|
191
196
|
)
|
192
197
|
map_function_to_node[new_function] = node_
|
193
198
|
|
194
199
|
parent_function = functions_stack[-1]
|
195
200
|
|
196
|
-
parent_function.
|
201
|
+
parent_function.child_functions.append(new_function)
|
197
202
|
functions_stack.append(new_function)
|
198
203
|
traceability_info.functions.append(new_function)
|
199
204
|
elif node_.type == "comment":
|
@@ -231,8 +236,6 @@ class SourceFileTraceabilityReader_Python:
|
|
231
236
|
or functions_stack[0].name == "translation_unit"
|
232
237
|
)
|
233
238
|
|
234
|
-
traceability_info.parts = functions_stack[0].parts
|
235
|
-
|
236
239
|
source_file_traceability_info_processor(
|
237
240
|
traceability_info, parse_context
|
238
241
|
)
|
{strictdoc-0.2.1 → strictdoc-0.3.0}/strictdoc/backend/sdoc_source_code/tree_sitter_helpers.py
RENAMED
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import Generator
|
1
|
+
from typing import Generator, Optional
|
2
2
|
|
3
3
|
from tree_sitter import Node, Tree
|
4
4
|
|
@@ -16,3 +16,18 @@ def traverse_tree(tree: Tree) -> Generator[Node, None, None]:
|
|
16
16
|
visited_children = False
|
17
17
|
elif not cursor.goto_parent():
|
18
18
|
break
|
19
|
+
|
20
|
+
|
21
|
+
def ts_find_child_node_by_type(node: Node, node_type: str) -> Optional[Node]:
|
22
|
+
for child_ in node.children:
|
23
|
+
if child_.type == node_type:
|
24
|
+
return child_
|
25
|
+
return None
|
26
|
+
|
27
|
+
|
28
|
+
def ts_find_child_nodes_by_type(
|
29
|
+
node: Node, node_type: str
|
30
|
+
) -> Generator[Node, None, None]:
|
31
|
+
for child_ in node.children:
|
32
|
+
if child_.type == node_type:
|
33
|
+
yield child_
|
@@ -3,6 +3,8 @@ from typing import Any, Dict, List, Optional, Set, Tuple, Union
|
|
3
3
|
|
4
4
|
from strictdoc.backend.sdoc.models.node import SDocNode
|
5
5
|
from strictdoc.backend.sdoc.models.reference import FileReference, Reference
|
6
|
+
from strictdoc.backend.sdoc_source_code.constants import FunctionAttribute
|
7
|
+
from strictdoc.backend.sdoc_source_code.models.function import Function
|
6
8
|
from strictdoc.backend.sdoc_source_code.models.function_range_marker import (
|
7
9
|
ForwardFunctionRangeMarker,
|
8
10
|
FunctionRangeMarker,
|
@@ -45,6 +47,11 @@ class FileTraceabilityIndex:
|
|
45
47
|
str, Dict[str, List[str]]
|
46
48
|
] = {}
|
47
49
|
|
50
|
+
# This is only public non-static functions from languages like C.
|
51
|
+
self.map_all_function_names_to_definition_functions: Dict[
|
52
|
+
str, Function
|
53
|
+
] = {}
|
54
|
+
|
48
55
|
# "file.py" -> (
|
49
56
|
# general_requirements: [SDocNode], # noqa: ERA001
|
50
57
|
# range_requirements: [SDocNode] # noqa: ERA001
|
@@ -52,7 +59,13 @@ class FileTraceabilityIndex:
|
|
52
59
|
self.source_file_reqs_cache = {}
|
53
60
|
|
54
61
|
def has_source_file_reqs(self, source_file_rel_path: str) -> bool:
|
55
|
-
|
62
|
+
path_reqs = self.map_paths_to_reqs.get(source_file_rel_path)
|
63
|
+
if path_reqs is not None and len(path_reqs) > 0:
|
64
|
+
return True
|
65
|
+
file_trace_info = self.map_paths_to_source_file_traceability_info[
|
66
|
+
source_file_rel_path
|
67
|
+
]
|
68
|
+
return len(file_trace_info.markers) > 0
|
56
69
|
|
57
70
|
def get_requirement_file_links(
|
58
71
|
self, requirement: SDocNode
|
@@ -153,7 +166,7 @@ class FileTraceabilityIndex:
|
|
153
166
|
)
|
154
167
|
return source_file_tr_info
|
155
168
|
|
156
|
-
def
|
169
|
+
def validate_and_resolve(self, traceability_index):
|
157
170
|
for requirement_uid, file_links in self.map_reqs_uids_to_paths.items():
|
158
171
|
for file_link in file_links:
|
159
172
|
source_file_traceability_info: Optional[
|
@@ -204,6 +217,89 @@ class FileTraceabilityIndex:
|
|
204
217
|
source_file_info.markers.append(start_marker)
|
205
218
|
source_file_info.markers.append(end_marker)
|
206
219
|
|
220
|
+
"""
|
221
|
+
Resolve definitions to declarations (only applicable for C and C++).
|
222
|
+
"""
|
223
|
+
|
224
|
+
reversed_trace_info = {
|
225
|
+
value: key
|
226
|
+
for key, value in self.map_paths_to_source_file_traceability_info.items()
|
227
|
+
}
|
228
|
+
|
229
|
+
for (
|
230
|
+
traceability_info_
|
231
|
+
) in self.map_paths_to_source_file_traceability_info.values():
|
232
|
+
for function_ in traceability_info_.functions:
|
233
|
+
if (
|
234
|
+
FunctionAttribute.DECLARATION in function_.attributes
|
235
|
+
and function_.name
|
236
|
+
in self.map_all_function_names_to_definition_functions
|
237
|
+
):
|
238
|
+
definition_function: Optional[Function]
|
239
|
+
if not function_.is_public():
|
240
|
+
definition_function = traceability_info_.ng_map_names_to_definition_functions.get(
|
241
|
+
function_.name
|
242
|
+
)
|
243
|
+
else:
|
244
|
+
definition_function = (
|
245
|
+
self.map_all_function_names_to_definition_functions[
|
246
|
+
function_.name
|
247
|
+
]
|
248
|
+
)
|
249
|
+
if definition_function is None:
|
250
|
+
continue
|
251
|
+
definition_function_trace_info: SourceFileTraceabilityInfo = definition_function.parent
|
252
|
+
|
253
|
+
for marker_ in function_.markers:
|
254
|
+
function_marker = ForwardFunctionRangeMarker(
|
255
|
+
parent=None,
|
256
|
+
reqs_objs=marker_.reqs_objs,
|
257
|
+
scope="function",
|
258
|
+
)
|
259
|
+
function_marker.ng_source_line_begin = (
|
260
|
+
definition_function.line_begin
|
261
|
+
)
|
262
|
+
function_marker.ng_source_column_begin = 1
|
263
|
+
function_marker.ng_range_line_begin = (
|
264
|
+
definition_function.line_begin
|
265
|
+
)
|
266
|
+
function_marker.ng_range_line_end = (
|
267
|
+
definition_function.line_end
|
268
|
+
)
|
269
|
+
function_marker.ng_marker_line = (
|
270
|
+
definition_function.line_begin
|
271
|
+
)
|
272
|
+
function_marker.ng_marker_column = 1
|
273
|
+
function_marker.set_description(
|
274
|
+
f"function {function_.name}"
|
275
|
+
)
|
276
|
+
|
277
|
+
for req_uid_ in marker_.reqs:
|
278
|
+
markers = definition_function_trace_info.ng_map_reqs_to_markers.setdefault(
|
279
|
+
req_uid_, []
|
280
|
+
)
|
281
|
+
markers.append(function_marker)
|
282
|
+
|
283
|
+
path_to_info = reversed_trace_info[
|
284
|
+
definition_function_trace_info
|
285
|
+
]
|
286
|
+
self.map_reqs_uids_to_paths.setdefault(
|
287
|
+
req_uid_, OrderedSet()
|
288
|
+
)
|
289
|
+
self.map_reqs_uids_to_paths[req_uid_].add(
|
290
|
+
path_to_info
|
291
|
+
)
|
292
|
+
|
293
|
+
node = traceability_index.get_node_by_uid(req_uid_)
|
294
|
+
self.map_paths_to_reqs.setdefault(
|
295
|
+
path_to_info, OrderedSet()
|
296
|
+
)
|
297
|
+
self.map_paths_to_reqs[path_to_info].add(node)
|
298
|
+
|
299
|
+
definition_function_trace_info.markers.append(
|
300
|
+
function_marker
|
301
|
+
)
|
302
|
+
|
207
303
|
for (
|
208
304
|
traceability_info_
|
209
305
|
) in self.map_paths_to_source_file_traceability_info.values():
|
@@ -336,6 +432,15 @@ class FileTraceabilityIndex:
|
|
336
432
|
for function_ in traceability_info.functions:
|
337
433
|
marker_type: RangeMarkerType
|
338
434
|
|
435
|
+
if FunctionAttribute.DEFINITION in function_.attributes:
|
436
|
+
assert (
|
437
|
+
function_.name
|
438
|
+
not in self.map_all_function_names_to_definition_functions
|
439
|
+
)
|
440
|
+
self.map_all_function_names_to_definition_functions[
|
441
|
+
function_.name
|
442
|
+
] = function_
|
443
|
+
|
339
444
|
if (
|
340
445
|
source_file_rel_path
|
341
446
|
in self.map_file_function_names_to_reqs_uids
|
@@ -365,7 +470,7 @@ class FileTraceabilityIndex:
|
|
365
470
|
reqs.append(req)
|
366
471
|
|
367
472
|
function_marker = ForwardFunctionRangeMarker(
|
368
|
-
parent=None, reqs_objs=reqs
|
473
|
+
parent=None, reqs_objs=reqs, scope=marker_type.value
|
369
474
|
)
|
370
475
|
function_marker.ng_source_line_begin = function_.line_begin
|
371
476
|
function_marker.ng_source_column_begin = 1
|
@@ -62,7 +62,7 @@ class File(FileOrFolderEntry):
|
|
62
62
|
return os.path.basename(os.path.dirname(self.root_path))
|
63
63
|
|
64
64
|
|
65
|
-
class Folder(FileOrFolderEntry):
|
65
|
+
class Folder(FileOrFolderEntry):
|
66
66
|
def __init__(self, root_path: str, rel_path: str, level):
|
67
67
|
assert os.path.isdir(root_path)
|
68
68
|
assert os.path.isabs(root_path)
|
@@ -12,7 +12,7 @@ from strictdoc.helpers.auto_described import auto_described
|
|
12
12
|
|
13
13
|
class SourceFileType(Enum):
|
14
14
|
PYTHON = [".py"]
|
15
|
-
C = [".c"]
|
15
|
+
C = [".h", ".c"]
|
16
16
|
CPP = [".cpp", ".cc"]
|
17
17
|
TEX = [".tex"]
|
18
18
|
# Is there an idiomatic file extension for Jinja templates?
|
@@ -30,7 +30,7 @@ class SourceFileType(Enum):
|
|
30
30
|
def create_from_path(cls, path_to_file: str) -> "SourceFileType":
|
31
31
|
if path_to_file.endswith(".py"):
|
32
32
|
return cls.PYTHON
|
33
|
-
if path_to_file.endswith(".c"):
|
33
|
+
if path_to_file.endswith(".h") or path_to_file.endswith(".c"):
|
34
34
|
return cls.C
|
35
35
|
for enum_value in SourceFileType.CPP.value:
|
36
36
|
if path_to_file.endswith(enum_value):
|
@@ -64,7 +64,7 @@ class SourceFileType(Enum):
|
|
64
64
|
|
65
65
|
|
66
66
|
@auto_described
|
67
|
-
class SourceFile:
|
67
|
+
class SourceFile:
|
68
68
|
def __init__(
|
69
69
|
self,
|
70
70
|
level,
|
@@ -147,12 +147,14 @@ class SourceFilesFinder:
|
|
147
147
|
|
148
148
|
assert isinstance(project_config.output_dir, str)
|
149
149
|
|
150
|
+
exclude_paths = project_config.exclude_source_paths + ["**.DS_Store"]
|
151
|
+
|
150
152
|
file_tree = FileFinder.find_files_with_extensions(
|
151
153
|
root_path=doctree_root_abs_path,
|
152
154
|
ignored_dirs=[project_config.output_dir],
|
153
155
|
extensions=None,
|
154
156
|
include_paths=project_config.include_source_paths,
|
155
|
-
exclude_paths=
|
157
|
+
exclude_paths=exclude_paths,
|
156
158
|
)
|
157
159
|
root_level = doctree_root_abs_path.count(os.sep)
|
158
160
|
|