JunoLab / atom-ink

IDE toolkit for Atom
MIT License
228 stars 40 forks source link

How to Start? #57

Open BugDiver opened 8 years ago

BugDiver commented 8 years ago

I,m writing a atom package which supports Gauge. I want to use atom-ink package for it but it's documentation is not good enough. It doesn't tell how to use this in our package and which kind of APIs are available. It would be great if it's provide a good docs.

MikeInnes commented 8 years ago

Yup this is definitely true. It's worth having a browse through the code because @pfitzseb has added some nice internal docs for at least the inline results portion.

You're also very welcome to ask any specific questions you have. What kind of features are you looking for? We're more than happy to point you in the right direction.

carocad commented 8 years ago

hey @MikeInnes, I understand that it can get difficult to document something so new and with so many functionalities.

I am currently working on replacing proto-repl's console with atom-ink's one. I managed to get a very basic console-editor working (see gis)t but I would like to know if you could provide me some more info. I am specially interested in the error display methods shown in this gif. How do I get to highlight and link file-addresses + line-range to the editors? I tried ink.highlight(atom.workspace.getActiveTextEditor(), 66, 69) but it crashes :/

Any piece of information that you can provide would be helpful.

BTW: do you accept pull-request on documentation or is it still too early, too unstable to do that?

pfitzseb commented 8 years ago

Have a look at the implementation over at atom-julia-client.

Documentation would be great, imo, especially by someone not as involved in the dev process -- so if you're feeling up to it... :) Also, feel free to ask any questions that arise in the meantime.

carocad commented 8 years ago

@pfitzseb thanks for the quick reply.

Sadly I had already looked at that method but it alone doesn't do the job :( I tried

ink.highlights.errorLines([
        {file: './atom-foo/atom-foo.js', line: 64},
        {file: 'home/camilo/Proyectos/atom-foo/atom-foo.js', line: 65}
      ])

but nothing happens.

I can identify the methods because I think they are very well named but there is no clear big picture of ink itself nor how to use it. I already have tried both methods that I think that could do the job but it seems that they alone are not enough so obviously I'm missing a detail that's hidden in the implementation itself.

MikeInnes commented 8 years ago

Most likely this isn't working because you haven't used the full path to the file, which should match editor.getPath(). Try calling that method to get the paths, or alternatively clicking the path in the status bar.

In general, if the API doesn't work in an intuitive way then you can consider that a bug on our side :)