This is a Sublime Text 2 and 3 plugin allowing you to use Elm specific snippets in Elm source files.
First of all, be sure you have Elm installed. Other useful Elm related packages are "Elm Language Support" and "SublimeLinter-contrib-elm-make". After you've installed Elm and the Elm related packages, you will need to setup this plugin.
Each OS has a different Packages folder required by Sublime Text. Open it via Preferences -> Browse Packages, and copy this repository contents to the elm_snippets folder there.
The shorter way of doing this is:
Through Sublime Package Manager
Ctrl+Shift+PorCmd+Shift+Pin Linux/Windows/OS X- type
install, selectPackage Control: Install Package - type
elm_snippets, selectelm_snippets
Make sure you use the right Sublime Text folder. For example, on OS X, packages for version 2 are in ~/Library/Application\ Support/Sublime\ Text\ 2, while version 3 is labeled ~/Library/Application\ Support/Sublime\ Text\ 3.
These are for Sublime Text 3:
git clone https://github.com/rudolfb/elm_snippets ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/elm_snippets
git clone https://github.com/victorporof/elm_snippets ~/.config/sublime-text-3/Packages/elm_snippets
git clone https://github.com/victorporof/elm_snippets %APPDATA%/Sublime\ Text\ 3/Packages/elm_snippets
Type the snippet shortcode and then press Tab to complete the snippet.
Some snippets have more than one place holder. When the snippet is first displayed, the cursor is placed at the first place holder. After entering the text here, press tab to go to the next place holder. If there are no further place holders the cursor will jump to the end of the snippet.
cof
case $1 of
$2 ->
$3 case action of
Increase ->
{ model | count = model.count + 1 }imp
import $1import Mouseimpas
import $1 as $2import Html.Events as Eventsimpea
import $1 exposing (..)import Html exposing (..)impes
import $1 exposing ($2)import Html exposing (Html)mod
module $1 (..) where
$0Pressing Tab after entering the module name will automatically position the cursor on the start of the next line.
module Main (..) wheresig
Signalsiga
Signal.Address A space is automatically appended to the string and the cursor placed after the trailing space.
sigma
Signal.map ($1) $2Signal.map (view mb.address) modelSignalsigmb
Signal.mailbox ""sigs
Signal.Signalstr
Stringta
type alias $1 =
$2
$0type
type $1
= $2
$0let
let
$1 =
$2
in
$3Pressing Tab after entering the alias name will automatically position the cursor indented on the next line, and you can enter the alias definition. Pressing Tab after entering the alias definition will automatically position the cursor on the start of the next line.
type alias Model =
{ count : Int }Use these snippets as you please. I only ask that if you come up with an incredibly handy snippet, or simply one that I have missed, that you let me know via GitHub so that I can improve these for everybody. Thanks!
These snippets are based on a similar Atom project atom-elm-snippets
The Sublime HTML-Snippets package served as the template for this package.
Thank you!