rokucommunity / rokucommunity/vscode-brightscript-language
Support hand-curated device lists with merging and hierarchy across all VSCode config sources
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 132
- Forks
- 60
- Avg merge
- 13h 53m
- Merged PRs (30d)
- 20
Description
Add support for a hand-curated list of Roku devices that will always appear in the device list regardless of network discovery.
Note: The only required field for a device is host. All other fields (name, deviceId, password, etc.) are optional.
Example configuration:
"brightscript.devices": [
{
"host": "1.2.3.4"
},
{
"host": "4.5.6.7",
"name": "Living Room",
"deviceId": "xyz-987",
"favorite": true
}
]
Requirements:
- Read
brightscript.devicesfrom ALL VSCode configuration scopes. When merging, use this priority ("last one in wins"):defaultLanguageValueglobalValueglobalLanguageValueworkspaceValueworkspaceLanguageValueworkspaceFolderValueworkspaceFolderLanguageValue- user settings (clarify which above is VSCode user settings)
- Devices with duplicate IDs should be merged. For each property (such as password or host), use the value according to the above priority order, using the pattern found in DebugConfigurationProvider.ts
- if you've only specified
deviceId, then we could leverage network broadcasting to find all devices, and then curate the list to just the ones in the list....but i'm not sure if that's helpful?
Acceptance criteria: - Devices defined in any config should always appear in the device list.
- Merging of device properties across scopes is predictable and respects the hierarchy.
- No duplicate devices in the list, merged according to the config order above.
See also: improvements in #685
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the configuration-merging pattern in DebugConfigurationProvider.ts around lines 147-156, then trace how the extension builds the device list and reads VS Code configuration scopes. Define the scope precedence and duplicate-device merge behavior, and verify that every configured device appears once with properties resolved in that order.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100