All Projects → jwoudenberg → elm-pair

jwoudenberg / elm-pair

Licence: other
An artificial pair-programmer that helps you write Elm

Programming Languages

rust
11053 projects
elm
856 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects
go
31211 projects - #10 most used programming language
Nix
1067 projects

Elm-pair logo Elm-pair

Elm-pair helps you write Elm code. You tell Elm-pair about the change you want to make and it will do the actual work. It's a bit like using an IDE, except you don't need to learn any keyboard shortcuts.

You talk to Elm-pair by making a change in your code. If Elm-pair understands your intent then it will follow up with its own change.

Elm-pair is free for non-commercial use. If you'd like to use Elm-pair for commercial projects you need to buy a license. Find out more here.

Renaming variables, types, and constructors

Rename a variable and Elm-pair will propagate the new name wherever the variable is used. Elm-pair will propagate type and constructor names in the same way.

Demonstration of rename functionality in Visual Studio Code

Changing import statements

As you change an import statement alias or exposing list, Elm-pair will update your code to keep it compiling.

Demonstration of import statement functionality in Visual Studio Code

Use your own editor

Elm-pair integrates with your editor of choice. Currently Neovim is supported and Visual Studio Code support is on the way, with support for additional editors planned. Elm-pair runs on MacOS and Linux.

Get it

You can find installation instructions at https://elm-pair.com/install.

Acknowledgements

This project is made possible by a couple of others.

  • tree-sitter is a library for fast code parsing. It allows Elm-pair to listen to every key stroke and figure out programmer intent quickly and efficiently.
  • tree-sitter-elm is an extension for tree-sitter that adds support for the Elm programming language.
  • ropey provides the 'rope' datastructure Elm-pair uses to store local copies of source code.
  • notify makes it easy for Elm-pair to subscribe to changes in the file system, so it can keep up with what's happening in your Elm projects.
  • differential-dataflow provides a way to do incremental computation, allowing Elm-pair to do the bare minimum of work when a file changes.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].