"MidnightJava" wrote:
1. The outline was incomplete, missing the vast majority of my functions. This was corrected by commenting out a line in the script that was causing a false positive error marker. See item 3 below.
That's a known issue with the underlying core parser.
It's got a form of automatic recovery on parser errors, but it currently doesn't seem particularly good at recovering to a useful parser restart point for BrightScript code in most cases.
I'm looking into overriding and improving the recovery algorithm for future releases.
"MidnightJava" wrote:
2. Searching for a function declaration with a reference to the function highlighted works for some references and doesn't work for others. For many references, Search doesn't find a declaration, even though it is there, and shows up in the Outline view.
If you could provide specific examples via PM, that would help me to isolate the problem.
"MidnightJava" wrote:
Highlighting a function reference and then selecting Show in-> Outline View doesn't do anything in any case. Also Link With Editor works from Outline View to editor, but not in the other direction.
Thanks for the heads up - I'll look into these.
"MidnightJava" wrote:
3. The telnet console doesn't work. I enter the local IP address of my roku box, and it doesn't do anything. I successfully side-loaded the box, so I know the plug-in can see it. I see the progress monitor for a user job as soon as I enter the IP address for the roku box in the deploy wizard, but the telnet console doesn't seem to be able to connect. Also the drop-down combo in the console where I enter the IP address is only one character wide. I have to scroll through horizontally to read the IP address one character at a time.
This is a known issue that should be fixed in the next release.
Although it allows you to enter an IP address, you shouldn't have to enter the IP address of a Roku box in the console dropdown - the plugin should automatically be able to query for them and list the IP address(es) automatically.
However...
There is a known race condition (with the plugin startup) bug which prevents the SSDP query mechanism from working correctly, so it falls back to relying on the Roku box SSDP 1-per-minute unsolicited broadcast.
Until the bug is fixed in the next release, you should wait a little while (in theory, at most 1+ minute) after the BrightScript console is becomes visible for the plugin to see the 1-per-minute unsolicited SSDP broadcast from the roku box. The plugin should eventually see that broadcast, and then add the IP address to the console window for you.
"MidnightJava" wrote:
4. I have a false positive error marker, due to an issue you mentioned previously, i.e. code with adjacent () or [] will show an error. This causes a cascading of error markers, which of course is par for the course when parsing a grammar; but I thought I'd mention one in particular in case something can be done about it. The following reference has an error marker due to the bug mentioned above
ShowArtist(Indexes[curIndex][msg.GetIndex()])
However, after the line above there are some statements that close if and while blocks. It seems the parser misses these, and consequently there are a number of markers later in the code for various end xxx statements, of the nature "expected if, found while, or expected function, founded if", etc. I commented out the line above, and all the error markers went away, and the Outline was then found to be complete.
Understood, see response above in (1) about the current parser error recovery issue.
"MidnightJava" wrote:
1. I see that code completion works when I'm in the midst of a word, but never after a dot operator. I understand that's problematic with a dynamically typed language, but it is possible in certain contexts where the type of the object is known to the parser. I've seen Javascript editors that make a best effort at such completion, although it's not as deterministic as, say, for a Java editor. Is there indeed no support for code completion after the dot operator, and is that something planned for future versions?
Yes, that's a known issue with code completion... or more accurately, with the current parser/parser grammar.
Only the base BrightScript language elements are currently known to the parser - the built-in objects and component types (and more to the point, the interface definitions) are not yet in the grammar.
Object/component/interface types are something I plan on adding over several releases.
As these get added, it will have useful follow-on effects, including improved code-completion (and eventually help/doc windows for items in the code completion list).
"MidnightJava" wrote:
2. Is there any plan to enable navigating from reference to declaration with a single key (e.g. F3)? I use that a lot in Java development in Eclipse, and it's far more convenient than using the Search commands, which seems to be the only way such a thing is supported now.
Good idea - I'll add that to the to-do list.
"MidnightJava" wrote:
3. I had some reserved words in a script I tried to edit. This caused some error markers that were at first confusing to me until I realized I had some reserved words in the script. It would be helpful if use of reserved words was recognized and called out explicitly by the parser.
Agreed.
FYI - the error marker text (with a few special exceptions), is currently auto-generated by the parser code generator (read: not defined in my code or grammar file).
I've noticed that the default parser messages aren't always very clear, so that's a general area of improvement for my parser wrapper code that I've got on the to-do list.
Thanks very much for the feedback - please keep it coming!
Cheers.