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
This commit is contained in:
parent
3253cc52b0
commit
5083e3d632
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=491303
5 changed files with 148 additions and 0 deletions
|
@ -207,6 +207,7 @@
|
|||
SUBDIR += p5-Proc-InvokeEditor
|
||||
SUBDIR += p5-Vimana
|
||||
SUBDIR += paredit-mode.el
|
||||
SUBDIR += parinfer-rust
|
||||
SUBDIR += pdfedit
|
||||
SUBDIR += pico-alpine
|
||||
SUBDIR += picpas
|
||||
|
|
65
editors/parinfer-rust/Makefile
Normal file
65
editors/parinfer-rust/Makefile
Normal file
|
@ -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>
|
51
editors/parinfer-rust/distinfo
Normal file
51
editors/parinfer-rust/distinfo
Normal file
|
@ -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
|
13
editors/parinfer-rust/files/patch-plugin_parinfer.vim
Normal file
13
editors/parinfer-rust/files/patch-plugin_parinfer.vim
Normal file
|
@ -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')
|
18
editors/parinfer-rust/pkg-descr
Normal file
18
editors/parinfer-rust/pkg-descr
Normal file
|
@ -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
|
Loading…
Reference in a new issue