Re-add getAvailableLanguages
, getAvailableThemes
, languageIsAvailable
and themeIsAvailable
#23
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR re-adds
getAvailableLanguages
,getAvailableThemes
,languageIsAvailable
andthemeIsAvailable
and updates their behavior to correctly read all languages/themes, rather than just currently loaded ones.Even though individual languages and themes are now lazy-loaded by Shiki, these methods allow an application to introspect the possible assets available for lazy-loading.
This functionality is essential for an application to present a dropdown list of highlighting options to a user, and to validate user-selected languages/themes.
I know you just released a new major version without these methods, but it would not be a breaking change to re-add them. I hope you'll consider this, despite the churn. Thanks!
As an implementation detail, this PR differentiates internally between base languages (e.g.
javascript
) and aliases (e.g.javascript
andjs
).getAvailableLanguages
returns base languages, whilelanguageIsAvailable
checks against all aliases.(This PR also fixes a small nit:
symfony/process
was not required as a dependency.)