Elm language plugin for Light Table
JavaScript Clojure Elm CSS HTML
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
DocPreview
css Upgrade package docs styling and provide example gif Jan 29, 2017
elm/ModuleBrowser
images Add repl demo gif Mar 7, 2017
js Upgrade package docs styling and provide example gif Jan 29, 2017
mode
node Improve destructuring support for hints, docs and jump Jan 30, 2017
node_modules Use shelljs do find installables Nov 15, 2016
src/lt/plugins
templates/test
.gitignore First cut support for doc preview for elm packages Mar 27, 2016
LICENSE.md Initial commit - Syntax highlighting support Oct 15, 2015
README.adoc Add repl demo gif Mar 7, 2017
elm-light.behaviors Add support for setting up test project for a given elm project Nov 14, 2016
elm-light_compiled.js Release 0.5.1 Jan 30, 2017
elm-light_compiled.js.map
elm.keymap Implement autocompleter using async channels and CM show-hint plugin May 6, 2016
package.json
plugin.edn Release 0.5.1 Jan 30, 2017
project.clj Release 0.5.1 Jan 30, 2017

README.adoc

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.