reasonml / reason-cli

Globally installable Reason toolchain.
MIT License
290 stars 23 forks source link

Failed to work with atom-ocaml-merlin or nuclide #42

Open zaaack opened 7 years ago

zaaack commented 7 years ago

I followed the guide in JavaScript Quickstart, but I just cannot make atom-OCaml-merlin or nuclide working. But VSCode-Reasoml works well,

In nuclide or atom-ocaml-merlin, I got an error in console:

[2017-07-16T03:24:48.601Z] [ERROR] nuclide-ocaml-rpc - Ocamlmerlin raised an error: ["error",{"type":"type","sub":[],"valid":true,"message":"Error: Error while running external preprocessor\nCommand line: node_modules/bs-platform/bin/bsppx.exe '/var/folders/vs/zmlqkcln7rx46sb2ygjvl7h40000gn/T/camlppxc9c14f' '/var/folders/vs/zmlqkcln7rx46sb2ygjvl7h40000gn/T/camlppxb89383' 1>/dev/null 2>/dev/null"}]
  command: {"query":["tell","start","end","Js.log \"Hello, BuckleScript and Reason!\";"],"context":["auto","/Users/z/Projects/ReasonML/my-first-app/src/demo.re"]}

And running the command manually:

$ node_modules/bs-platform/bin/bsppx.exe '/var/folders/vs/zmlqkcln7rx46sb2ygjvl7h40000gn/T/camlppxc9c14f' '/var/fol
ders/vs/zmlqkcln7rx46sb2ygjvl7h40000gn/T/camlppxb89383'
File "_none_", line 1:
Error: I/O error: /var/folders/vs/zmlqkcln7rx46sb2ygjvl7h40000gn/T/camlppxc9c14f: No such file or directory

$ cat /var/folders/vs/zmlqkcln7rx46sb2ygjvl7h40000gn/T/camlppx.lastfail
Caml1999M016����&_none_����
                           ��������1ocaml.ppx.context��&_none_A@�A����������)tool_name���&merlin@@����,include_dirs
@:@�����?�������ad_path!1/usr/local/lib/node_modules/bs-platform/lib/ocaml@G@�����'L��������3���2/Users/z/Projects/
ReasonML/my-first-app/lib/bs/src@T@�����>Y@Y@@Y@Y@@Y@Y@@Y@Y@@Y@Y@����,open_modules^����Gb@b@����+for_packageg����$N
onel@l@����%debugq����%falsev@v@����'cookies{����d@@@@@@@@%

I also tried the guide in bucklescript but had no luck.

zaaack commented 7 years ago

Never mind, just find out atom-languageclient can work perfectly with ocaml-language-server's master branch(plus newest pr), so I create a simple package ide-reason to combine them together.