strictdoc 0.1.0__tar.gz → 0.2.1__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.1.0 → strictdoc-0.2.1}/PKG-INFO +1 -4
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/__init__.py +1 -1
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/grammar_reader.py +6 -6
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/document.py +4 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/document_from_file.py +4 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/document_grammar.py +2 -2
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/free_text.py +4 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/node.py +4 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/section.py +4 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/pickle_cache.py +18 -9
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/reader.py +6 -6
- strictdoc-0.2.1/strictdoc/backend/sdoc_source_code/caching_reader.py +59 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/grammar.py +6 -1
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/marker_parser.py +9 -2
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/models/function_range_marker.py +16 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/models/range_marker.py +11 -1
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/reader.py +38 -4
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/reader_c.py +41 -5
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/reader_python.py +37 -21
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/document_finder.py +10 -6
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/file_traceability_index.py +43 -12
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/project_config.py +19 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/traceability_index.py +39 -7
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/traceability_index_builder.py +24 -43
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/transforms/create_requirement.py +1 -1
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/transforms/update_document_config.py +34 -6
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/transforms/update_requirement.py +1 -1
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/form_objects/requirement_form_object.py +13 -13
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/source_file_view_generator.py +2 -2
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/view_objects/diff_screen_results_view_object.py +11 -21
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/view_objects/diff_screen_view_object.py +8 -14
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/html_templates.py +2 -6
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/renderers/markup_renderer.py +1 -1
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/files/index.jinja +4 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -12
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +5 -1
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html2pdf/html2pdf.py +33 -14
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html2pdf/pdf_print_driver.py +8 -1
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/rst/rst_to_html_fragment_writer.py +10 -9
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/git/change.py +17 -15
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/git/git_client.py +19 -22
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/git/project_diff_analyzer.py +15 -13
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/diff.py +7 -5
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/ordered_set.py +5 -2
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/server/routers/main_router.py +4 -4
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/server/routers/other_router.py +2 -2
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/server/server.py +16 -0
- strictdoc-0.1.0/strictdoc/export/html/templates/_shared/requirement_block/files_tree.jinja.html +0 -31
- {strictdoc-0.1.0 → strictdoc-0.2.1}/.gitignore +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/LICENSE +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/NOTICE +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/README.md +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/pyproject.toml +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/excel/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/excel/excel_import.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/excel/export/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/excel/export/excel_generator.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/excel/import_/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/reqif/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/reqif/reqif_export.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/reqif/reqif_import.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/constants.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/document_reference.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/error_handling.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/grammar/grammar.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/grammar/grammar_grammar.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/grammar/type_system.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/anchor.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/any_node.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/constants.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/document_config.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/document_view.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/object_factory.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/reference.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/models/type_system.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/processor.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/validations/sdoc_validator.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc/writer.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/models/function.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/parse_context.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/processors/general_language_marker_processors.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/tree_sitter_helpers.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/cli/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/cli/argument_int_range.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/cli/cli_arg_parser.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/cli/command_parser_builder.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/cli/main.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/commands/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/commands/about_command.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/commands/diff_command.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/commands/dump_grammar_command.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/commands/manage_autouid_command.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/commands/version_command.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/actions/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/actions/export_action.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/actions/import_action.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/analyzers/document_stats.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/asset_manager.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/document_iterator.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/document_meta.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/document_tree.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/document_tree_iterator.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/environment.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/file_tree.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/finders/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/finders/source_files_finder.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/graph/abstract_bucket.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/graph/many_to_many_set.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/graph/one_to_one_dictionary.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/graph/validations.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/graph_database.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/query_engine/grammar.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/query_engine/query_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/query_engine/query_reader.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/source_tree.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/transforms/constants.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/transforms/delete_requirement.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/transforms/delete_section.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/transforms/section.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/transforms/update_grammar.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/transforms/update_grammar_element.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/transforms/update_included_document.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/transforms/validation_error.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/core/tree_cycle_detector.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/autogen.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/base.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/collapsible_list.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/collapsible_toc.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/collapsible_tree.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/content.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/controllers/anchor_controller.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/diff.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/diff.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/element.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/favicon.ico +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/fonts/NotoSans-VariableFont_wdth,wght.ttf +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/fonts/NotoSansMono-VariableFont_wdth,wght.ttf +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/form.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/html2pdf/bundle.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/layout.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/node.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/pan_with_space.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/project_tree.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/project_tree.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/requirement-tree.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/requirement.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/resizable_bar.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/source.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/stimulus.min.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/table_vew.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/tree(not_in_use).css +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/turbo.min.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static/zoomable.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/nestor/bundle.umd.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/document_type.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/form_objects/form_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/form_objects/grammar_element_form_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/form_objects/grammar_form_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/form_objects/included_document_form_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/form_objects/rows/row_with_grammar_element_form_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/document.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/document_pdf.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/document_table.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/document_trace.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/document_tree.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/project_statistics.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/view_objects/document_screen_view_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/view_objects/nestor_view_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/view_objects/project_statistics_view_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/view_objects/project_tree_stats.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/view_objects/project_tree_view_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/view_objects/search_screen_view_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/view_objects/source_file_view_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/generators/view_objects/traceability_matrix_view_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/html_generator.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/renderers/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/renderers/link_renderer.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_add_above.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_add_below.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_add_child.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_file.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_folder_collapse.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_fragment.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_fragment_draft.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_requirement.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/base.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/anchor/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/grammar_form/row_with_grammar_element/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/grammar_form/row_with_new_grammar_element/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/grammar_form_element/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_custom_field/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_relation/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_reserved_field/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/included_document_form/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/README.txt +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/comments/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/document_meta/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/document_title/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/links/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/meta/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/multiline/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/rationale/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/section_h/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/section_h/pdf.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/section_title/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/statement/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/text/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/title/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/title/pdf.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/uid/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/node_field/uid_standalone/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/text_node/card.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/text_node/card_extends_card.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/text_node/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/text_node/index_extends_node.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/text_node/pdf.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/text_node/tiny.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/components/text_node/tiny_extends_card.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/rst/anchor.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_requirement.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/_shared/project_tree_child_documents.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/table/main.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/diff_content.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/nestor/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/project_index/project_tree.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/project_index/project_tree_file.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/project_index/project_tree_folder.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/source_file_coverage/file.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/source_file_coverage/folder.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/website/document/index.jinja +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/tools/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html/tools/html_embedded.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/html2pdf/html2pdf_generator.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/json/json_generator.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/rst/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/rst/document_rst_generator.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/rst/rst_templates.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/rst/templates/requirement.jinja.rst +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/rst/writer.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/spdx/spdx_generator.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/git/change_generator.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/auto_described.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/cast.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/exception.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/file_modification_time.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/file_system.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/form_data.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/git_client.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/math.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/md5.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/mid.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/parallelizer.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/path_filter.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/paths.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/pickle.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/rst.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/sha256.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/shard.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/sorting.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/string.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/textx.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/helpers/timing.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/server/__init__.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/server/app.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/server/config.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/server/error_object.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/server/helpers/turbo.py +0 -0
- {strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/server/main.py +0 -0
@@ -1,14 +1,11 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: strictdoc
|
3
|
-
Version: 0.1
|
3
|
+
Version: 0.2.1
|
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-Expression: Apache-2.0
|
10
|
-
License-File: LICENSE
|
11
|
-
License-File: NOTICE
|
12
9
|
Classifier: License :: OSI Approved :: BSD License
|
13
10
|
Classifier: Operating System :: OS Independent
|
14
11
|
Classifier: Programming Language :: Python :: 3
|
@@ -12,6 +12,7 @@ from strictdoc.backend.sdoc.models.document_grammar import (
|
|
12
12
|
DocumentGrammarWrapper,
|
13
13
|
)
|
14
14
|
from strictdoc.backend.sdoc.pickle_cache import PickleCache
|
15
|
+
from strictdoc.core.project_config import ProjectConfig
|
15
16
|
from strictdoc.helpers.cast import assert_optional_cast
|
16
17
|
from strictdoc.helpers.textx import (
|
17
18
|
drop_textx_meta,
|
@@ -26,9 +27,6 @@ class SDocGrammarReader:
|
|
26
27
|
use_regexp_group=True,
|
27
28
|
)
|
28
29
|
|
29
|
-
def __init__(self, path_to_output_root: str) -> None:
|
30
|
-
self.path_to_output_root: str = path_to_output_root
|
31
|
-
|
32
30
|
@staticmethod
|
33
31
|
def read(
|
34
32
|
input_string: str, file_path: Optional[str] = None
|
@@ -60,9 +58,11 @@ class SDocGrammarReader:
|
|
60
58
|
|
61
59
|
return grammar
|
62
60
|
|
63
|
-
def read_from_file(
|
61
|
+
def read_from_file(
|
62
|
+
self, file_path: str, project_config: ProjectConfig
|
63
|
+
) -> DocumentGrammar:
|
64
64
|
unpickled_content: Optional[DocumentGrammar] = assert_optional_cast(
|
65
|
-
PickleCache.read_from_cache(file_path,
|
65
|
+
PickleCache.read_from_cache(file_path, project_config, "grammar"),
|
66
66
|
DocumentGrammar,
|
67
67
|
)
|
68
68
|
if unpickled_content is not None:
|
@@ -76,7 +76,7 @@ class SDocGrammarReader:
|
|
76
76
|
grammar_content, file_path=file_path
|
77
77
|
)
|
78
78
|
PickleCache.save_to_cache(
|
79
|
-
grammar, file_path,
|
79
|
+
grammar, file_path, project_config, "grammar"
|
80
80
|
)
|
81
81
|
|
82
82
|
return grammar
|
@@ -210,7 +210,7 @@ class DocumentGrammar:
|
|
210
210
|
DocumentGrammar.create_default_text_element()
|
211
211
|
)
|
212
212
|
|
213
|
-
# @
|
213
|
+
# @relation(SDOC-SRS-132, scope=range_start)
|
214
214
|
fields: List[
|
215
215
|
Union[
|
216
216
|
GrammarElementFieldString,
|
@@ -270,7 +270,7 @@ class DocumentGrammar:
|
|
270
270
|
requirement_element = GrammarElement(
|
271
271
|
parent=None, tag="REQUIREMENT", fields=fields, relations=[]
|
272
272
|
)
|
273
|
-
# @
|
273
|
+
# @relation(SDOC-SRS-132, scope=range_end)
|
274
274
|
|
275
275
|
requirement_element.relations = create_default_relations(
|
276
276
|
requirement_element
|
@@ -1,18 +1,20 @@
|
|
1
1
|
import hashlib
|
2
2
|
import os
|
3
|
-
import tempfile
|
4
3
|
from pathlib import Path
|
5
4
|
from typing import Any
|
6
5
|
|
6
|
+
from strictdoc.core.project_config import ProjectConfig
|
7
7
|
from strictdoc.helpers.md5 import get_file_md5
|
8
8
|
from strictdoc.helpers.pickle import pickle_dump, pickle_load
|
9
9
|
|
10
10
|
|
11
11
|
class PickleCache:
|
12
12
|
@staticmethod
|
13
|
-
def read_from_cache(
|
13
|
+
def read_from_cache(
|
14
|
+
file_path: str, project_config: ProjectConfig, content_kind: str
|
15
|
+
) -> Any:
|
14
16
|
path_to_cached_file: str = PickleCache.get_cached_file_path(
|
15
|
-
file_path,
|
17
|
+
file_path, project_config, content_kind
|
16
18
|
)
|
17
19
|
if os.path.isfile(path_to_cached_file):
|
18
20
|
with open(path_to_cached_file, "rb") as cache_file:
|
@@ -30,9 +32,14 @@ class PickleCache:
|
|
30
32
|
return None
|
31
33
|
|
32
34
|
@staticmethod
|
33
|
-
def save_to_cache(
|
35
|
+
def save_to_cache(
|
36
|
+
content: Any,
|
37
|
+
file_path: str,
|
38
|
+
project_config: ProjectConfig,
|
39
|
+
content_kind: str,
|
40
|
+
) -> None:
|
34
41
|
path_to_cached_file: str = PickleCache.get_cached_file_path(
|
35
|
-
file_path,
|
42
|
+
file_path, project_config, content_kind
|
36
43
|
)
|
37
44
|
path_to_cached_file_dir: str = os.path.dirname(path_to_cached_file)
|
38
45
|
Path(path_to_cached_file_dir).mkdir(parents=True, exist_ok=True)
|
@@ -41,8 +48,10 @@ class PickleCache:
|
|
41
48
|
cache_file.write(pickled_content)
|
42
49
|
|
43
50
|
@staticmethod
|
44
|
-
def get_cached_file_path(
|
45
|
-
|
51
|
+
def get_cached_file_path(
|
52
|
+
file_path: str, project_config: ProjectConfig, content_kind: str
|
53
|
+
) -> str:
|
54
|
+
path_to_tmp_dir = project_config.get_path_to_cache_dir()
|
46
55
|
|
47
56
|
full_path_to_file = (
|
48
57
|
file_path
|
@@ -57,7 +66,7 @@ class PickleCache:
|
|
57
66
|
# contains a full path to the output root to prevent collisions
|
58
67
|
# between StrictDoc invocations running against the same set of SDoc
|
59
68
|
# files in parallel.
|
60
|
-
unique_identifier =
|
69
|
+
unique_identifier = project_config.output_dir + full_path_to_file
|
61
70
|
unique_identifier_md5 = hashlib.md5(
|
62
71
|
unique_identifier.encode("utf-8")
|
63
72
|
).hexdigest()
|
@@ -66,7 +75,7 @@ class PickleCache:
|
|
66
75
|
|
67
76
|
path_to_cached_file = os.path.join(
|
68
77
|
path_to_tmp_dir,
|
69
|
-
|
78
|
+
content_kind,
|
70
79
|
file_name,
|
71
80
|
)
|
72
81
|
|
@@ -11,6 +11,7 @@ from strictdoc.backend.sdoc.models.constants import DOCUMENT_MODELS
|
|
11
11
|
from strictdoc.backend.sdoc.models.document import SDocDocument
|
12
12
|
from strictdoc.backend.sdoc.pickle_cache import PickleCache
|
13
13
|
from strictdoc.backend.sdoc.processor import ParseContext, SDocParsingProcessor
|
14
|
+
from strictdoc.core.project_config import ProjectConfig
|
14
15
|
from strictdoc.helpers.cast import assert_cast
|
15
16
|
from strictdoc.helpers.exception import StrictDocException
|
16
17
|
from strictdoc.helpers.textx import drop_textx_meta
|
@@ -23,9 +24,6 @@ class SDReader:
|
|
23
24
|
use_regexp_group=True,
|
24
25
|
)
|
25
26
|
|
26
|
-
def __init__(self, path_to_output_root: str = "NOT_RELEVANT"):
|
27
|
-
self.path_to_output_root = path_to_output_root
|
28
|
-
|
29
27
|
@staticmethod
|
30
28
|
def _read(input_string, file_path=None):
|
31
29
|
parse_context = ParseContext(path_to_sdoc_file=file_path)
|
@@ -54,14 +52,16 @@ class SDReader:
|
|
54
52
|
document, parse_context = SDReader._read(input_string, file_path)
|
55
53
|
return document, parse_context
|
56
54
|
|
57
|
-
def read_from_file(
|
55
|
+
def read_from_file(
|
56
|
+
self, file_path: str, project_config: ProjectConfig
|
57
|
+
) -> SDocDocument:
|
58
58
|
"""
|
59
59
|
This function parses the provided .sdoc file and returns a Document
|
60
60
|
object.
|
61
61
|
"""
|
62
62
|
|
63
63
|
unpickled_content = PickleCache.read_from_cache(
|
64
|
-
file_path,
|
64
|
+
file_path, project_config, "sdoc"
|
65
65
|
)
|
66
66
|
if unpickled_content:
|
67
67
|
return assert_cast(unpickled_content, SDocDocument)
|
@@ -82,7 +82,7 @@ class SDReader:
|
|
82
82
|
# are not used anyway.
|
83
83
|
drop_textx_meta(sdoc)
|
84
84
|
|
85
|
-
PickleCache.save_to_cache(sdoc, file_path,
|
85
|
+
PickleCache.save_to_cache(sdoc, file_path, project_config, "sdoc")
|
86
86
|
|
87
87
|
return sdoc
|
88
88
|
except StrictDocException as exception:
|
@@ -0,0 +1,59 @@
|
|
1
|
+
from typing import Union
|
2
|
+
|
3
|
+
from strictdoc.backend.sdoc.pickle_cache import PickleCache
|
4
|
+
from strictdoc.backend.sdoc_source_code.models.source_file_info import (
|
5
|
+
SourceFileTraceabilityInfo,
|
6
|
+
)
|
7
|
+
from strictdoc.backend.sdoc_source_code.reader import (
|
8
|
+
SourceFileTraceabilityReader,
|
9
|
+
)
|
10
|
+
from strictdoc.backend.sdoc_source_code.reader_c import (
|
11
|
+
SourceFileTraceabilityReader_C,
|
12
|
+
)
|
13
|
+
from strictdoc.backend.sdoc_source_code.reader_python import (
|
14
|
+
SourceFileTraceabilityReader_Python,
|
15
|
+
)
|
16
|
+
from strictdoc.core.project_config import ProjectConfig
|
17
|
+
|
18
|
+
|
19
|
+
class SourceFileTraceabilityCachingReader:
|
20
|
+
@staticmethod
|
21
|
+
def read_from_file(
|
22
|
+
path_to_file: str, project_config: ProjectConfig
|
23
|
+
) -> SourceFileTraceabilityInfo:
|
24
|
+
unpickled_content = PickleCache.read_from_cache(
|
25
|
+
path_to_file, project_config, "source_file"
|
26
|
+
)
|
27
|
+
if unpickled_content is not None:
|
28
|
+
assert isinstance(unpickled_content, SourceFileTraceabilityInfo), (
|
29
|
+
path_to_file,
|
30
|
+
unpickled_content,
|
31
|
+
)
|
32
|
+
return unpickled_content
|
33
|
+
|
34
|
+
reader = SourceFileTraceabilityCachingReader._get_reader(
|
35
|
+
path_to_file, project_config
|
36
|
+
)
|
37
|
+
traceability_info: SourceFileTraceabilityInfo = reader.read_from_file(
|
38
|
+
path_to_file
|
39
|
+
)
|
40
|
+
PickleCache.save_to_cache(
|
41
|
+
traceability_info, path_to_file, project_config, "source_file"
|
42
|
+
)
|
43
|
+
|
44
|
+
return traceability_info
|
45
|
+
|
46
|
+
@staticmethod
|
47
|
+
def _get_reader(
|
48
|
+
path_to_file: str, project_config: ProjectConfig
|
49
|
+
) -> Union[
|
50
|
+
SourceFileTraceabilityReader,
|
51
|
+
SourceFileTraceabilityReader_Python,
|
52
|
+
SourceFileTraceabilityReader_C,
|
53
|
+
]:
|
54
|
+
if project_config.is_activated_source_file_language_parsers():
|
55
|
+
if path_to_file.endswith(".py"):
|
56
|
+
return SourceFileTraceabilityReader_Python()
|
57
|
+
if path_to_file.endswith(".c"):
|
58
|
+
return SourceFileTraceabilityReader_C()
|
59
|
+
return SourceFileTraceabilityReader()
|
@@ -7,7 +7,7 @@ Part[noskipws]:
|
|
7
7
|
// The EmptyLine is needed in addition to the SingleLineString because
|
8
8
|
// otherwise textX's get_location() ignores the whitespaces.
|
9
9
|
// TODO: Maybe there is a trick to disable that and only use SingleLineString.
|
10
|
-
EmptyLine | RangeMarker | LineMarker | SingleLineString
|
10
|
+
EmptyLine | RangeMarker | LineMarker | FunctionRangeMarker | SingleLineString
|
11
11
|
;
|
12
12
|
|
13
13
|
EmptyLine[noskipws]:
|
@@ -31,6 +31,11 @@ RangeMarker[noskipws]:
|
|
31
31
|
)
|
32
32
|
;
|
33
33
|
|
34
|
+
FunctionRangeMarker[noskipws]:
|
35
|
+
/^.*?@relation/
|
36
|
+
"(" (reqs_objs += Req[', ']) ', scope=file)' '\n'?
|
37
|
+
;
|
38
|
+
|
34
39
|
LineMarker[noskipws]:
|
35
40
|
// It is a hard-won result: it is important that the "@sdoc" is within the
|
36
41
|
// regex. Putting it next to the regex as "@sdoc" does not work.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import re
|
2
|
-
from typing import List, Union
|
2
|
+
from typing import List, Optional, Union
|
3
3
|
|
4
4
|
from strictdoc.backend.sdoc_source_code.models.function_range_marker import (
|
5
5
|
FunctionRangeMarker,
|
@@ -23,6 +23,7 @@ class MarkerParser:
|
|
23
23
|
line_end: int,
|
24
24
|
comment_line_start: int,
|
25
25
|
comment_column_start: int,
|
26
|
+
entity_name: Optional[str] = None,
|
26
27
|
) -> List[Union[FunctionRangeMarker, RangeMarker, LineMarker]]:
|
27
28
|
markers: List[Union[FunctionRangeMarker, RangeMarker, LineMarker]] = []
|
28
29
|
for input_line_idx_, input_line_ in enumerate(
|
@@ -63,6 +64,12 @@ class MarkerParser:
|
|
63
64
|
function_marker.ng_range_line_end = line_end
|
64
65
|
function_marker.ng_marker_line = current_line
|
65
66
|
function_marker.ng_marker_column = first_requirement_column
|
67
|
+
if marker_type == "file":
|
68
|
+
function_marker.set_description("the whole file")
|
69
|
+
elif marker_type == "function":
|
70
|
+
function_marker.set_description(f"function {entity_name}")
|
71
|
+
elif marker_type == "class":
|
72
|
+
function_marker.set_description(f"class {entity_name}")
|
66
73
|
markers.append(function_marker)
|
67
74
|
elif marker_type in ("range_start", "range_end"):
|
68
75
|
start_or_end = marker_type == "range_start"
|
@@ -73,7 +80,7 @@ class MarkerParser:
|
|
73
80
|
range_marker.ng_source_column_begin = first_requirement_column
|
74
81
|
range_marker.ng_range_line_begin = line_start
|
75
82
|
range_marker.ng_range_line_end = line_end
|
76
|
-
range_marker.
|
83
|
+
range_marker.ng_new_relation_keyword = True
|
77
84
|
markers.append(range_marker)
|
78
85
|
elif marker_type == "line":
|
79
86
|
line_marker = LineMarker(None, requirements)
|
@@ -1,10 +1,17 @@
|
|
1
1
|
# mypy: disable-error-code="no-untyped-def,type-arg"
|
2
|
+
from enum import Enum
|
2
3
|
from typing import List, Optional
|
3
4
|
|
4
5
|
from strictdoc.backend.sdoc_source_code.models.requirement_marker import Req
|
5
6
|
from strictdoc.helpers.auto_described import auto_described
|
6
7
|
|
7
8
|
|
9
|
+
class RangeMarkerType(Enum):
|
10
|
+
FUNCTION = "function"
|
11
|
+
CLASS = "class"
|
12
|
+
FILE = "file"
|
13
|
+
|
14
|
+
|
8
15
|
@auto_described
|
9
16
|
class FunctionRangeMarker:
|
10
17
|
def __init__(self, parent, reqs_objs: List[Req]):
|
@@ -33,6 +40,8 @@ class FunctionRangeMarker:
|
|
33
40
|
|
34
41
|
self.ng_is_nodoc = "nosdoc" in self.reqs
|
35
42
|
|
43
|
+
self._description: Optional[str] = None
|
44
|
+
|
36
45
|
def is_range_marker(self) -> bool:
|
37
46
|
return True
|
38
47
|
|
@@ -45,6 +54,13 @@ class FunctionRangeMarker:
|
|
45
54
|
def is_end(self) -> bool:
|
46
55
|
return False
|
47
56
|
|
57
|
+
def get_description(self) -> Optional[str]:
|
58
|
+
return self._description
|
59
|
+
|
60
|
+
def set_description(self, description: str) -> None:
|
61
|
+
assert isinstance(description, str)
|
62
|
+
self._description = description
|
63
|
+
|
48
64
|
|
49
65
|
@auto_described
|
50
66
|
class ForwardFunctionRangeMarker(FunctionRangeMarker):
|
{strictdoc-0.1.0 → strictdoc-0.2.1}/strictdoc/backend/sdoc_source_code/models/range_marker.py
RENAMED
@@ -24,6 +24,7 @@ class RangeMarker:
|
|
24
24
|
else:
|
25
25
|
assert scope in ("range_start", "range_end")
|
26
26
|
self.begin_or_end = "[" if scope == "range_start" else "[/"
|
27
|
+
self.ng_new_relation_keyword = True
|
27
28
|
|
28
29
|
self.reqs_objs: List[Req] = reqs_objs
|
29
30
|
self.reqs: List[str] = list(map(lambda req: req.uid, reqs_objs))
|
@@ -44,7 +45,7 @@ class RangeMarker:
|
|
44
45
|
self.ng_range_line_end: Optional[int] = None
|
45
46
|
|
46
47
|
self.ng_is_nodoc = "nosdoc" in self.reqs
|
47
|
-
self.
|
48
|
+
self.ng_new_relation_keyword = False
|
48
49
|
|
49
50
|
def is_begin(self) -> bool:
|
50
51
|
return self.begin_or_end == "["
|
@@ -58,6 +59,9 @@ class RangeMarker:
|
|
58
59
|
def is_line_marker(self) -> bool:
|
59
60
|
return False
|
60
61
|
|
62
|
+
def get_description(self) -> Optional[str]:
|
63
|
+
return "range"
|
64
|
+
|
61
65
|
|
62
66
|
@auto_described
|
63
67
|
class LineMarker:
|
@@ -88,6 +92,9 @@ class LineMarker:
|
|
88
92
|
def is_line_marker(self) -> bool:
|
89
93
|
return True
|
90
94
|
|
95
|
+
def get_description(self) -> Optional[str]:
|
96
|
+
return "line"
|
97
|
+
|
91
98
|
|
92
99
|
@auto_described
|
93
100
|
class ForwardRangeMarker:
|
@@ -116,3 +123,6 @@ class ForwardRangeMarker:
|
|
116
123
|
|
117
124
|
def is_line_marker(self) -> bool:
|
118
125
|
return False
|
126
|
+
|
127
|
+
def get_description(self) -> Optional[str]:
|
128
|
+
return "range"
|
@@ -8,6 +8,9 @@ from textx import get_location, metamodel_from_str
|
|
8
8
|
|
9
9
|
from strictdoc.backend.sdoc.error_handling import StrictDocSemanticError
|
10
10
|
from strictdoc.backend.sdoc_source_code.grammar import SOURCE_FILE_GRAMMAR
|
11
|
+
from strictdoc.backend.sdoc_source_code.models.function_range_marker import (
|
12
|
+
FunctionRangeMarker,
|
13
|
+
)
|
11
14
|
from strictdoc.backend.sdoc_source_code.models.range_marker import (
|
12
15
|
LineMarker,
|
13
16
|
RangeMarker,
|
@@ -206,22 +209,49 @@ def line_marker_processor(line_marker: LineMarker, parse_context: ParseContext):
|
|
206
209
|
markers.append(line_marker)
|
207
210
|
|
208
211
|
|
212
|
+
def function_range_marker_processor(
|
213
|
+
function_range_marker: FunctionRangeMarker, parse_context: ParseContext
|
214
|
+
):
|
215
|
+
location = get_location(function_range_marker)
|
216
|
+
line = location["line"]
|
217
|
+
column = location["col"]
|
218
|
+
|
219
|
+
if (
|
220
|
+
len(parse_context.marker_stack) > 0
|
221
|
+
and parse_context.marker_stack[-1].ng_is_nodoc
|
222
|
+
):
|
223
|
+
# This marker is within a "nosdoc" block, so we ignore it.
|
224
|
+
return
|
225
|
+
|
226
|
+
parse_context.markers.append(function_range_marker)
|
227
|
+
function_range_marker.ng_source_line_begin = 1
|
228
|
+
function_range_marker.ng_range_line_begin = 1
|
229
|
+
function_range_marker.ng_range_line_end = parse_context.lines_total
|
230
|
+
function_range_marker.ng_marker_line = line
|
231
|
+
function_range_marker.ng_marker_column = column
|
232
|
+
|
233
|
+
for req in function_range_marker.reqs:
|
234
|
+
markers = parse_context.map_reqs_to_markers.setdefault(req, [])
|
235
|
+
markers.append(function_range_marker)
|
236
|
+
|
237
|
+
|
209
238
|
class SourceFileTraceabilityReader:
|
210
239
|
SOURCE_FILE_MODELS = [
|
211
|
-
|
240
|
+
FunctionRangeMarker,
|
212
241
|
LineMarker,
|
242
|
+
Req,
|
213
243
|
SourceFileTraceabilityInfo,
|
214
244
|
RangeMarker,
|
215
245
|
]
|
216
246
|
|
217
|
-
def __init__(self):
|
247
|
+
def __init__(self) -> None:
|
218
248
|
self.meta_model = metamodel_from_str(
|
219
249
|
SOURCE_FILE_GRAMMAR,
|
220
250
|
classes=SourceFileTraceabilityReader.SOURCE_FILE_MODELS,
|
221
251
|
use_regexp_group=True,
|
222
252
|
)
|
223
253
|
|
224
|
-
def read(self, input_string, file_path=None):
|
254
|
+
def read(self, input_string, file_path=None) -> SourceFileTraceabilityInfo:
|
225
255
|
# TODO: This might be possible to handle directly in the textx grammar.
|
226
256
|
# AttributeError: 'str' object has no attribute '_tx_parser'
|
227
257
|
file_size = len(input_string)
|
@@ -241,8 +271,12 @@ class SourceFileTraceabilityReader:
|
|
241
271
|
parse_line_marker_processor = partial(
|
242
272
|
line_marker_processor, parse_context=parse_context
|
243
273
|
)
|
274
|
+
parse_function_range_marker_processor = partial(
|
275
|
+
function_range_marker_processor, parse_context=parse_context
|
276
|
+
)
|
244
277
|
|
245
278
|
obj_processors = {
|
279
|
+
"FunctionRangeMarker": parse_function_range_marker_processor,
|
246
280
|
"LineMarker": parse_line_marker_processor,
|
247
281
|
"RangeMarker": parse_range_marker_processor,
|
248
282
|
"Req": parse_req_processor,
|
@@ -271,7 +305,7 @@ class SourceFileTraceabilityReader:
|
|
271
305
|
drop_textx_meta(source_file_traceability_info)
|
272
306
|
return source_file_traceability_info
|
273
307
|
|
274
|
-
def read_from_file(self, file_path):
|
308
|
+
def read_from_file(self, file_path) -> SourceFileTraceabilityInfo:
|
275
309
|
try:
|
276
310
|
with open(file_path, encoding="utf-8") as file:
|
277
311
|
sdoc_content = file.read()
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# mypy: disable-error-code="no-redef,no-untyped-call,no-untyped-def,type-arg,var-annotated"
|
2
2
|
import sys
|
3
3
|
import traceback
|
4
|
-
from typing import List, Union
|
4
|
+
from typing import List, Optional, Union
|
5
5
|
|
6
6
|
import tree_sitter_c
|
7
|
-
from tree_sitter import Language, Parser
|
7
|
+
from tree_sitter import Language, Node, Parser
|
8
8
|
|
9
9
|
from strictdoc.backend.sdoc.error_handling import StrictDocSemanticError
|
10
10
|
from strictdoc.backend.sdoc_source_code.marker_parser import MarkerParser
|
@@ -31,7 +31,9 @@ from strictdoc.helpers.string import get_lines_count
|
|
31
31
|
|
32
32
|
|
33
33
|
class SourceFileTraceabilityReader_C:
|
34
|
-
def read(
|
34
|
+
def read(
|
35
|
+
self, input_buffer: bytes, file_path=None
|
36
|
+
) -> SourceFileTraceabilityInfo:
|
35
37
|
assert isinstance(input_buffer, bytes)
|
36
38
|
|
37
39
|
file_size = len(input_buffer)
|
@@ -55,7 +57,36 @@ class SourceFileTraceabilityReader_C:
|
|
55
57
|
|
56
58
|
nodes = traverse_tree(tree)
|
57
59
|
for node_ in nodes:
|
58
|
-
if node_.type == "
|
60
|
+
if node_.type == "translation_unit":
|
61
|
+
if (
|
62
|
+
len(node_.children) > 0
|
63
|
+
and node_.children[0].type == "comment"
|
64
|
+
and (comment_node := node_.children[0])
|
65
|
+
):
|
66
|
+
if comment_node.text is not None:
|
67
|
+
comment_text = comment_node.text.decode("utf-8")
|
68
|
+
markers = MarkerParser.parse(
|
69
|
+
comment_text,
|
70
|
+
node_.start_point[0] + 1,
|
71
|
+
# It is important that +1 is not present here because
|
72
|
+
# currently StrictDoc does not display the last empty line (\n is 10).
|
73
|
+
node_.end_point[0]
|
74
|
+
if input_buffer[-1] == 10
|
75
|
+
else node_.end_point[0] + 1,
|
76
|
+
node_.start_point[0] + 1,
|
77
|
+
node_.start_point[1] + 1,
|
78
|
+
)
|
79
|
+
for marker_ in markers:
|
80
|
+
if isinstance(marker_, FunctionRangeMarker) and (
|
81
|
+
function_range_marker_ := marker_
|
82
|
+
):
|
83
|
+
function_range_marker_processor(
|
84
|
+
function_range_marker_, parse_context
|
85
|
+
)
|
86
|
+
traceability_info.markers.append(
|
87
|
+
function_range_marker_
|
88
|
+
)
|
89
|
+
elif node_.type == "function_definition":
|
59
90
|
function_name: str = ""
|
60
91
|
|
61
92
|
for child_ in node_.children:
|
@@ -66,6 +97,7 @@ class SourceFileTraceabilityReader_C:
|
|
66
97
|
function_name = child_.children[0].text.decode("utf8")
|
67
98
|
assert function_name is not None, "Function name"
|
68
99
|
|
100
|
+
function_comment_node: Optional[Node] = None
|
69
101
|
function_comment_text = None
|
70
102
|
if (
|
71
103
|
node_.prev_sibling is not None
|
@@ -87,6 +119,7 @@ class SourceFileTraceabilityReader_C:
|
|
87
119
|
function_last_line,
|
88
120
|
function_comment_node.start_point[0] + 1,
|
89
121
|
function_comment_node.start_point[1] + 1,
|
122
|
+
entity_name=function_name,
|
90
123
|
)
|
91
124
|
for marker_ in markers:
|
92
125
|
if isinstance(marker_, FunctionRangeMarker) and (
|
@@ -102,10 +135,13 @@ class SourceFileTraceabilityReader_C:
|
|
102
135
|
function_range_marker_
|
103
136
|
)
|
104
137
|
|
138
|
+
# The function range includes the top comment if it exists.
|
105
139
|
new_function = Function(
|
106
140
|
parent=None,
|
107
141
|
name=function_name,
|
108
|
-
line_begin=
|
142
|
+
line_begin=function_comment_node.start_point[0] + 1
|
143
|
+
if function_comment_node is not None
|
144
|
+
else node_.range.start_point[0] + 1,
|
109
145
|
line_end=node_.range.end_point[0] + 1,
|
110
146
|
parts=[],
|
111
147
|
)
|