Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
georgejecook
Streaming Star

Re: Eclipse plugin limitations

I tried your plugin; it's impressive; but unfortunately offers NO navigation at all - I can't even jump to a function defined in the same file. 

for me, the ability to jump straight to a function/field definition/code behind file/other script file, is way more important than text completion.

I don't know the underlying tech unfortunately; how hard will it be to add modern code navigation?
George Cook
https://georgejecook.github.io/
https://linkedin.com/in/georgejecook/
Roku developers slack group (https://join.slack.com/t/rokudevelopers/shared_invite/zt-4vw7rg6v-NH46oY7hTktpRIBM_zGvwA) : georgejecook

Contact me on roku developer slack group, or via pm to discuss consultancy/work opportunities/rooibos unit testing framework
0 Kudos
nish
Visitor

Re: Eclipse plugin limitations

"georgejecook" wrote:
I tried your plugin; it's impressive; but unfortunately offers NO navigation at all - I can't even jump to a function defined in the same file. 

for me, the ability to jump straight to a function/field definition/code behind file/other script file, is way more important than text completion.

I don't know the underlying tech unfortunately; how hard will it be to add modern code navigation?

Thanks for taking a look at it. We focused heavily on building the most accurate/complete grammar and AST possible because it's the backbone of practically every other feature we would want in the future. We then decided to cover linting capabilities because that's what my team felt would be most helpful.

Adding navigation shouldn't be too difficult there as a language server capability defined for this called a Goto Definition Request. After registering it, you would receive a callback with the line and location of the requested symbol whenever the user triggers this action from the IDE (via a key binding like cmd/ctrl click or some context menu). You would then parse the file using wist, traverse the AST, then decide what potential matches are and return the one you are most confident in.

Here's a sample implementation in the JS language server.

At the moment, i'm a bit more focused on enhancing the parser/linter performance and possibly building out a code formatter so I can't say when i'll get to this. However, community contributions to the project are very welcome 😉
0 Kudos
georgejecook
Streaming Star

Re: Eclipse plugin limitations

I'll take a look at the weekend maybe. You know roku has an official open source plugin as well, right?

Can you explain what is the benefit of the community contributing to your project over theres? Am I missing something?
George Cook
https://georgejecook.github.io/
https://linkedin.com/in/georgejecook/
Roku developers slack group (https://join.slack.com/t/rokudevelopers/shared_invite/zt-4vw7rg6v-NH46oY7hTktpRIBM_zGvwA) : georgejecook

Contact me on roku developer slack group, or via pm to discuss consultancy/work opportunities/rooibos unit testing framework
0 Kudos
nish
Visitor

Re: Eclipse plugin limitations

"georgejecook" wrote:
I'll take a look at the weekend maybe. You know roku has an official open source plugin as well, right?

Can you explain what is the benefit of the community contributing to your project over theres? Am I missing something?

The Roku Atom plugin didn't exist when we initially started work on our projects. However, after looking into it we've found our tooling combined does way more than what it offers. They also haven't published it on apm for some reason.

The approach that we took in supporting editors is also fundamentally different. In thier case, it looks like most of the capability is built directly into the atom plugin, while our tooling is built around leveraging the language server protocol which is what a lot of newer languages Rust, Scala, JavaScript, Typescript... and organizations including the eclipse foundation support. This is what allows you to build support for a new editor capable of being a language client with minimal effort. 😉

Another major benefit is that we're still actively working on making them better and merging in community contributions.
0 Kudos
georgejecook
Streaming Star

Re: Eclipse plugin limitations

Okay, I'll have a look into it in a couple of weekend. For me, without navigation it's a 100% no-go; so if I can add that without too much pain I will; but I must confess it's a surprising omission. If you guy's don't get to it first, I will eclipse is a piece of crap to work with (both plugin dev and as an IDE).

the only reason I use eclipse is coz when the telnet thing works (read - almost never); I can click on files and go straight to the line in my editor.

you guys got a telnet session in atom? Planning to have?
George Cook
https://georgejecook.github.io/
https://linkedin.com/in/georgejecook/
Roku developers slack group (https://join.slack.com/t/rokudevelopers/shared_invite/zt-4vw7rg6v-NH46oY7hTktpRIBM_zGvwA) : georgejecook

Contact me on roku developer slack group, or via pm to discuss consultancy/work opportunities/rooibos unit testing framework
0 Kudos
nish
Visitor

Re: Eclipse plugin limitations

"georgejecook" wrote:
Okay, I'll have a look into it in a couple of weekend. For me, without navigation it's a 100% no-go; so if I can add that without too much pain I will; but I must confess it's a surprising omission. If you guy's don't get to it first, I will eclipse is a piece of crap to work with (both plugin dev and as an IDE).

the only reason I use eclipse is coz when the telnet thing works (read - almost never); I can click on files and go straight to the line in my editor.

you guys got a telnet session in atom? Planning to have?

Feel free to drop an issue on the project issue tracker when you plan to start working on it. We can discuss some approaches there.
We tried getting some telnet session integration into Ukor but suspended work on it after running into some stability issues. We might pick this up again if there's enough demand for it.
0 Kudos