edubkendo / atom-racer

Intelligent code completion for Rust in the Atom Editor. Requires Racer.
MIT License
115 stars 24 forks source link

Racer isnt working #34

Closed dariusc93 closed 9 years ago

dariusc93 commented 9 years ago

After several attempts, I couldnt get atom-racer working with atom. I reinstalled it, relocated racer and rust source but there is no completion, nor any sign of it being operational. Any clue as to why?

alkama commented 9 years ago

Hello darius! Can you post your config (the racer section) here? and also tell us if you're on windows, linux, osx ?

dariusc93 commented 9 years ago

I am using Linux (both Ubuntu 14.04 and Arch Linux)

  racer:
    rustSrcPath: "/home/darius/Projects/Software/rust/src"
    racerBinPath: "/home/darius/Projects/Other/racer/target/release/racer"
alkama commented 9 years ago

Hum, there is nothing obviously wrong there.

Can you check that racer does its job by hand? You can follow instructions there: https://github.com/edubkendo/atom-racer/pull/29#issuecomment-110484861

This would ensure that the problem is on our package's hands.

You can also inspect for errors in the developer tools (menu View -> Developer -> Toggle Developer Tools and report of you see errors from us there :)

Happy hunting!

dariusc93 commented 9 years ago

Yes racer runs fine by cli and there havent been any errors in the developer tools and the instructions there works fine. I would clear out atom and every package to be sure too.

alkama commented 9 years ago

Hum... is the core package "autocomplete-plus" active and running? Check its settings to see that it completes on keystroke, we rely on that package to provide completion.

dariusc93 commented 9 years ago

So far yes because the go plus works and if i recall, it requires autocomplete-plus.

alkama commented 9 years ago

Well, the last thing is to check that your project's directory is writable. But I guess if it wasn't you would have errors in the developer tools. So i'm out of ideas. Maybe you can troubleshoot it yourself by opening our package sources and putting logs to see where it fails?

dariusc93 commented 9 years ago

I will dig around and see. I did reset atom back to its default state with racer being the only thing I installed into it. Is there any additional steps that must be taken for this after installing racer and configuring the path? I do see people have this working without problems, I just find it odd about why it would not work for me (its enabled but its as if its not enabled because there is no sign, error, or anything of it being operational even while using something simple as use std::).

alkama commented 9 years ago

Yeah, that's quite puzzling. It should indeed work without problem, or at least complain in the logs. That's why I'm pretty clueless. And there's nothing that really needs hard check, the plugin is pretty simple only uses 2 node dependencies and relies on autocomplete-plus.

But I'm pretty sure you'll find where it's stuck by putting logs. It's not a big packages, just 3 short files :)

dariusc93 commented 9 years ago

True, it is a small file, but something is weird. There is no logging being done. I removed the paths from the configuration, and reloaded the package to see if it does log anything within the developers console, however there is nothing going on as if its not loaded or enabled, even though it is according to atom. I did modify the code itself and it is loaded base off the minor changes, but I guess I should log it differently

alkama commented 9 years ago

try to add console.log("was hereX") starting from the activation method in lib/racer.coffee, then follow into racer-provider.coffee then the racer-client.coffee ?

alkama commented 9 years ago

Also remember that after each source-code change in packages, you have to reload the whole Atom for the change to be taken into account. There is a command called Window:reload that you can trigger with the usual palette.

alkama commented 9 years ago

Oh, btw, did you load "language-rust" package? Maybe we overlooked that. Our plugin only work on .source.rust scopes, and I dont remember if that scope is default in Atom or if it's added by the language package. Anyway, we only activate on rust code, so .rs files or files that have syntax changed to rust.

dariusc93 commented 9 years ago

I havent loaded language-rust but after installing it, everything does started to work and everything did started to log as well. I was editing the .rs files before installing and it was a no go until afterwards.

edubkendo commented 9 years ago

good call @alkama . Yeah, we should add that to the README probably, it's definitely a requirement/dependency

edubkendo commented 9 years ago

we could add a warning to print to the console to, for future hair-pulling events like this one

alkama commented 9 years ago

I updated the readme instead. In fact, to be activated properly by autocomplete-plus as a provider for rust sources, we have to submit a scope. We use the .source.rust scope and that scope is declared and defined by the language-rust package. I'm a tad reluctant to add code just to check that this package is present and log errors when it's not since we dont really do anything ourselves with that package. Maybe when we'll have proper dialogs easy to display to users. For now, console logs are so silent that it's not really useful.