As with directives, this commit splits the monolithic Roles feature
into a backend feature and two frontend features.
The original Roles feature is responsible for providing the API used
by the frontend features.
The RstRoles and MystRoles features use the backend to provide
features for the reStructuredText and MyST syntaxes respectively. Note
that this is already proving useful as the MystRoles feature does
not need the "backtracking" code the RstRoles feature uses to
determine if a completion is an actual role, or a directive's option.
As with directives, this commit splits the monolithic
Roles
feature into a backend feature and two frontend features.The original
Roles
feature is responsible for providing the API used by the frontend features.The
RstRoles
andMystRoles
features use the backend to provide features for the reStructuredText and MyST syntaxes respectively. Note that this is already proving useful as theMystRoles
feature does not need the "backtracking" code theRstRoles
feature uses to determine if a completion is an actual role, or a directive's option.