Skip to content

refactor(Function): Rename Function to LanguageItem#2678

Merged
stanislaw merged 2 commits intostrictdoc-project:mainfrom
haxtibal:tdmg/rename_function_marker
Feb 8, 2026
Merged

refactor(Function): Rename Function to LanguageItem#2678
stanislaw merged 2 commits intostrictdoc-project:mainfrom
haxtibal:tdmg/rename_function_marker

Conversation

@haxtibal
Copy link
Contributor

@haxtibal haxtibal commented Feb 8, 2026

What

Rename the class and associated variables and comments.

Why

This was triggered by #2672. Rust language-aware parsing made evident we want to represent many more things that can occur in source code (enums, structs, modules, traits, expressions, type parameters, ...) - not only functions and classes. The possible list of items is long and unpredictable since it depends on supported languages which will increase over time. So it's best to represent items with a single generic class.

How

Rename internal items only, without changing public API or functionality. For example, we keep @relation(scope=function) and RELATIONS: - FUNCTIONS: ... for now. The generalization should be exposed to users eventually, but requires backward compatibility considerations and therefore is deferred to not block other PRs.

WHAT: Rename the class and associated variables and comments.

WHY: This was triggered by strictdoc-project#2672. Rust language-aware parsing made
evident we want to represent many more things that can occur in source
code (enums, structs, modules, traits, expressions, type parameters,
...) - not only functions and classes. The possible list of items is
long and unpredictable since it depends on supported languages which
will increase over time. So it's best to represent items with a single
generic class.

HOW: Rename internal items only, without changing public API or
functionality. For example, we keep '@relation(scope=function)' and
'RELATIONS: - FUNCTIONS: ...' for now. The generalization should be
exposed to users eventually, but requires backward compatibility
considerations and therefore is deferred to not block other PRs.
WHAT: Add detailed comment to LanguageItem explaining API, assumptions
of use and how it supports related functionality.

WHY: LanguageItem is the entry point to quite scattered functionality. A
developer has to be aware of multiple related features and details that
happen in distant places and stages to create the object correctly. The
comment summarizes the most important (and maybe surprising) things.
@stanislaw stanislaw merged commit d597cd6 into strictdoc-project:main Feb 8, 2026
33 checks passed
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.

2 participants