Coder Social home page Coder Social logo

atom-ide-reason's People

Contributors

314eter avatar alex35mil avatar chenglou avatar clouds56 avatar dependabot[bot] avatar evanpjensen avatar freebroccolo avatar jchavarri avatar zaaack avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

atom-ide-reason's Issues

Move this into reasonml-editor org?

Hey @zaaack! I think we're ready recommending this as the official Reason Atom plugin now =)

Can you move this into the reasonml-editor org please? I've given you access to it.

Thanks!

Getting opaque error while running bsb on save

Using RLS with "Run bsb on save" I'm getting an error that doesn't tell me what's going on:

image

This is (probably?) a RLS issue but the display issue is (probably?) related to the plugin.

Update datatip display (issue and enhancement

image
issue part:
: is displayed %3A
double underscore are interpreted like markdown s
enhancement:
Can we display {!Make} as link to the actual doc of value Make ?
If not wan we emulate with some event (hover ?).
Or open a request feauture on rls to add such functionality.

IDE features hang

The Reason IDE features seem to hang for me from the time I launch Atom. I'm not getting any context help in the code (squiggly lines, etc.), when I Cmd-click something I get the the spinning ball mouse cursor, and as soon as I save a .re file, the "Busy Signal" UI is constantly spinning, saying it's formatting whichever file I saved. The actual save/refmt does occur, though it takes a good 1-2s before it actually happens.

I ran into this when I first tried atom-ide a few weeks ago. Then in seemed to randomly start working for me, and it was great! Then it started hanging again a few days ago. It may have been timed with me updating some of my Atom packages (I did a bulk update a few days ago, wish I'd paid closer attention to what they all were...).

I've tried restarting Atom, my terminal, and my whole machine but it's messed up each time I launch Atom. Here are some details about the current versions of things I'm running - please let me know if you need any more details:

Atom version: 1.23.3
atom-ide-reason version: 0.1.8
atom-ide-ui version: 0.7.1
Mac OSX 10.12.6

Thanks!

Interface files generator

I prototyped interface files generator: https://cl.ly/pnsG
It’s going to be available in tree view context menu and in re/ml buffers.
Should I incorporate it into atom-ide-reason or publish as stand-alone package?
Personally, I incline to the former to avoid dependency hell but wonder what community thinks about it?

Diagnostics: error messages not shown.

Hi.
I just installed ide-reason and atom-ide-ui to use it with Ocaml. Some of the functionality like autocompletion or hovering over a item to se the data-type works.

However I do not get the feedback from Diagnostics as shown in the demo gif.
Basically I can write what ever I want. No warnings or errors come up.
The diagnostics function in the atom-ide is turned on.

I am using atom-ide-ui 0.5.2; reason-ide 0.1.3; language-ocaml 1.9.5 and atom 1.21

Any help would be appreciated.

Custom toolchain path per project

I mentioned it in #11

This thing doesn't work atm b/c readFileConf always returns empty string (b/c projectPath is not passed). Anyway, w/ changes introduced in #11 I don't think it makes sense to keep it as-is (even fixed). We can convert it into configuration file based on OSL configuration format and pick it from either package.json or ide-reason.json or whatever. And it will override default Atom configuration. Thoughts?

/cc @chenglou @zaaack

On auto-save cursor jumps to the bottom

Every time I autosave and refmt my code it jumps to the bottom of the file.

Atom editor version: 1.33.1
$ refmt --version gives me Reason 3.3.3

This also happens on atom-beta for me.

Is it because i'm using vim-mode-plus? Quite obnoxious so definitely would like to fix it πŸ˜…πŸ˜Š

Why separate toolchain paths by a comma when JSON arrays are available?

So... this isn't really a bug, more of a question because it seems weird to me that you would want to use something like this

ide-reason.json:

{
  "toolchainPath": "/path/to/toolchain/one,/path/to/toolchain/two"
}

instead of more idiomatic

{
  "toolchainPath": [ "/path/to/toolchain/one", "/path/to/toolchain/two" ]
}

The first one is shorter by a few characters, sure, but it's not obvious what that means from a glance. The second one is just intuitive in what it means.

The first one also has the problem with paths that contain a comma (and while I will agree it's not the best idea to use a comma in paths, it's perfectly possible), while the second one is perfectly robust for any paths you could think to throw at it.

(changing this will also have a side effect of making code in joinEnvPath less WAT -- it takes a moment to figure out that .join(',').split(',') isn't idempotent there -- also probably a reasonable idea to drop trim, because directories with spaces on either side are perfectly possible, if somewhat weird)

Types inside of functors are difficult to read

πŸ‘‹

I don't know if this is the correct repo to write this up in.

When using functors, any types that inside of that functor don't give their types on mouse-over. They give the entire functor's type which could be very large and difficult to read.

Ex:
image

Generating interface files inside a monorepo (multiple bsconfig.json)

First off, thanks for this awesome package! I love using Atom with Reason!

The project I'm currently working on uses a monorepo and as such has a few different sub-packages, each with it's own bsconfig.json. When I try to auto-generate an interface file, it tries to do it relative to the project/monorepo root instead of the package's root and fails.

I'm not all that familiar with Atom's API for packages, but after a little poking around it'd seem like you'd need a way to change the default behavior of basing all the path's off of the project root. I wonder if there'd be a way to recursively search up the file structure from the location of where the action was invoked and search for a lib folder and/or bsconfig and then stop there? I know Babel has logic like that for finding a .babelrc file. Or maybe there's another approach that'd work better?

I'd be up for giving it shot with a little direction about the preferred approach because I'd love to be able to use this feature! Thanks again.

Does not show type information for functions in ReasonReact

When I move my mouse to stringToElement in code ReasonReact.stringToElement("hello"), it just show 'a instead of (string) => 'a, is it intended?
Or I'm missing something in configuration?

atom --version
Atom : 1.21.0
Electron: 1.6.9
Chrome : 56.0.2924.87
Node : 7.4.0

apm list:
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

Reason 3.0.3 @ 31f614c # refmt --version
2.0.0 # bsb -version
The OCaml toplevel, version 4.06.0 # ocaml --version

opam list:
merlin 3.0.5
ocp-indent 1.6.1
reason 3.0.3

Errors in PATH handling which break everything horribly

joinEnvPath(others)

should be

 joinEnvPath(...others) 

otherwise, an array gets converted to a string, PATH gets a spurious , at the beginning and everything breaks horribly.

Also, while on topic, why do you need Object.create in

env: Object.assign({}, Object.create(process.env), {

?
I think it does more harm here, since suddenly env variables are not own properties, as those should be, but are prototype properties.

`Uncaught Error: Connection is closed.` on invalid enum field in config

Sometimes when I type not fast enough in diagnostics.tools field (e.g. bsb, merl) I get hard error Uncaught Error: Connection is closed..

Something to investigate.


Atom: 1.24.1 x64
Electron: 1.6.16
OS: Mac OS X 10.12.6
Thrown From: ide-reason package 0.1.12

Stack Trace

Uncaught Error: Connection is closed.

At /Users/Alex/.atom/packages/ide-reason/node_modules/vscode-jsonrpc/lib/main.js:613

Error: Connection is closed.
    at /packages/ide-reason/node_modules/vscode-jsonrpc/lib/main.js:138:28)
    at throwIfClosedOrDisposed (/packages/ide-reason/node_modules/vscode-jsonrpc/lib/main.js:613:19)
    at Object.sendNotification (/packages/ide-reason/node_modules/vscode-jsonrpc/lib/main.js:667:13)
    at LanguageClientConnection._sendNotification (/packages/ide-flowtype/node_modules/atom-languageclient/build/lib/languageclient.js:341:19)
    at LanguageClientConnection.didChangeConfiguration (/packages/ide-flowtype/node_modules/atom-languageclient/build/lib/languageclient.js:120:14)
    at _disposable.add.atom.config.observe (/packages/ide-flowtype/node_modules/atom-languageclient/build/lib/auto-languageclient.js:262:36)
    at /Applications/Atom.app/Contents/Resources/app/src/config.js:676:22
    at /Applications/Atom.app/Contents/Resources/app/src/config.js:693:26
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:25:20)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:141:34)
    at Config.module.exports.Config.emitChangeEvent (/Applications/Atom.app/Contents/Resources/app/src/config.js:884:35)
    at Config.module.exports.Config.setRawValue (/Applications/Atom.app/Contents/Resources/app/src/config.js:670:25)
    at Config.module.exports.Config.set (/Applications/Atom.app/Contents/Resources/app/src/config.js:248:20)
    at SettingsPanel.set (/Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/settings-panel.js:237:27)
    at /Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/settings-panel.js:315:24
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:25:20)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:141:34)
    at TextBuffer.module.exports.TextBuffer.emitDidStopChangingEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:1724:26)
    at later (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/helpers.js:28:13)

Non-Core Packages

advanced-open-file 0.16.8 
atom-ide-ui 0.9.3 
autocomplete-modules 1.12.0 
color-picker 2.2.5 
cursor-history 0.13.1 
custom-title 1.0.1 
file-icons 2.1.17 
flex-tool-bar 1.1.0 
git-blame 1.6.0 
go-plus 5.8.2 
go-signature-statusbar 1.2.3 
highlight-selected 0.13.1 
ide-flowtype 0.22.1 
ide-reason 0.1.12 
ide-typescript 0.7.5 
language-applescript 0.3.0 
language-babel 2.84.0 
language-docker 1.1.8 
language-jade 0.7.3 
language-nginx 0.8.0 
language-ocaml 1.9.5 
language-pug 0.0.22 
language-reason 0.0.4 
language-slim 1.0.0 
language-swift 0.5.0 
linter 2.2.0 
linter-docker 0.3.0 
linter-eslint 8.4.1 
linter-scss-lint 3.1.1 
linter-stylelint 4.2.0 
maximize-panes 0.2.0 
minima-syntax 0.0.2 
minima-ui 0.0.4 
nice-index 1.0.5 
pg-formatter 0.0.1 
prettier-atom 0.51.0 
reason-refmt 0.3.3 
set-syntax 0.4.0 
todo-show 2.2.0 
tool-bar 1.1.6 
vim-mode-plus 1.30.0 
zentabs 0.8.9 

TextBuffer.setTextInRange is deprecated.

The undo option is deprecated. Call groupLastChanges() on the TextBuffer afterward instead.

TextBuffer.setTextInRange (<embedded>:11:487488)
ReasonMLLanguageClient.<anonymous> (/Users/Alex/.atom/packages/ide-reason/lib/main.js:400:25)
Generator.next (null:null:null)
fulfilled (/Users/Alex/.atom/packages/ide-reason/lib/main.js:4:58)
<unknown> (null:null:null)

Error generating Ocaml interface

$ atom -v
Atom : 1.34.0
Electron: 2.0.16
Chrome : 61.0.3163.100
Node : 8.9.3

$ apm show ide-reason
ide-reason
β”œβ”€β”€ 1.1.5

error
debug

ide-reason calculates a bad path for the .cmi file. I think the root problem is in the findRoot function.

$OCAMLLIB': -c: line 0: unexpected EOF while looking for matching `'' $OCAMLLIB': -c: line 1: syntax error: unexpected end of file

Hello,

I try to use ide-reason with atom but can't correctly.

step to reproduce:
image
click πŸ‘†
close atom
open cmd.exe as administrator
travel to my directory and execute atom .

image

Ok so it don't work

I have tried esy atom.cmd .

image

they are text hidden:
Unix.Unix_error(_, "opendir", "")Raised by primitive operation at file "unix.ml", line 360, characters 32-73 Called from file "util/Files.re", line 185, characters 9-28 Called from file "src/analyze/State.re", line 445, characters 4-58 Called from file "list.ml", line 88, characters 20-23 Called from file "src/analyze/State.re", line 442, characters 26-446 Called from file "src/analyze/State.re", line 602, characters 24-75 Called from file "src/lsp/NotificationHandlers.re", line 74, characters 24-72 Called from file "src/lsp/BasicServer.re", line 84, characters 11-35

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.