Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ElmCast/elm-oracle
Query for information about values in elm source files.
https://github.com/ElmCast/elm-oracle
Last synced: 3 months ago
JSON representation
Query for information about values in elm source files.
- Host: GitHub
- URL: https://github.com/ElmCast/elm-oracle
- Owner: ElmCast
- Created: 2015-07-06T00:21:37.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-10-17T01:50:08.000Z (over 7 years ago)
- Last Synced: 2024-10-07T04:23:17.275Z (4 months ago)
- Language: JavaScript
- Size: 214 KB
- Stars: 150
- Watchers: 12
- Forks: 16
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# elm-oracle
Elm Oracle intends to be a standalone program that can be used by all editor plugins to query information about a project's source code.
## Installation
You need [node](http://nodejs.org) to install and run elm-oracle.
```
npm install -g elm-oracle
```## Usage
```
elm-oracle FILE query
Query for information about a token in an Elm file.Available options:
-h,--help Show this help text.
```The return value will be a json array of json objects with information for each value that starts with the query string.
`elm-oracle Main.elm Signal.message` might return:
```json
[
{
"name": "message",
"fullName": "Signal.message",
"href": "http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#message",
"signature": "Address a -> a -> Message",
"comment": "Create a message that may be sent to a `Mailbox` at a later time.\n\nMost importantly, this lets us create APIs that can send values to ports\n*without* allowing people to run arbitrary tasks."
}
]
```Whereas `elm-oracle Main.elm Signal.m` might include Signal.mailbox, Signal.map, etc.
If elm-oracle encounters errors, it will return a json array or json objects like:
```json
[{"error": "You did not supply a source file or query."}]
```## Projects that use elm-oracle
* Vim: [elm-vim](https://github.com/elmcast/elm-vim)
* Atom: [atom-elm](https://github.com/edubkendo/atom-elm)
* Emacs: [elm-mode](https://github.com/jcollard/elm-mode)
* Sublime: [Elm.tmLanguage](https://github.com/deadfoxygrandpa/Elm.tmLanguage)
* LightTable: [elm-light](http://github.com/rundis/elm-light)
* NeoVim: [deoplete-elm](https://github.com/pbogut/deoplete-elm)