perl-lsp-feature-flags
Microcrate for LSP feature flag modeling used by protocol capability construction, runtime profile selection, and BDD/interoperability reporting.
Purpose
This crate owns the canonical shape and behavior of capability flags:
BuildFlags— runtime/build-time capability toggles used by the protocol layer.AdvertisedFeatures— client-advertising projection of runtime capability flags.BuildFlags::to_advertised_features— projection from build flags to advertised features.BuildFlags::to_feature_ids— feature-id projection used by BDD tooling.BuildFlags::{production,ga_lock,all}— canonical feature profiles.
API
All API is intentionally small and stable:
- BuildFlags struct
- AdvertisedFeatures struct
to_advertised_featuresandto_feature_idsproduction,ga_lock, andallprofile constructors
Interoperability
perl-lsp-protocolre-exportsBuildFlagsandAdvertisedFeatures, so existing import paths continue to work while still using this microcrate as the source of truth.perl-lsp-feature-policyuses this crate to translate profile decisions into concrete protocol capability flags.