Thanks to Justin Barclay, parinfer-rust, and therefore Parinfer's Smart
Mode, is now available for emacs!

parinfer-rust

Infer parentheses for Clojure, Lisp and Scheme.

https://github.com/eraserhd/parinfer-rust

A full-featured, super fast implementation of Shaun Lebron’s parinfer
<https://shaunlebron.github.io/parinfer/>. This repo comes with Vim plugin
files that work with Vim8 and Neovim. The Rust library can be called from
other editors that can load dynamic libraries.

This plugin, unlike others available for Vim, implements "smart" mode.
Rather than switching between "paren" mode and "indent" mode, parinfer uses
information about how the user is changing the file to decide what to do.
<https://github.com/eraserhd/parinfer-rust#installing>Installing

Dependencies:

   -

   rust <https://www.rust-lang.org/en-US/install.html> >= 1.36
   -

   libclang, which may be part of a clang package, depending on your OS

<https://github.com/eraserhd/parinfer-rust#vim-and-neovim>Vim and Neovim
<https://github.com/eraserhd/parinfer-rust#pathogen>pathogen

If you are using Tim Pope’s pathogen:

$ cd ~/.vim/bundle
$ git clone g...@github.com:eraserhd/parinfer-rust.git
$ cd ~/.vim/bundle/parinfer-rust
$ cargo build --release

<https://github.com/eraserhd/parinfer-rust#vim-plug>vim-plug

Plug 'eraserhd/parinfer-rust'

Then, build project using cargo:

$ cd /path/to/parinfer-rust
$ cargo build --release

Or, with optional automatic recompilation on update:

Plug 'eraserhd/parinfer-rust', {'do':
        \  'cargo build --release'}

<https://github.com/eraserhd/parinfer-rust#kakoune>Kakoune
<https://github.com/eraserhd/parinfer-rust#plugkak>plug.kak

Add this to your kakrc

plug "eraserhd/parinfer-rust" do %{
    cargo build --release
    cargo install --force --path .
}

Re-source your kakrc or restart Kakoune. Then run :plug-install. plug.kak will
download, build and install plugin for you.
<https://github.com/eraserhd/parinfer-rust#manual>Manual

$ cd ~/my-projects
$ git clone g...@github.com:eraserhd/parinfer-rust.git
$ cd parinfer-rust
$ make install
$ cargo build --release
$ cargo install

<https://github.com/eraserhd/parinfer-rust#emacs>Emacs

To install parinfer-rust for Emacs follow the instructions at
parinfer-rust-mode.el
<https://github.com/justinbarclay/parinfer-rust-mode#installing>
<https://github.com/eraserhd/parinfer-rust#building-webassembly>Building
WebAssembly

WebAssembly currently needs the ``nigthly'' toolchain:

$ rustup update
$ rustup install nightly
$ rustup target add wasm32-unknown-unknown --toolchain nightly
$ cargo +nightly install cargo-web

It can then be built with:

$ cargo +nightly web build --release

<https://github.com/eraserhd/parinfer-rust#tests>Tests

You can run tests like so:

$ cargo test                   # Run the native tests
$ cargo +nightly web test      # Test the WebAssembly version
$ vim --clean -u tests/run.vim # Integration tests

Tests are in a nice, readable format in tests/test_*.vim. Please add tests
for any new features (or even old ones!). You can set the VIM_TO_TEST
environment
variable to Vim’s path to test weird or different builds.
<https://github.com/eraserhd/parinfer-rust#contributors>Contributors

This wouldn’t be possible without the work of others:

   -

   Shaun Lebron - Inventing parinfer and doing the math.
   -

   Case Nelson - Writing the nvim-parinfer, from which VimL code and some
   inspiration was stolen.
   -

   Justin Barclay - Emacs module.

<https://github.com/eraserhd/parinfer-rust#license>License

ISC License
<https://github.com/eraserhd/parinfer-rust/blob/master/LICENSE.md>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/CAB6_SoYsMKDgD7qRopH6o7szi-9EirLMxJmFk85WgkC%3D%3D3JEDg%40mail.gmail.com.

Reply via email to