elm-format

elm-format formats Elm source code according to a standard set of rules based on the official Elm Style Guide

  • 所有者: avh4/elm-format
  • 平台:
  • 许可证: BSD 3-Clause "New" or "Revised" License
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

Build Status
latest version: 0.8.2

elm-format

elm-format is still in beta. If you run into any problems, please report them.

The format produced by elm-format may change significantly before the 1.0.0 release. If this will cause problems for you, please refrain from using elm-format during the beta-test period.

elm-format formats Elm source code according to a standard set of rules based on the official Elm Style Guide. It is inspired by the popular gofmt.

The benefits of elm-format:

  • It makes code easier to write, because you never have to worry about minor formatting concerns while powering out new code.
  • It makes code easier to read, because there are no longer distracting minor stylistic differences between different code bases. As such, your brain can map more efficiently from source to mental model.
  • It makes code easier to maintain, because you can no longer have diffs related only to formatting; every diff necessarily involves a material change.
  • It saves your team time debating how to format things, because there is a standard tool that formats everything the same way.
  • It saves you time because you don't have to nitpick over formatting details of your code.

Usage

elm-format Main.elm  # Format a single file
elm-format Main.elm --yes  # Overwrite the file without prompting
elm-format src/  # Format all *.elm files in a directory
elm-format --stdin  # Format input from stdin and write to stdout
elm-format --stdin --output Main.elm  # Format input from stdin and write to file
elm-format --help  # See other command line options

Installation (latest version: 0.8.2)

elm-format is still in beta. If you run into any problems, please report them.

The format produced by elm-format may change significantly before the 1.0.0 release. If this will cause problems for you, please refrain from using elm-format during the beta-test period.

To install elm-format:

npm install -g elm-format

or download the version appropriate for your OS from the release page,
unzip it,
and place elm-format or elm-format.exe (windows) on your PATH.

On FreeBSD you can pkg install hs-elm-format or use devel/elm-format, then execute elm-format normally.

You must run elm-format from the directory that contains your elm.json (for Elm 0.19) or elm-package.json (for Elm 0.18),
or else you must pass the appropriate --elm-version=0.19/--elm-version=0.18 command line argument.

Editor integration

Find your editor in the table below. The recommended plugin for each editor is indicated with :trophy: (trophy emoji).

Detailed instructions

If you can simplify or improve the installation instructions or add instructions for another editor, please make a pull request.
The default behavior of elm-format-approved plugins is to format Elm files on save.

atom-elm-format installation

  1. Install elm-format

  2. Install atom-elm-format

    apm install elm-format
    

or use the Atom package manager in Atom's settings

atom-beautify installation

  1. Install elm-format

  2. Install atom-beautify

    apm install atom-beautify
    

or use the Atom package manager in Atom's settings

  1. Use ^⌥B (CTRL-ALT-B) to format a file

elm-light installation

  1. Install elm-format
  2. Install the elm-light plugin using the Light Table plugin manager
  3. To format on save, edit your user keymap by performing the following:
  • Click File -> Settings -> User Keymap to open the user keymap.
  • Copy the following line and paste it into your keymap. Anywhere is fine as long as it is whithin the outer brackets. Ensure to save the file.
[:editor.elm "ctrl-s" :save :elm-format :elm.lint]
  • Search for "App: Reload keymaps" in the Commands Window to apply the changes (or restart LightTable).

elm-mode installation

  1. Install elm-format

  2. If your Emacs has package.el (which is automatically the case for Emacs >= 24), you can install elm-mode from the package in MELPA:

    1. Ensure that you have added the MELPA source in your ~/.emacs.d/init.el:

      (require 'package)
      (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
      
    2. Install elm-mode (official instructions): Use M-x list-packages and choose elm-mode.

  3. Set elm-format-on-save to t to apply elm-format on the current buffer on every save. (The setting can be changed via M-x customize-variable elm-format-on-save. Click button Toggle to change the setting and button State to activate the setting.)

elm-vim installation

  1. Install elm-format

  2. Install vim-plug (official instructions)

    1. Download vim-plug:

      curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
          https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
      
    2. Make sure there is a section like this in your ~/.vimrc:

      call plug#begin('~/.vim/plugged')
      " ... any active plugins
      call plug#end()
      
  3. Install elm-vim (official instructions)

    1. Add Plug 'elmcast/elm-vim' to the plug#begin plugin section in your ~/.vimrc
    2. Start vim and run :PlugInstall
  4. Add the following to your ~/.vimrc:

let g:elm_format_autosave = 1

Visual Studio Code installation

Note: If you previously installed a VSCode extension called "elm-format", uninstall it (it is deprecated, and the "elm" extension now provides elm-format integration).

  1. Install elm-format

  2. Install the extension Elm Language Support for VSCode, which includes syntax and error highlighting

  3. Configure the extension to format on save:

    1. Find your settings.json file (instructions).
    2. Add the following key-value pair to your settings.json:
    "[elm]": {
        "editor.formatOnSave": true
    },
    

Sublime Text installation

  1. Install elm-format
  2. Install the Elm Language Support package.

JetBrains installation

This is for WebStorm and other JetBrains IDEs like IntelliJ and PyCharm.

  1. Install elm-format
  2. Install the intellij-elm plugin
  3. In IntelliJ, open Settings -> Languages & Frameworks -> Elm
  4. Specify the path to elm-format

Development info

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Building from source

# check out the repo
brew install haskell-stack
git clone https://github.com/avh4/elm-format.git
cd elm-format

# initial setup
stack setup
stack install shake

# build
stack runhaskell Shakefile.hs -- build

# run the built elm-format
"$(stack path --local-install-root)"/bin/elm-format

Running tests

stack install shake
stack runhaskell Shakefile.hs

主要指标

概览
名称与所有者avh4/elm-format
主编程语言Haskell
编程语言Haskell (语言数: 13)
平台
许可证BSD 3-Clause "New" or "Revised" License
所有者活动
创建于2015-09-13 00:09:34
推送于2025-06-19 02:56:33
最后一次提交
发布数37
最新版本名称0.8.8 (发布于 2025-06-18 17:00:38)
第一版名称0.1-alpha-1 (发布于 )
用户参与
星数1.3k
关注者数23
派生数149
提交数2.1k
已启用问题?
问题数587
打开的问题数214
拉请求数202
打开的拉请求数13
关闭的拉请求数31
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?