Giter Club home page Giter Club logo

reason-tools's People

Contributors

chenglou avatar dorafmon avatar dvisztempacct avatar fson avatar glennsl avatar jordwalke avatar rickyvetter avatar vramana avatar yunxing 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  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  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  avatar

Watchers

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

reason-tools's Issues

looks like ref operator not converting correctly to refmt:3

Its converting

let newItem () => {
  lastId := !lastId + 1;
  {id: !lastId, title: "Click a button", completed: true};
};

to

let newItem = () => {
  :=(lastId, lastId^ + 1);
  {id: lastId^, title: "Click a button", completed: true}
};

when maybe it should be:

let newItem = () => {
  lastId := lastId^ + 1;
  {id: lastId^, title: "Click a button", completed: true}
};

See: reason-tools share link

Bad shrinkwrap - npm install: EBADPLATFORM

I get this error when I try to do npm install

npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! notsup Valid OS:    darwin
npm ERR! notsup Valid Arch:  any
npm ERR! notsup Actual OS:   linux
npm ERR! notsup Actual Arch: x64

This is due to being shrinkwrapped on a mac. Removing the "fsevents" tree from "npm-shrinkwrap.json" seems to work. As would removing "npm-shrinkwrap.json" I suppose, but that would kind of defeat the purpose of shrinkwrapping. I don't know if npm is able to fix the missing fsevents on your machine though.

Feature request: An easy way of reporting webpages

For the following cases:
- Webpages that aren't converting properly

  • Webpages that should be converted but aren't
  • (Eventually perhaps) webpages that are successfully converted manually.

(Then we just need to devise some machine learning algorithm to intelligently detect and convert the pages based on "big data", and we're home free!)

Some pages get all their code listings turned into one-liners

Which kinda sounds like a good thing, but it's really not. See this example:
http://ounit.forge.ocamlcore.org/api-ounit/index.html

The code listings here use <code> elements, which are really inline elements (but who cares about semantics, it's not like these'll ever be interpreted by a machine, right?). They are however surrounded (not wrapped) by empty <pre> elements (WTF?). This can probably be used to detect these special snowflakes and replace the <code> elements with <pre>s.

Better error messages

It would be nice to have error messages other than just "Syntax error on line 1".

Pipe operator formatting

It'll be better if formatting for pipe chaining will be like this

let prt_elems elems =>
  elems
  |> String.split on::':'
  |> List.dedup compare::String.compare
  |> List.iter f::print_endline;

than this

let prt_elems elems =>
  elems |> String.split on::':' |> List.dedup compare::String.compare |>  List.iter f::print_endline;

`npm build` does not produce `extension` folder

After I run npm build I got this:

>tree _build
_build
├── ocamlfind
│   ├── bin
│   ├── doc
│   ├── etc
│   ├── lib
│   │   ├── findlib.conf
│   │   └── ocaml -> /Users/bobfang/projects/reason-tools/node_modules/ocaml/lib/ocaml
│   ├── man
│   ├── sbin
│   └── share
└── refmt
    ├── app.byte
    ├── app.js
    ├── app.map
    ├── reasonToolsRefmt.cmi
    ├── reasonToolsRefmt.cmo
    └── reasonToolsRefmt.cmt

And there is no error message. Any reason you can guess? Thanks!

Add visual indicator to show if the code is currently displayed in Ocaml or Reason syntax

Currently, when I click on the Re button provided by the extension, it displays the same, whether the current syntax is Ocaml or Reason.
image

I would suggest making the button have some visual indicator of whether the displayed code is Ocaml or Reason.
For example, it might stay highlighted if the code is Reason, and have the current state if the code is Ocaml.

retop

I'd like to get retop working inside of the popup. Also would be cool to add a dev tools section that looked like the chrome console that could run Reason.

Chrome store assets

Chrome store wants a single 440x280 and 1-5 1280x800 or 640x400 screen shots. A better descirption would probably be nice as well!

Move extension logic to Reason

I'd like for this extension to be entirely in Reason. Unfortunately, I'm not super excited about jsoo and I was having trouble setting up bs to work with this project.

Build fails: cannot find reason-react

I'm trying to build the extension, but I'm getting an error cannot find reason-react:

> npm run build:ext

> [email protected] build:ext /Users/ville/Projects/reason-tools
> eval $(dependencyEnv) && nopam && bsb -make-world


/Users/ville/Projects/reason-tools/node_modules/dependency-env/.bin/dependencyEnv.js:167
    throw err;
    ^
cannot find reason-react in /Users/ville/Projects/reason-tools,/Users/ville/Projects/reason-tools
sh: Failed: command not found

npm ERR! Darwin 16.5.0
npm ERR! argv "/Users/ville/.nvm/versions/node/v7.8.0/bin/node" "/Users/ville/.nvm/versions/node/v7.8.0/bin/npm" "run" "build:ext"
npm ERR! node v7.8.0
npm ERR! npm  v4.2.0
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! [email protected] build:ext: `eval $(dependencyEnv) && nopam && bsb -make-world`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the [email protected] build:ext script 'eval $(dependencyEnv) && nopam && bsb -make-world'.

The problem seems to be that the reason-react version defined in the shrinkwrap file installs a package named rehydrate (the old name of reason-react), so dependencyEnv doesn't find it. I tried to upgrade to the latest [email protected], which uses the new name, but ran into other dependency issues (some inconsistencies between package.json and npm-shrinkwrap.json). A little help getting the project to build would be appreciated.

URL pattern Blacklist/Whitelist

  • Phase 1: Maintain a blacklist/whitelist of url patterns for pages it doesn't properly "detect".

  • Phase 2: Add UI to let users add their own url patterns to these lists (with intelligent suggestions)

  • Phase 3: Allow users to report/submit the patterns they add to either list, either as they add them, in bulk or as a configurable option to automatically submit (re #32)

Conversion bugs meta issue

ocamldoc link preservation

Current refmt of ocamldoc removes markup, so the internal linking gets lost. ideally we'd keep the correct tokens linked.

Streamline build process

Ideally there would be a single process watching and we'd have an incremental build flow from Reason into JS.

Right now, Rebel can't watch on OSX and there isn't a great way to integrate webpack and Rebel. Looking into ideas there.

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.