Giter VIP home page Giter VIP logo

elm-light's Introduction

Elm LightTable plugin

Elm language plugin for Light Table

elm light

Installation

Install using the Light Table plugin manager. Alternatively you can clone it into $LT_USER_HOME\plugins. (If you know what you are doing, this is a great way to try out the latest and greatests not yet released !)

Preconditions

  • LIghtTable 0.8-alpha or higher is required

  • You will need to have the elm-platform (there is also a npm installer out there) installed and the following should be in your path:

  • For all commands/features you will need to have a project folder with a elm-package.json file

ℹ️
Tested with Elm 0.18.0 and Elm 0.17.1 on OS/X 10.9.5, Ubuntu 14.04 and Windows 10.

Documentation

Please see the Guide for a comprehensive documentaiton on how to use the plugin.

Resources

Feature demos

Testing

elm light test teaser

Inline docs and jump to

ast teaser

Type aliases and records even

elm light type alias

Yeah some destructuring support too !

destructuring

Repl

elm light repl

Package Manager

Install package and start using at once

pck inst and use

Package docs

Preview package documentation inside Light Table. Updates on save. package docs

Module graph

module graph

Contributing

Pull requests are most welcome. Please do not include the transpiled files (_compiled) in the PR.

History

  • 0.5.1 Better destructuring support and a few bugfixes

    • Support jump to, docs and autocompletions for common param destructuring cases

    • Enhancement: Upgrade highlight.js for more accurate source highlighting in docs

    • Enhancement: Adjust test folder default when initializing new test project

    • Bugfix: Handle single-char region errors (previously wouldn’t show up)

    • Bugfix: Package doc preview now loads correct doc when multiple are generated by elm-make due to module deps

  • 0.5.0 Elm Test support is back (requires Elm 0.18).

    • Features to set up new test project, run one, a modules or all tests in your project. Test results display in a visual test runner + in the console.

    • Show popup if the plugin isn’t able to find the elm binaries

    • Show errors when there is a mismatch between your project version and the currently install Elm version on your machine

    • Show popup if you try to use elm-format related features, but the plugin is unable to find the elm-format executable

    • Attempted to provide better support for node installed Elm executables on Windows (using cross-spawn)

    • Fixed a regression with the interactive repl features not working

    • Adjusted the autocompleter for changes in default imports in Elm 0.18

  • 0.4.2

    • Fixed a bug with faulty/erronous events from chokidar or it’s underlying libs causing issues on Windows

  • 0.4.1

    • Fixed manual connect bug

    • Auto completions for type alias params in function bodies

    • Jump to and docs for type alias params in function bodies

  • 0.4.0 Introduction of AST based features. The plugin now parses your project Elm files (and 3rd party packages too)

    • Added features

      • Find usages

      • Inline doc now renders the documentation markdown (your own docs included)

      • You can Jump to definition and back

      • Autocompleter suggests both for 3rd party imports as well as for you project imports

      • Expose/unexpose declarations for a module

      • Quick import module

      • Sort imports

    • Removed features

      • Elm test related features have temporarily been removed. They will be rewritten to support the totally rewritten elm-test package

      • Elm reactor debug command has been removed as elm-reactor doesn’t support debugging in 0.17

  • 0.3.8 Support code folding, fix autoclose brackets issue, scrollposition after format improvement

  • 0.3.7 Improved autocompleter implementation and added quick-fixes feature to Linter messages

  • 0.3.6 Added package doc preview feature

    • Fixed bug with lint display at bottom of editor getting cut off

  • 0.3.5 Added module browser

    • Bugfix: Display make errors (both make and linting)

  • 0.3.4 Updated to supprt elm-format 0.2-alpha

    • Added format buffer (keeps unsaved changes) and format expression commands

  • 0.3.3 Fix compatibility with LT 0.8.1. Also tweaked the autocompletion to be a little faster and more accurate.

  • 0.3.2 Module aware autocomplete and remove leading pipes from repl results

  • 0.3.1 Added an inline project dependency graph (using d3)

  • 0.3.0 Added windows support. See github release notes for details

  • 0.2.0 Improved linting, introduced test support and support for elm-format

  • 0.1.3 Bugfix: Forgot to include react.js (used for rendering package ui)

  • 0.1.2 Package manager and 0.16.0 fix

    • UI for managing your project packages.

    • 0.16.0 fix: Remove ansi color codes from errors and warnings shown inline

  • 0.1.1 Maintenance release:

    • Feature to select top level expressions

    • Eval in repl with no selection automatically selects top level expression based on cursor position

    • Syntax highlight multiline strings """

    • Allow user to select to browse file in reactor with or without debugger

    • Fix: Allow reuse of released reactor ports

    • Add tag :editor.elm.common to allow users to configure common behaviors/commands for repl and editors more easily

  • 0.1.0 Initial release

License

MIT, same as Light Table. See LICENSE.md for details.

elm-light's People

Contributors

gitter-badger avatar jeffreyjw avatar rundis 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

elm-light's Issues

Cannot connect

I don't know if it's a permissions issue, or a path issue, but I get this failure:

bootstrap.js[17085]:    
hello world
bootstrap.js[17085]:    
:TEST

Error: read ECONNRESET
    at exports._errnoException (util.js:837:11)
    at TCP.onread (net.js:544:26)

Recently, I started getting an extra error

Failed to load resource: net::ERR_CONNECTION_TIMED_OUT: http://app.kodowa.com/_fetch

Module pattern-match function bindings cause AST error

In my wedding site repo I recently converted to elm-css.

The elm-css guide advises that I acquire the id, class, and classList helpers like so:

{ id, class, classList } =
    Html.CssHelpers.withNamespace "dreamwriter"

However when I use this in LightTable with elm-light...

wedding/src/Components/Party.elm
{:message "Expected \"(\", \"--\", \"import\", \"infix\", \"infixl\", \"infixr\", \"port\", \"type\", \"{-\", \"{-|\", [a-z], comment, end of input, newline or whitespace but \"{\" found.", :expected [{:type "literal", :value "(", :description "\"(\""} {:type "literal", :value "--", :description "\"--\""} {:type "literal", :value "import", :description "\"import\""} {:type "literal", :value "infix", :description "\"infix\""} {:type "literal", :value "infixl", :description "\"infixl\""} {:type "literal", :value "infixr", :description "\"infixr\""} {:type "literal", :value "port", :description "\"port\""} {:type "literal", :value "type", :description "\"type\""} {:type "literal", :value "{-", :description "\"{-\""} {:type "literal", :value "{-|", :description "\"{-|\""} {:type "class", :value "[a-z]", :description "[a-z]"} {:type "other", :description "comment"} {:type "end", :description "end of input"} {:type "other", :description "newline"} {:type "other", :description "whitespace"}], :found "{", :location {:start {:offset 241, :line 10, :column 1}, :end {:offset 242, :line 10, :column 2}}, :name "SyntaxError"}

Please advise

AST Error on valid file

Example code:

import Html exposing (text)
main =
  text "Hello, World!"

Starting elm-light 0.4.2 connection in Light Table 0.8.1 with elm 0.17.1 gives this in the console:

{:message "Expected "effect", "module" or "port" but "i" found.", :expected [{:type "literal", :value "effect", :description ""effect""} {:type "literal", :value "module", :description ""module""} {:type "literal", :value "port", :description ""port""}], :found "i", :location {:start {:offset 0, :line 1, :column 1}, :end {:offset 1, :line 1, :column 2}}, :name "SyntaxError"}

The same file works perfectly in elm reactor.

Feature request: highlighting

Hey! I've been using your plugin a lot and absolutely love it; wiring up Cmd-S to elm linting makes a great environment to work in! One request that I have, if at all possible, is to somehow highlight the bits that are in yellow in the Elm output that highlight exactly where the error is. Quite often I find that I have to go to the console for long error messages to find out which bit is really throwing the error.

If its complicated to embed colours in Lighttable then even putting some other easily spotted indicator like the @ symbol around the offending item would be fine, e.g.

The type annotation for `view` does not match its definition.
The type annotation is saying:

    Signal.Address Action
    -> { students :
             List
                 { name : String
                 , pouchAttachments :
                       Maybe
                           { photo : { content_type : String, data : String } }
                 , pouchId : Maybe String
                 , pouchRev : Maybe String
                 }
    , units : List Unit.Unit
    }
    -> { ..., currentlyEditingStudent : @@ Maybe Student.Student @@ }
    -> Html

But I am inferring that the definition has this type:

    Signal.Address Action
    -> { students :
             List
                 { name : String
                 , pouchAttachments :
                       Maybe
                           { photo : { content_type : String, data : String } }
                 , pouchId : Maybe String
                 , pouchRev : Maybe String
                 }
    , units : List Unit.Unit
    }
    -> { ..., currentlyEditingStudent : @@ Editable @@ }
    -> Html

:elm.browse doesn't work if allready opened

If i open a file in the internal browser with :elm.browse (per keymap) it works.
If i than make changes on the elm file and try again to open it via :elm.browse it doesn't reload the browser tab. The browser tab still contains the old file.

If i close the tab manually and do :elm.browse it works. But i don't think that this is the desired behavior.

Keymap: [:editor.elm "ctrl-b" :elm.browse]
I'm using a fresh installation with elm 0.18, lighttable 0.8.1, elm-light 0.5, node v6.9.1 on Win10.

Bar at the left overlaps text

At the left side of the editor window I have a coloured column/bar which overlays the first characters in the editor.

Looks a bit like the line number bar but without the numbers.
I have turned line numbers off in the settings using.

So I don't know why this bar is therein first place and then it overlays the text.
Any help is appreciated.

See screenshot:
lighttable-bar2

Unable to connect to a project

Hi,
when I try to add connection to an elm project I get the following error:

We couldn't connect.

Looks like there was an issue trying to connect to the project. Here's what we got:
/home/dusky/.config/LightTable/plugins/elm_light/node/elm-client.js:161
function send(msg) { process.send(msg); }
                             ^

TypeError: process.send is not a function
    at send (/home/dusky/.config/LightTable/plugins/elm_light/node/elm-client.js:161:30)
    at startMessageListener (/home/dusky/.config/LightTable/plugins/elm_light/node/elm-client.js:349:3)
    at /home/dusky/.config/LightTable/plugins/elm_light/node/elm-client.js:409:9
    at Socket.<anonymous> (/home/dusky/.config/LightTable/plugins/elm_light/node/elm-client.js:50:7)
    at emitOne (events.js:77:13)
    at Socket.emit (events.js:169:7)
    at readableAddChunk (_stream_readable.js:146:16)
    at Socket.Readable.push (_stream_readable.js:110:10)
    at Pipe.onread (net.js:523:20)

Any suggestions? Your help is greatly appreciated.

Error inside LightTable

I have all of the requirements installed and elm at v0.15.1 installed with the Mac installer.

When I run any elm releated commands in LightTable I get the same error.

My LightTable is freashly installed on version 0.7.2, running OSX 10.11.1.

The error message is the following when running elm lint-

We couldn't connect.

Looks like there was an issue trying to connect to the project. Here's what we got:
events.js:141
      throw er; // Unhandled 'error' event
      ^

Error: spawn elm-reactor ENOENT
    at exports._errnoException (util.js:837:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
    at onErrorNT (internal/child_process.js:344:16)
    at doNTCallback2 (node.js:437:9)
    at process._tickCallback (node.js:351:17)

My folder structure is

├── Main.elm
├── elm-package.json
├── elm.js
└── elmclient.log

And the content of my elm-package.json is

{
    "version": "1.0.0",
    "summary": "helpful summary of your project, less than 80 characters",
    "repository": "https://github.com/user/project.git",
    "license": "BSD3",
    "source-directories": [
        "."
    ],
    "exposed-modules": [],
    "dependencies": {
        "elm-lang/core": "2.1.0 <= v < 3.0.0",
        "evancz/elm-html": "4.0.1 <= v < 5.0.0",
        "evancz/start-app": "2.0.1 <= v < 3.0.0"
    },
    "elm-version": "0.16.0 <= v < 0.17.0"
}

PEG grammar available?

Good stuff!!! Amazing job :)
I've been researching how to create an indentation based grammar. Any chance you can share the core of your grammar to work from?
Thanks

Support eval all in REPL

cmd (strg) + shift + enter should evaluate the current file not only the current line.
At the moment, it doesn't do anything.

I'm not sure if this is a elm-light or a light table problem or if this should normaly work and just doesn't on my pc.

I'm using a fresh installation with elm 0.18, lighttable 0.8.1, elm-light 0.5, node v6.9.1 on Win10 with german keymap.

Error checking elm version constraint

Hi,

i have elm version 0.18.0 in my windows 10. and i am getting below error while connecting to elm in lightable.

"Error checking elm version constraint"

Invalid behavior: :lt.plugins.elm-light/elm-doc-start

On a fresh install of Light Table (0.8.1) when I Toggle docs I get this error in the console... I tried uninstall and reinstall but the same error.

Any ideas?

TypeError: Illegal invocation
    at get_elm_version (/home/oluijks/.config/LightTable/plugins/elm_light/elm-light_compiled.js:188:46)
    at valid_project_elm_version (/home/oluijks/.config/LightTable/plugins/elm_light/elm-light_compiled.js:307:159)
    at try_connect (/home/oluijks/.config/LightTable/plugins/elm_light/elm-light_compiled.js:17251:78)
    at find_client (/home/oluijks/.config/LightTable/plugins/elm_light/elm-light_compiled.js:17267:16)
    at lt.plugins.elm_light.clients.get_eval_client.get_eval_client__3 (/home/oluijks/.config/LightTable/plugins/elm_light/elm-light_compiled.js:17310:54)
    at lt.plugins.elm_light.clients.get_eval_client.get_eval_client (/home/oluijks/.config/LightTable/plugins/elm_light/elm-light_compiled.js:17320:27)
    at lt.plugins.elm_light.clients.get_eval_client.get_eval_client__2 (/home/oluijks/.config/LightTable/plugins/elm_light/elm-light_compiled.js:17300:68)
    at lt.plugins.elm_light.clients.get_eval_client.get_eval_client (/home/oluijks/.config/LightTable/plugins/elm_light/elm-light_compiled.js:17318:27)
    at ast_pass_through (/home/oluijks/.config/LightTable/plugins/elm_light/elm-light_compiled.js:19009:159)
    at Function.__BEH__elm_doc_start (/home/oluijks/.config/LightTable/plugins/elm_light/elm-light_compiled.js:19043:47)

Error parsing some files in elm-mdl

First of all thanks for an awesome plugin! Elm is a joy, but having support like inline documentation and autocomplete makes it even more awesome :).

I have noticed a problem when elm-light parses a few files from elm-mdl. The error looks like this:

#<ERROR parsing package source: /home/ubuntu/elm-app/elm-stuff/packages/debois/elm-mdl/8.1.0/src/Material/Button.elm
SyntaxError: Expected "!", "#", "$", "%", "&", "*", "+", "-", "--", ".", "/", ":", "<", "=", ">", "?", "@", "^", "{-", "|", "~", newline or whitespace but "g" found.
  >

I suspect some unexpected character encoding, but the elm compiler does not seem to complain.

/Bo

elm-lang.org connection and windows debug

Hi, sorry to use this as help forum. I probably deleted elm-lang.org connection and I don't know how to add it back (as seen on the video). I can connect to my project, but connection to http://elm-lang-org is not shown. I also miss a lot of docs (I can find just some of them).
Also, at home I use windows (7 and 10), and debug is not working. At work I use ubuntu and debug is working fine.
I use latest version as for today is 0.3.2. Thanks in advance for any reply.
But I must say that your plugin is beautiful thing, thank you so much!!!

throw new TypeError('Path must be a string. Received ' +

Environment:

  • Windows10
  • Elm 0.17.1 installed with exe in path without spaces
  • Light Table 0.8.1
  • elm-light 0.4.1
#<path.js:8
    throw new TypeError('Path must be a string. Received ' +
    ^

TypeError: Path must be a string. Received null
    at assertPath (path.js:8:11)
    at Object.win32.relative (path.js:257:3)
    at FSWatcher.<anonymous> (C:\Users\frolow\AppData\Roaming\LightTable\plugins\elm_light\node\elm-client.js:209:24)
    at emitThree (events.js:97:13)
    at FSWatcher.emit (events.js:175:7)
    at C:\Users\frolow\AppData\Roaming\LightTable\plugins\elm_light\node_modules\chokidar\lib\nodefs-handler.js:54:5
    at Array.forEach (native)
    at fsWatchBroadcast (C:\Users\frolow\AppData\Roaming\LightTable\plugins\elm_light\node_modules\chokidar\lib\nodefs-handler.js:53:36)
    at FSWatcher.handleEvent (C:\Users\frolow\AppData\Roaming\LightTable\plugins\elm_light\node_modules\chokidar\lib\nodefs-handler.js:26:5)
    at emitTwo (events.js:87:13)
>

REPL feature not working due to incorrect loading of behaviors

Currently the REPL feature isn't working. IE when you try to eval an expression, nothing happens. No results and no log messsages/errors.

It seems the behaviours for code eval are loaded too early during bootstrap.

Possible temp workaround:

  • Add the plugin folder to your LT workspace. On mac that's something like: /Users/mrundberget/Library/Application Support/LightTable/plugins/elm_light
  • Open the file elm-light.behaviors
  • Save the file (no changes necessary). This will reload the wiring, and seems to work on my machine (tm).

This temp workaround will have to be reapplied if you restart LT.

ReferenceError: dialogs is not defined

I am getting the following error when I click on Connect: Add Connection.
I just installed LightTable version 0.8.1 on Mac OS.

ReferenceError: dialogs is not defined at eval (/Users/abhinav/Library/Application%20Support/LightTable/plugins/elm_light/elm-light_compiled.js:17047:346) at HTMLLIElement.<anonymous> (file:///Applications/LightTable.app/Contents/Resources/app/core/node_modules/lighttable/bootstrap.js:32898:108)

Can't start connection (windows) (lt 0.81) (elm-light 0.4.2)

Hi I am receiving the following error when trying to start a connection:

cljs
%5CUsers%5CSVShah%5CAppData%5CRoaming%5CLightTable%5Cplugins%5Celm_light%5Celm-light_compiled.js[17068]:    
out: error starting repl
%5CUsers%5CSVShah%5CAppData%5CRoaming%5CLightTable%5Cplugins%5Celm_light%5Celm-light_compiled.js[17068]:    
out: { [Error: spawn elm-repl ENOENT]
  code: 'ENOENT',
  errno: 'ENOENT',
  syscall: 'spawn elm-repl',
  path: 'elm-repl',
  spawnargs: 
   [ '--interpreter',
     'C:\\Users\\SVShah\\Downloads\\programs\\lighttable-0.8.1-windows\\LightTable.exe' ] }

Here is my (truncated) output of checking the PATH from within lighttable. The important part being that the last entry in the PATH is the directory for elm-repl (and other elm utilities).

WARNING: unsigned-bit-shift-right already refers to: #'clojure.core/unsigned-bit-shift-right in namespace: cljs.core, being replaced by: #'cljs.core/unsigned-bit-shift-right
user.cljs[eval1][33]:   
...;C:\Users\SVShah\AppData\Local\atom\bin;C:\Users\SVShah\AppData\Roaming\npm

When I execute where elm-repl on the windows command-line, I get:

C:\Users\SVShah>where elm-repl
C:\Users\SVShah\AppData\Roaming\npm\elm-repl
C:\Users\SVShah\AppData\Roaming\npm\elm-repl.cmd

Any thoughts on how to fix this? (I apologize in advance if this is a very rudimentary question). I saw a similar issue, #17, but it was closed without resolution.

can see red underline, but no error message

elm-light-error-not-showing

Hi,

I am using elm-light 0.3.0 with lighttable-0.8.0-linux (Ubuntu 1404). I can see the red line as you can see in the screenshot, however I can't figure out how to show the error message. In the Readme file the error message show up as a red rectangle that covers the text below it. How do I make that appear? Mousing over the line or clicking on it does not seem to have an effect. There is also nothing showing in the console (in the screenshot, the console is open).

I noticed that when run the repl on a line (CTRL+ENTER), an error does show. You can see this here:
elm-light-repl-error-showing

I was quite happy with the big red error messages in 0.1x, so if this looks like it might be a difficult problem to fix (maybe it's platform specific), I would be very happy if there was a configuration flag that enabled the "space filling" style of error messages as in 0.1.x and like the repl error above.

Thanks for making this awesome plugin!

Feature request: types

It would be incredibly useful if you could highlight something in the editor and run a command that pops up what type the Elm compiler has inferred for it. Is this even conceptually possible?

Linter: error details at the bottom of a file

After linting a file with an error on one of the last lines (of the screen), if I run the command Linter: Show details at cursor the error description is cut like this for example:

Cannot find variable `updateR`
Maybe you want one of the following?

Support indentation in Codemirror mode

Currently if you try to format/smart-indent elm code all entered indentation is lost.
If someone with opinions with regards to how elm code should be indented and the js foo to grok codemirror modes feel the urge I'm more than willing to accept pull requests !

Support Elm 0.16

Elm 0.16 now has some color codes in the results from the compiler which either need to be stripped out or (even better!) colored in inline.

Here is an example of some 0.16 output with the current version of the plugin:

The type annotation for `update` does not match its definition.
The type annotation is saying:

    Action
    -> { ..., �[33musername�[0m : ... }
    -> ( { ..., �[33musername�[0m : ... }, Effects.Effects �[33ma�[0m )

But I am inferring that the definition has this type:

    Action
    -> { a | ..., �[33musernames�[0m : ... }
    -> ( { a | ..., �[33musernames�[0m : ... }, Effects.Effects �[33mb�[0m )

�[4mHint�[0m: I compared the record fields and found some potential typos.

    �[33musername�[0m <-> �[33musernames�[0m

[Mac OSX]: Can't start connection

I tried to follow along the screencast:

Installed elm and light-table through brew.

I started the simple project with:

elm package install

and then added a hello.elm file.

When I try to Add connection -> Elm and select the root of the project I get the following error:

elm-light_compiled.js[9207]:    
out: error starting repl
elm-light_compiled.js[9207]:    
out: { [Error: spawn elm-repl ENOENT]
  code: 'ENOENT',
  errno: 'ENOENT',
  syscall: 'spawn elm-repl',
  path: 'elm-repl',
  spawnargs: 
   [ '--interpreter',
     '/opt/homebrew-cask/Caskroom/lighttable/0.8.1/lighttable-0.8.1-mac/LightTable.app/Contents/Frameworks/Electron Helper.app/Contents/MacOS/Electron Helper' ] }

Any hint what might go wrong?

Code folding

Loving the plugin!
Any chance you'd consider code folding for functions?
e.g

newWeapon : WeaponType -> Model
newWeapon weaponType =
    case weaponType of
        BrokenSword ->
            newItem (Weapon { class = 0 }) "Broken Sword" 1000 5000 0 25 "BrokenSword"

        Club ->
            newItem (Weapon { class = 1 }) "Club" 1500 3000 105 60 "Club"

        Dagger ->
            newItem (Weapon { class = 2 }) "Dagger" 500 500 420 240 "Sword"

        Hammer ->
            newItem (Weapon { class = 2 }) "Hammer" 2000 3000 420 240 "Hammer"

        HandAxe ->
            newItem (Weapon { class = 3 }) "Hand Axe" 1000 3000 472 270 "Axe"

        Quarterstaff ->
            newItem (Weapon { class = 3 }) "Quarterstaff" 750 5000 648 360 "Spear"

        Spear ->
            newItem (Weapon { class = 4 }) "Spear" 1500 5000 840 480 "Spear"

        ShortSword ->
            newItem (Weapon { class = 5 }) "Short Sword" 1000 5000 1470 840 "Sword"

        Mace ->
            newItem (Weapon { class = 5 }) "Mace" 2500 4375 1728 960 "Mace"

        Flail ->
            newItem (Weapon { class = 6 }) "Flail" 2000 3250 1512 840 "Flail"

        Axe ->
            newItem (Weapon { class = 6 }) "Axe" 2000 5000 1944 1080 "Axe"

        WarHammer ->
            newItem (Weapon { class = 7 }) "War Hammer" 1400 7500 2160 1200 "Hammer"

        LongSword ->
            newItem (Weapon { class = 8 }) "Long Sword" 1500 8000 3240 1800 "Sword"

        BattleAxe ->
            newItem (Weapon { class = 8 }) "Battle Axe" 3000 6000 2160 1200 "Axe"

        BroadSword ->
            newItem (Weapon { class = 9 }) "Broad Sword" 1600 9000 3240 1800 "Sword"

        MorningStar ->
            newItem (Weapon { class = 10 }) "Morning Star" 3000 9000 2160 1200 "MorningStar"

        BastardSword ->
            newItem (Weapon { class = 11 }) "Bastard Sword" 3000 10000 4320 2400 "Sword"

        TwoHandedSword ->
            newItem (Weapon { class = 12 }) "Two Handed Sword" 5000 12000 6360 3600 "Sword"

I've got about 12 sets of these I'd like to keep in the same file because i'd rather not import them all everywhere i need them or go to some elaborate import scheme...

autoclose-brackets doesn't work for quotes correctly

using this: [:editor :lt.objs.editor/autoclose-brackets] for autoclosing [{"( works in clojure and clojurescipt files, but in an elm file it only works correctly for [{(

The issure seems to be with the linter?

  • Type " -> Highlights it in red => "
  • Type another " -> Highlight goes away, second " is added and auto-closed => """
  • Typing another " moves the cursor through the third " as it should

Docs for own project

Currently bringing up the docs only work for imported elm packages. It'll be awesome if it could also bring up our own modules. And also local functions in the same module.

make-info in elm-package.json overwritten on install

I raised this issue in elm-package, but didn't realise that this was elm-light inserting it's own key into elm-package.json

The issue is that on elm-package install or potentially any command that updates the elm-package.json, the make-info key gets wiped from the json file.

As a workaround, it's fairly trivial to get the make-info line from history, so if you get bored fixing more severe bugs, then please take a look at this one @rundis

No 'elm-light' plugin found

I installed Light Table on my Mac and followed the official instructions:

Install the plugin from the Light Table Plugin Manager.

  1. In Light Table open the commands tab (default ctrl+space or use the menu View->Commands)
  2. In the commands tab search field enter something like "plugin manager" and select the item Plugins: > Show plugin manager
  3. In the search field for plugins type elm and press enter
  4. You should have an item named elm-light Click the install button to the right

I search for elm and get no results:

screen shot 2017-01-20 at 14 50 53

Auto-complete doesn't care about the module

When I type Resul the auto-complete tells me things like Result.andThen and Result.Ok which is great but when I go further, as in Result.to expecting things like Result.toMaybe I get completions from Basics like Basics.toFloat or Basics.toString

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.