feat(sources): allow setting kind_name and kind_icon in provider config #1329
+12
−2
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.
Setting the kind_name and kind_icon on every item requires overriding the transform_items function, which can get tedious. Oftenly, custom sources provide only one item kind (e.g., blink-copilot, blink-emoji, blink-cmp-env, blink-ripgrep, css-vars.nvim, blink-cmp-spell).
Allow providers to specify a default kind_name and kind_icon to apply to all of its returned items. These should have lower priority than the kind_name and kind_icon set explicitly on returned items, but higher priority than globals (e.g., appearance.kind_icons). This allows providers to set finer-grained kind_name or kind_icon on an item-by-item basis, but also simplifies logic for providers with only one kind.
NOTE: I tested the changes locally and it seems to work.