diff options
author | Tobias Kortkamp <tobik@FreeBSD.org> | 2019-01-26 17:03:48 +0000 |
---|---|---|
committer | Tobias Kortkamp <tobik@FreeBSD.org> | 2019-01-26 17:03:48 +0000 |
commit | 5083e3d63214509295466c117e5d1e0518733cb5 (patch) | |
tree | 6d65a12d04c96773e17a4ce08d8c8490fd7952c4 /editors/parinfer-rust | |
parent | 3253cc52b04ce804d1f0c423c6e4ae2127054134 (diff) | |
download | ports-5083e3d63214509295466c117e5d1e0518733cb5.tar.gz ports-5083e3d63214509295466c117e5d1e0518733cb5.zip |
New port: editors/parinfer-rust
A full-featured, super fast implementation of Shaun Lebron's parinfer.
Parinfer is a proof-of-concept editor mode for Lisp programming
languages. It simplifies the way we write Lisp by auto-adjusting
parens when indentation changes and vice versa. The hope is to
make basic Lisp-editing easier for newcomers and experts alike,
while still allowing existing plugins like Paredit to satisfy the
need for more advanced operations.
Parinfer-rust comes with plugins for Kakoune, Vim8, and Neovim.
The Rust library can be called from other editors that can load
dynamic libraries.
This plugin 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.
WWW: https://github.com/eraserhd/parinfer-rust
Notes
Notes:
svn path=/head/; revision=491303
Diffstat (limited to 'editors/parinfer-rust')
-rw-r--r-- | editors/parinfer-rust/Makefile | 65 | ||||
-rw-r--r-- | editors/parinfer-rust/distinfo | 51 | ||||
-rw-r--r-- | editors/parinfer-rust/files/patch-plugin_parinfer.vim | 13 | ||||
-rw-r--r-- | editors/parinfer-rust/pkg-descr | 18 |
4 files changed, 147 insertions, 0 deletions
diff --git a/editors/parinfer-rust/Makefile b/editors/parinfer-rust/Makefile new file mode 100644 index 000000000000..fd5c9693fc60 --- /dev/null +++ b/editors/parinfer-rust/Makefile @@ -0,0 +1,65 @@ +# $FreeBSD$ + +PORTNAME= parinfer-rust +DISTVERSIONPREFIX= v +DISTVERSION= 0.2.0-198 +DISTVERSIONSUFFIX= -g506ae2b +CATEGORIES= editors + +MAINTAINER= tobik@FreeBSD.org +COMMENT= Infer parentheses for Clojure, Lisp, and Scheme + +LICENSE= ISCL +LICENSE_FILE= ${WRKSRC}/LICENSE.md + +USES= cargo +USE_GITHUB= yes +GH_ACCOUNT= eraserhd +USE_LDCONFIG= yes + +CARGO_CRATES= base-x-0.2.2 \ + discard-1.0.3 \ + dtoa-0.4.2 \ + getopts-0.2.18 \ + itoa-0.4.1 \ + libc-0.2.40 \ + proc-macro2-0.2.3 \ + proc-macro2-0.3.8 \ + quote-0.4.2 \ + quote-0.5.2 \ + serde-1.0.55 \ + serde_derive-1.0.55 \ + serde_json-1.0.17 \ + stdweb-0.4.5 \ + stdweb-derive-0.4.0 \ + stdweb-internal-macros-0.1.0 \ + syn-0.12.15 \ + syn-0.13.10 \ + unicode-segmentation-1.2.1 \ + unicode-width-0.1.5 \ + unicode-xid-0.1.0 \ + winapi-0.3.6 \ + winapi-i686-pc-windows-gnu-0.4.0 \ + winapi-x86_64-pc-windows-gnu-0.4.0 + +PLIST_FILES= bin/parinfer-rust \ + lib/libparinfer_rust.so \ + share/kak/rc/extra/parinfer.kak \ + share/vim/vimfiles/doc/parinfer.txt \ + share/vim/vimfiles/plugin/parinfer.vim + +post-install: + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/parinfer-rust + ${INSTALL_LIB} ${CARGO_TARGET_DIR}/*/libparinfer_rust.so \ + ${STAGEDIR}${PREFIX}/lib + @${MKDIR} ${STAGEDIR}${PREFIX}/share/kak/rc/extra \ + ${STAGEDIR}${PREFIX}/share/vim/vimfiles/doc \ + ${STAGEDIR}${PREFIX}/share/vim/vimfiles/plugin + ${INSTALL_DATA} ${WRKSRC}/rc/parinfer.kak \ + ${STAGEDIR}${PREFIX}/share/kak/rc/extra + ${INSTALL_DATA} ${WRKSRC}/doc/parinfer.txt \ + ${STAGEDIR}${PREFIX}/share/vim/vimfiles/doc + ${INSTALL_DATA} ${WRKSRC}/plugin/parinfer.vim \ + ${STAGEDIR}${PREFIX}/share/vim/vimfiles/plugin + +.include <bsd.port.mk> diff --git a/editors/parinfer-rust/distinfo b/editors/parinfer-rust/distinfo new file mode 100644 index 000000000000..3379c881f723 --- /dev/null +++ b/editors/parinfer-rust/distinfo @@ -0,0 +1,51 @@ +TIMESTAMP = 1548517117 +SHA256 (rust/crates/base-x-0.2.2.tar.gz) = 2f59103b47307f76e03bef1633aec7fa9e29bfb5aa6daf5a334f94233c71f6c1 +SIZE (rust/crates/base-x-0.2.2.tar.gz) = 9636 +SHA256 (rust/crates/discard-1.0.3.tar.gz) = 9a9117502da3c5657cb8e2ca7ffcf52d659f00c78c5127d1ebadc2ebe76465be +SIZE (rust/crates/discard-1.0.3.tar.gz) = 4191 +SHA256 (rust/crates/dtoa-0.4.2.tar.gz) = 09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab +SIZE (rust/crates/dtoa-0.4.2.tar.gz) = 14227 +SHA256 (rust/crates/getopts-0.2.18.tar.gz) = 0a7292d30132fb5424b354f5dc02512a86e4c516fe544bb7a25e7f266951b797 +SIZE (rust/crates/getopts-0.2.18.tar.gz) = 18416 +SHA256 (rust/crates/itoa-0.4.1.tar.gz) = c069bbec61e1ca5a596166e55dfe4773ff745c3d16b700013bcaff9a6df2c682 +SIZE (rust/crates/itoa-0.4.1.tar.gz) = 10563 +SHA256 (rust/crates/libc-0.2.40.tar.gz) = 6fd41f331ac7c5b8ac259b8bf82c75c0fb2e469bbf37d2becbba9a6a2221965b +SIZE (rust/crates/libc-0.2.40.tar.gz) = 327272 +SHA256 (rust/crates/proc-macro2-0.2.3.tar.gz) = cd07deb3c6d1d9ff827999c7f9b04cdfd66b1b17ae508e14fe47b620f2282ae0 +SIZE (rust/crates/proc-macro2-0.2.3.tar.gz) = 21558 +SHA256 (rust/crates/proc-macro2-0.3.8.tar.gz) = 1b06e2f335f48d24442b35a19df506a835fb3547bc3c06ef27340da9acf5cae7 +SIZE (rust/crates/proc-macro2-0.3.8.tar.gz) = 24412 +SHA256 (rust/crates/quote-0.4.2.tar.gz) = 1eca14c727ad12702eb4b6bfb5a232287dcf8385cb8ca83a3eeaf6519c44c408 +SIZE (rust/crates/quote-0.4.2.tar.gz) = 14756 +SHA256 (rust/crates/quote-0.5.2.tar.gz) = 9949cfe66888ffe1d53e6ec9d9f3b70714083854be20fd5e271b232a017401e8 +SIZE (rust/crates/quote-0.5.2.tar.gz) = 14982 +SHA256 (rust/crates/serde-1.0.55.tar.gz) = 97f6a6c3caba0cf8f883b53331791036404ce3c1bd895961cf8bb2f8cecfd84b +SIZE (rust/crates/serde-1.0.55.tar.gz) = 68121 +SHA256 (rust/crates/serde_derive-1.0.55.tar.gz) = f51b0ef935cf8a41a77bce553da1f8751a739b7ad82dd73669475a22e6ecedb0 +SIZE (rust/crates/serde_derive-1.0.55.tar.gz) = 45154 +SHA256 (rust/crates/serde_json-1.0.17.tar.gz) = f3ad6d546e765177cf3dded3c2e424a8040f870083a0e64064746b958ece9cb1 +SIZE (rust/crates/serde_json-1.0.17.tar.gz) = 64689 +SHA256 (rust/crates/stdweb-0.4.5.tar.gz) = 742b8202779433bf7a405bffe9921dd9bee497a46fb9024f5b6cfb92823c5843 +SIZE (rust/crates/stdweb-0.4.5.tar.gz) = 162013 +SHA256 (rust/crates/stdweb-derive-0.4.0.tar.gz) = 6aa46e9b38ea028a8a327ae6db35a486ace3eb834f5600bb3b6a71c0b6b1bd4b +SIZE (rust/crates/stdweb-derive-0.4.0.tar.gz) = 3660 +SHA256 (rust/crates/stdweb-internal-macros-0.1.0.tar.gz) = b0bb3289dfd46bba44d80ed47a9b3d4c43bf6c1d7931b29e2fa86bd6697ccf59 +SIZE (rust/crates/stdweb-internal-macros-0.1.0.tar.gz) = 4089 +SHA256 (rust/crates/syn-0.12.15.tar.gz) = c97c05b8ebc34ddd6b967994d5c6e9852fa92f8b82b3858c39451f97346dcce5 +SIZE (rust/crates/syn-0.12.15.tar.gz) = 132636 +SHA256 (rust/crates/syn-0.13.10.tar.gz) = 77961dcdac942fa8bc033c16f3a790b311c8a27d00811b878ebd8cf9b7ba39d5 +SIZE (rust/crates/syn-0.13.10.tar.gz) = 134334 +SHA256 (rust/crates/unicode-segmentation-1.2.1.tar.gz) = aa6024fc12ddfd1c6dbc14a80fa2324d4568849869b779f6bd37e5e4c03344d1 +SIZE (rust/crates/unicode-segmentation-1.2.1.tar.gz) = 68223 +SHA256 (rust/crates/unicode-width-0.1.5.tar.gz) = 882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526 +SIZE (rust/crates/unicode-width-0.1.5.tar.gz) = 15761 +SHA256 (rust/crates/unicode-xid-0.1.0.tar.gz) = fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc +SIZE (rust/crates/unicode-xid-0.1.0.tar.gz) = 16000 +SHA256 (rust/crates/winapi-0.3.6.tar.gz) = 92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0 +SIZE (rust/crates/winapi-0.3.6.tar.gz) = 1029391 +SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.tar.gz) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 +SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.tar.gz) = 2918815 +SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f +SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz) = 2947998 +SHA256 (eraserhd-parinfer-rust-v0.2.0-198-g506ae2b_GH0.tar.gz) = e6365486b7b94c51c3d04a83b1a0948eba18cbde42ed960ecd64f5e22d48e3cd +SIZE (eraserhd-parinfer-rust-v0.2.0-198-g506ae2b_GH0.tar.gz) = 274654 diff --git a/editors/parinfer-rust/files/patch-plugin_parinfer.vim b/editors/parinfer-rust/files/patch-plugin_parinfer.vim new file mode 100644 index 000000000000..4bd8e86250d9 --- /dev/null +++ b/editors/parinfer-rust/files/patch-plugin_parinfer.vim @@ -0,0 +1,13 @@ +--- plugin/parinfer.vim.orig 2019-01-26 15:56:17 UTC ++++ plugin/parinfer.vim +@@ -9,6 +9,10 @@ if !exists('g:parinfer_force_balance') + endif + + if !exists('g:parinfer_dylib_path') ++ let g:parinfer_dylib_path = 'libparinfer_rust.so' ++endif ++ ++if !exists('g:parinfer_dylib_path') + if has('macunix') + let g:parinfer_dylib_path = expand('<sfile>:p:h:h'). '/target/release/libparinfer_rust.dylib' + elseif has('unix') diff --git a/editors/parinfer-rust/pkg-descr b/editors/parinfer-rust/pkg-descr new file mode 100644 index 000000000000..e4148b533119 --- /dev/null +++ b/editors/parinfer-rust/pkg-descr @@ -0,0 +1,18 @@ +A full-featured, super fast implementation of Shaun Lebron's parinfer. + +Parinfer is a proof-of-concept editor mode for Lisp programming +languages. It simplifies the way we write Lisp by auto-adjusting +parens when indentation changes and vice versa. The hope is to +make basic Lisp-editing easier for newcomers and experts alike, +while still allowing existing plugins like Paredit to satisfy the +need for more advanced operations. + +Parinfer-rust comes with plugins for Kakoune, Vim8, and Neovim. +The Rust library can be called from other editors that can load +dynamic libraries. + +This plugin 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. + +WWW: https://github.com/eraserhd/parinfer-rust |