rokucommunity / rokucommunity/brighterscript

Support namespace style component interface function names

Open
#1,268 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement help wanted
Dominant language
TypeScript
Stars
208
Forks
68
Avg merge
8h 39m
Merged PRs (30d)
39

Description

<interface>
  <function name="Namespace.FunctionName" />
  <field id="width" type="float" onchange="Namespace.FunctionName" />
</interface>

This should be supported. The validator should properly find these namespaced functions, and the transpiler should rewrite to Namespace_FunctionName.

For legacy reasons, we need to also still support Namespace_FunctionName as well.

Another situation we'll need to address is for completions and validations, we shouldn't allow Namespace.FunctionName when the project is pure brightscript. (we need to work this out)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the validator and transpiler entry points that handle interface function and field names. Verify support for Namespace.FunctionName and legacy Namespace_FunctionName, with transpilation producing the underscored form. The remaining completion and validation behavior for pure BrightScript projects needs a project decision before it can be considered done.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
compilers
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.