Skip to content

refactor: update automatic documentation generation#315

Open
solid-illiaaihistov wants to merge 8 commits into
solid-software:analysis_server_migrationfrom
solid-illiaaihistov:101-docs-structured-parameters
Open

refactor: update automatic documentation generation#315
solid-illiaaihistov wants to merge 8 commits into
solid-software:analysis_server_migrationfrom
solid-illiaaihistov:101-docs-structured-parameters

Conversation

@solid-illiaaihistov

Copy link
Copy Markdown
Collaborator

Closes #314
Closes #101

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the documentation parser for solid_lints by introducing a new DocsParser orchestrator, ParserRegexes, and a revamped ParserUtils utility class. It adds support for @docType custom types, {@template} scanning, and {@macro} expansion, while updating configuration formats to use the new plugins: solid_lints structure. Feedback on the changes highlights two issues: a potential null-pointer evaluation to 'null' when parsing fields without explicit types in ParametersParser, and a logic bug in the circular macro dependency check within ParserUtils.expandMacros that could trigger false positives on valid nested macro expansions.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread lib/src/utils/docs_parser/parsers/parameters_parser.dart Outdated
Comment thread lib/src/utils/docs_parser/utils/parser_utils.dart Outdated
@solid-illiaaihistov

Copy link
Copy Markdown
Collaborator Author

/gemini review

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the configuration structure of solid_lints to use the new plugins block, updates Docusaurus dependencies, and introduces @doctype annotations across several parameter classes. Additionally, it refactors the documentation parser utility to support custom type scanning, template/macro expansion, and MDX-safe escaping, while making lintName public across lint rules. The review feedback suggests improving error handling during documentation generation by including the field name in missing-documentation errors and passing the file path context to macro expansion errors to aid debugging.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread lib/src/utils/docs_parser/parsers/parameters_parser.dart
Comment thread lib/src/utils/docs_parser/utils/parser_utils.dart Outdated
Comment thread lib/src/utils/docs_parser/parsers/rule_parser.dart Outdated
@solid-illiaaihistov

Copy link
Copy Markdown
Collaborator Author

/gemini review

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the solid_lints configuration format to use the new plugins syntax, updates documentation, and significantly refactors the documentation parser to support custom types, templates, and macro expansion. Feedback on the changes includes two recommendations: first, to use uri.pathSegments.last instead of p.basenameWithoutExtension in ParserUtils.fileNameSuffix to prevent platform-dependent path parsing issues on Windows; second, to use toSource() instead of toString() on AST TypeAnnotation nodes in ParametersParser to ensure robustness across different versions of the analyzer package.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread lib/src/utils/docs_parser/utils/parser_utils.dart Outdated
Comment thread lib/src/utils/docs_parser/parsers/parameters_parser.dart Outdated
@solid-illiaaihistov

Copy link
Copy Markdown
Collaborator Author

/gemini review

@gemini-code-assist

Copy link
Copy Markdown

Warning

Gemini encountered an error creating the review. You can try again by commenting /gemini review.

@solid-illiaaihistov

Copy link
Copy Markdown
Collaborator Author

/gemini review

@gemini-code-assist

Copy link
Copy Markdown

Warning

Gemini encountered an error creating the review. You can try again by commenting /gemini review.

@solid-illiaaihistov

Copy link
Copy Markdown
Collaborator Author

/gemini review

@gemini-code-assist

Copy link
Copy Markdown

Warning

Gemini encountered an error creating the review. You can try again by commenting /gemini review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant