jaredly / reason-language-server

A language server for reason, in reason
MIT License
659 stars 84 forks source link

A stable API of compiling module as you type #407

Open bobzhang opened 4 years ago

bobzhang commented 4 years ago

In release 7.2, we merged two internal flags into a single one, -bs-no-builtin-ppx-ml and -bs-no-builtin-ppx-mli are removed to use -bs-no-builtin-ppx, this unfortunately broken RLS again

https://github.com/jaredly/reason-language-server/blob/master/src/analyze/Packages.re#L215

Curious why that flag is used?

There are some more reliable ways to get such command line flags, for example:

c0003$bsb -- -t  commands src/Index-ReasonReactExamples.cmj
/Users/hongbozhang/.npm-global/lib/node_modules/bs-platform/darwin/bsc.exe   -color always -bs-jsx 3 -bs-super-errors -bs-no-version-header -o src/Index.reast -bs-syntax-only -bs-binary-ast /Users/hongbozhang/git/c0003/src/Index.re
/Users/hongbozhang/.npm-global/lib/node_modules/bs-platform/darwin/bsb_helper.exe -hash cc2c292add0cc18fbea75e77d145581f -bs-ns ReasonReactExamples -g 0 src/Index.reast
/Users/hongbozhang/.npm-global/lib/node_modules/bs-platform/darwin/bsc.exe -bs-package-name reason-react-examples -bs-ns ReasonReactExamples  -bs-package-output commonjs:src -color always -bs-suffix -I . -I src/ReducerFromReactJSDocs -I src/ReasonUsingJSUsingReason -I src/BlinkingGreeting -I src/FetchedDogPictures -I src -I /Users/hongbozhang/git/c0003/node_modules/reason-react/lib/ocaml  -bs-super-errors -bs-no-version-header -o src/Index-ReasonReactExamples.cmj src/Index.reast

I would like to help provide a more stable way of doing such things, let me know how I can help here

You can also get a list of targets here:

c0003$bsb -- -t  targets
src/Index-ReasonReactExamples.cmj: ml_cmj_cmi
src/Index-ReasonReactExamples.cmi: ml_cmj_cmi
/Users/hongbozhang/git/c0003/src/Index.bs.js: ml_cmj_cmi
src/ExampleStyles-ReasonReactExamples.cmj: ml_cmj_cmi
src/ExampleStyles-ReasonReactExamples.cmi: ml_cmj_cmi
/Users/hongbozhang/git/c0003/src/ExampleStyles.bs.js: ml_cmj_cmi
src/FetchedDogPictures/FetchedDogPictures-ReasonReactExamples.cmj: ml_cmj_cmi
src/FetchedDogPictures/FetchedDogPictures-ReasonReactExamples.cmi: ml_cmj_cmi
/Users/hongbozhang/git/c0003/src/FetchedDogPictures/FetchedDogPictures.bs.js: ml_cmj_cmi
src/BlinkingGreeting/BlinkingGreeting-ReasonReactExamples.cmj: ml_cmj_cmi
src/BlinkingGreeting/BlinkingGreeting-ReasonReactExamples.cmi: ml_cmj_cmi
/Users/hongbozhang/git/c0003/src/BlinkingGreeting/BlinkingGreeting.bs.js: ml_cmj_cmi
src/ReasonUsingJSUsingReason/ReasonReactCard-ReasonReactExamples.cmj: ml_cmj_cmi
src/ReasonUsingJSUsingReason/ReasonReactCard-ReasonReactExamples.cmi: ml_cmj_cmi
/Users/hongbozhang/git/c0003/src/ReasonUsingJSUsingReason/ReasonReactCard.bs.js: ml_cmj_cmi
src/ReasonUsingJSUsingReason/ReasonUsingJSUsingReason-ReasonReactExamples.cmj: ml_cmj_cmi
src/ReasonUsingJSUsingReason/ReasonUsingJSUsingReason-ReasonReactExamples.cmi: ml_cmj_cmi
/Users/hongbozhang/git/c0003/src/ReasonUsingJSUsingReason/ReasonUsingJSUsingReason.bs.js: ml_cmj_cmi
src/ReducerFromReactJSDocs/ReducerFromReactJSDocs-ReasonReactExamples.cmj: ml_cmj_cmi
src/ReducerFromReactJSDocs/ReducerFromReactJSDocs-ReasonReactExamples.cmi: ml_cmj_cmi
/Users/hongbozhang/git/c0003/src/ReducerFromReactJSDocs/ReducerFromReactJSDocs.bs.js: ml_cmj_cmi
ReasonReactExamples.cmi: build_package
bobzhang commented 4 years ago

There is also bsb -- -t rules and bsb -- -t compdb

jaredly commented 4 years ago

Very cool! That would be very nice to have. I don't remember why I added that flag, only that some thing was broken without it 😅