git: 81aac8ac8449 - main - editors/amp: New port: Complete text editor for your terminal

From: Nuno Teixeira <eduardo_at_FreeBSD.org>
Date: Thu, 21 Jul 2022 14:22:08 UTC
The branch main has been updated by eduardo:

URL: https://cgit.FreeBSD.org/ports/commit/?id=81aac8ac84498bac01be3fd453e2a59e8c2da3cf

commit 81aac8ac84498bac01be3fd453e2a59e8c2da3cf
Author:     Nuno Teixeira <eduardo@FreeBSD.org>
AuthorDate: 2022-07-21 14:19:50 +0000
Commit:     Nuno Teixeira <eduardo@FreeBSD.org>
CommitDate: 2022-07-21 14:21:42 +0000

    editors/amp: New port: Complete text editor for your terminal
    
    Heavily inspired by Vi/Vim. Amp aims to take the core interaction model
    of Vim, simplify it, and bundle in the essential features required for
    a modern text editor.
    
    WWW: https://amp.rs/
---
 editors/Makefile            |   1 +
 editors/amp/Makefile        |  24 ++++
 editors/amp/Makefile.crates | 159 ++++++++++++++++++++++
 editors/amp/distinfo        | 321 ++++++++++++++++++++++++++++++++++++++++++++
 editors/amp/pkg-descr       |   5 +
 5 files changed, 510 insertions(+)

diff --git a/editors/Makefile b/editors/Makefile
index 05e6ad53ad85..300a6613f01a 100644
--- a/editors/Makefile
+++ b/editors/Makefile
@@ -5,6 +5,7 @@
     SUBDIR += abiword-docs
     SUBDIR += aee
     SUBDIR += aewan
+    SUBDIR += amp
     SUBDIR += apel
     SUBDIR += asedit
     SUBDIR += beav
diff --git a/editors/amp/Makefile b/editors/amp/Makefile
new file mode 100644
index 000000000000..6ee5dd11e6cf
--- /dev/null
+++ b/editors/amp/Makefile
@@ -0,0 +1,24 @@
+PORTNAME=	amp
+DISTVERSION=	0.6.2
+CATEGORIES=	editors
+
+MAINTAINER=	eduardo@FreeBSD.org
+COMMENT=	Complete text editor for your terminal
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cargo localbase:ldflags python:build xorg
+USE_GITHUB=	yes
+GH_ACCOUNT=	jmacdonald
+USE_XORG=	xcb
+
+PLIST_FILES=	bin/${PORTNAME}
+
+post-patch:
+	@${REINPLACE_CMD} 's|python3|python${PYTHON_VER}|' ${WRKSRC}/cargo-crates/xcb-0.8.2/build.rs
+
+post-install:
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/editors/amp/Makefile.crates b/editors/amp/Makefile.crates
new file mode 100644
index 000000000000..76b60f0db450
--- /dev/null
+++ b/editors/amp/Makefile.crates
@@ -0,0 +1,159 @@
+CARGO_CRATES=	aho-corasick-0.5.3 \
+		aho-corasick-0.6.4 \
+		aho-corasick-0.7.8 \
+		ansi_term-0.11.0 \
+		app_dirs-1.2.1 \
+		arc-swap-0.3.11 \
+		atty-0.2.10 \
+		backtrace-0.3.8 \
+		backtrace-sys-0.1.23 \
+		base64-0.8.0 \
+		bincode-1.0.1 \
+		bitflags-1.1.0 \
+		block-0.1.6 \
+		bloodhound-0.5.4 \
+		byteorder-1.2.3 \
+		bytes-0.4.8 \
+		cast-0.2.2 \
+		cc-1.0.45 \
+		cfg-if-0.1.3 \
+		chrono-0.4.2 \
+		clap-2.31.2 \
+		clipboard-0.4.6 \
+		clipboard-win-2.1.2 \
+		cmake-0.1.31 \
+		criterion-0.2.3 \
+		criterion-plot-0.2.3 \
+		criterion-stats-0.2.3 \
+		dtoa-0.4.2 \
+		duct-0.10.0 \
+		either-1.5.0 \
+		error-chain-0.10.0 \
+		error-chain-0.11.0 \
+		error-chain-0.12.0 \
+		failure-0.1.1 \
+		failure_derive-0.1.1 \
+		flate2-1.0.1 \
+		fnv-1.0.6 \
+		fragment-0.3.1 \
+		fuchsia-zircon-0.3.3 \
+		fuchsia-zircon-sys-0.3.3 \
+		gcc-0.3.54 \
+		getrandom-0.1.12 \
+		git2-0.10.1 \
+		glob-0.2.11 \
+		handlebars-0.31.0 \
+		idna-0.2.0 \
+		iovec-0.1.2 \
+		itertools-0.7.8 \
+		itertools-num-0.1.1 \
+		itoa-0.4.1 \
+		jobserver-0.1.17 \
+		kernel32-sys-0.2.2 \
+		lazy_static-1.2.0 \
+		lazycell-0.6.0 \
+		lazycell-1.2.1 \
+		libc-0.2.62 \
+		libgit2-sys-0.9.1 \
+		libz-sys-1.0.25 \
+		linked-hash-map-0.5.1 \
+		log-0.4.8 \
+		luthor-0.1.7 \
+		malloc_buf-0.0.6 \
+		matches-0.1.6 \
+		memchr-0.1.11 \
+		memchr-2.3.0 \
+		miniz-sys-0.1.10 \
+		mio-0.6.16 \
+		mio-uds-0.6.7 \
+		miow-0.2.1 \
+		net2-0.2.33 \
+		nix-0.10.0 \
+		num-integer-0.1.38 \
+		num-traits-0.1.43 \
+		num-traits-0.2.4 \
+		num_cpus-1.10.1 \
+		objc-0.2.2 \
+		objc-foundation-0.1.1 \
+		objc_id-0.1.0 \
+		ole32-sys-0.2.0 \
+		onig-3.2.2 \
+		onig_sys-68.0.1 \
+		os_pipe-0.6.1 \
+		pad-0.1.5 \
+		percent-encoding-2.1.0 \
+		pest-1.0.6 \
+		pest_derive-1.0.7 \
+		pkg-config-0.3.11 \
+		plist-0.2.4 \
+		proc-macro2-0.4.6 \
+		quick-error-1.2.2 \
+		quote-0.3.15 \
+		quote-0.6.3 \
+		rand-0.4.2 \
+		redox_syscall-0.1.40 \
+		redox_termios-0.1.1 \
+		regex-0.1.80 \
+		regex-0.2.11 \
+		regex-1.3.4 \
+		regex-syntax-0.3.9 \
+		regex-syntax-0.4.2 \
+		regex-syntax-0.5.6 \
+		regex-syntax-0.6.14 \
+		rustc-demangle-0.1.8 \
+		safemem-0.2.0 \
+		same-file-1.0.2 \
+		scribe-0.7.2 \
+		serde-1.0.66 \
+		serde_derive-1.0.66 \
+		serde_json-1.0.19 \
+		shared_child-0.3.2 \
+		shell32-sys-0.1.2 \
+		signal-hook-0.1.9 \
+		signal-hook-registry-1.0.1 \
+		simplelog-0.5.2 \
+		slab-0.4.1 \
+		smallvec-0.4.5 \
+		strsim-0.7.0 \
+		syn-0.11.11 \
+		syn-0.14.2 \
+		synom-0.11.3 \
+		synstructure-0.6.1 \
+		syntect-2.1.0 \
+		term-0.5.1 \
+		termion-1.5.1 \
+		textwrap-0.9.0 \
+		thread-id-2.0.0 \
+		thread-scoped-1.0.2 \
+		thread_local-0.2.7 \
+		thread_local-0.3.5 \
+		thread_local-1.0.1 \
+		time-0.1.40 \
+		ucd-util-0.1.1 \
+		unicode-bidi-0.3.4 \
+		unicode-normalization-0.1.7 \
+		unicode-segmentation-1.0.3 \
+		unicode-width-0.1.5 \
+		unicode-xid-0.0.4 \
+		unicode-xid-0.1.0 \
+		unreachable-1.0.0 \
+		url-2.1.0 \
+		utf8-ranges-0.1.3 \
+		utf8-ranges-1.0.0 \
+		vcpkg-0.2.3 \
+		vec_map-0.8.1 \
+		void-1.0.2 \
+		walkdir-2.1.4 \
+		wasi-0.7.0 \
+		winapi-0.2.8 \
+		winapi-0.3.5 \
+		winapi-build-0.1.1 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		ws2_32-sys-0.2.1 \
+		x11-clipboard-0.2.2 \
+		xcb-0.8.2 \
+		xdg-2.1.0 \
+		xml-rs-0.7.0 \
+		yaml-rust-0.3.5 \
+		yaml-rust-0.4.0
diff --git a/editors/amp/distinfo b/editors/amp/distinfo
new file mode 100644
index 000000000000..866d004922f9
--- /dev/null
+++ b/editors/amp/distinfo
@@ -0,0 +1,321 @@
+TIMESTAMP = 1658402819
+SHA256 (rust/crates/aho-corasick-0.5.3.crate) = ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686ddb66
+SIZE (rust/crates/aho-corasick-0.5.3.crate) = 252052
+SHA256 (rust/crates/aho-corasick-0.6.4.crate) = d6531d44de723825aa81398a6415283229725a00fa30713812ab9323faa82fc4
+SIZE (rust/crates/aho-corasick-0.6.4.crate) = 25443
+SHA256 (rust/crates/aho-corasick-0.7.8.crate) = 743ad5a418686aad3b87fd14c43badd828cf26e214a00f92a384291cf22e1811
+SIZE (rust/crates/aho-corasick-0.7.8.crate) = 110524
+SHA256 (rust/crates/ansi_term-0.11.0.crate) = ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b
+SIZE (rust/crates/ansi_term-0.11.0.crate) = 17087
+SHA256 (rust/crates/app_dirs-1.2.1.crate) = e73a24bad9bd6a94d6395382a6c69fe071708ae4409f763c5475e14ee896313d
+SIZE (rust/crates/app_dirs-1.2.1.crate) = 9468
+SHA256 (rust/crates/arc-swap-0.3.11.crate) = bc4662175ead9cd84451d5c35070517777949a2ed84551764129cedb88384841
+SIZE (rust/crates/arc-swap-0.3.11.crate) = 46282
+SHA256 (rust/crates/atty-0.2.10.crate) = 2fc4a1aa4c24c0718a250f0681885c1af91419d242f29eb8f2ab28502d80dbd1
+SIZE (rust/crates/atty-0.2.10.crate) = 5962
+SHA256 (rust/crates/backtrace-0.3.8.crate) = dbdd17cd962b570302f5297aea8648d5923e22e555c2ed2d8b2e34eca646bf6d
+SIZE (rust/crates/backtrace-0.3.8.crate) = 28516
+SHA256 (rust/crates/backtrace-sys-0.1.23.crate) = bff67d0c06556c0b8e6b5f090f0eac52d950d9dfd1d35ba04e4ca3543eaf6a7e
+SIZE (rust/crates/backtrace-sys-0.1.23.crate) = 522263
+SHA256 (rust/crates/base64-0.8.0.crate) = 7c4a342b450b268e1be8036311e2c613d7f8a7ed31214dff1cc3b60852a3168d
+SIZE (rust/crates/base64-0.8.0.crate) = 33091
+SHA256 (rust/crates/bincode-1.0.1.crate) = 9f2fb9e29e72fd6bc12071533d5dc7664cb01480c59406f656d7ac25c7bd8ff7
+SIZE (rust/crates/bincode-1.0.1.crate) = 14071
+SHA256 (rust/crates/bitflags-1.1.0.crate) = 3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd
+SIZE (rust/crates/bitflags-1.1.0.crate) = 16322
+SHA256 (rust/crates/block-0.1.6.crate) = 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a
+SIZE (rust/crates/block-0.1.6.crate) = 4077
+SHA256 (rust/crates/bloodhound-0.5.4.crate) = c3adde3a05c6955eb3bbf6134a06d863d0e1ac23b3f46de258839dc1d8f813cb
+SIZE (rust/crates/bloodhound-0.5.4.crate) = 4299
+SHA256 (rust/crates/byteorder-1.2.3.crate) = 74c0b906e9446b0a2e4f760cdb3fa4b2c48cdc6db8766a845c54b6ff063fd2e9
+SIZE (rust/crates/byteorder-1.2.3.crate) = 18805
+SHA256 (rust/crates/bytes-0.4.8.crate) = 7dd32989a66957d3f0cba6588f15d4281a733f4e9ffc43fcd2385f57d3bf99ff
+SIZE (rust/crates/bytes-0.4.8.crate) = 46023
+SHA256 (rust/crates/cast-0.2.2.crate) = 926013f2860c46252efceabb19f4a6b308197505082c609025aa6706c011d427
+SIZE (rust/crates/cast-0.2.2.crate) = 10318
+SHA256 (rust/crates/cc-1.0.45.crate) = 4fc9a35e1f4290eb9e5fc54ba6cf40671ed2a2514c3eeb2b2a908dda2ea5a1be
+SIZE (rust/crates/cc-1.0.45.crate) = 49112
+SHA256 (rust/crates/cfg-if-0.1.3.crate) = 405216fd8fe65f718daa7102ea808a946b6ce40c742998fbfd3463645552de18
+SIZE (rust/crates/cfg-if-0.1.3.crate) = 7115
+SHA256 (rust/crates/chrono-0.4.2.crate) = 1cce36c92cb605414e9b824f866f5babe0a0368e39ea07393b9b63cf3844c0e6
+SIZE (rust/crates/chrono-0.4.2.crate) = 129309
+SHA256 (rust/crates/clap-2.31.2.crate) = f0f16b89cbb9ee36d87483dc939fe9f1e13c05898d56d7b230a0d4dff033a536
+SIZE (rust/crates/clap-2.31.2.crate) = 194051
+SHA256 (rust/crates/clipboard-0.4.6.crate) = b9b4623b47d8637fc9d47564583d4cc01eb8c8e34e26b2bf348bf4b036acb657
+SIZE (rust/crates/clipboard-0.4.6.crate) = 10096
+SHA256 (rust/crates/clipboard-win-2.1.2.crate) = 289da2fc09ab964a4948a63287c94fcb4698fa823c46da84c3792928c9d36110
+SIZE (rust/crates/clipboard-win-2.1.2.crate) = 8972
+SHA256 (rust/crates/cmake-0.1.31.crate) = 95470235c31c726d72bf2e1f421adc1e65b9d561bf5529612cbe1a72da1467b3
+SIZE (rust/crates/cmake-0.1.31.crate) = 12480
+SHA256 (rust/crates/criterion-0.2.3.crate) = 4f11151e2961d0483e5eb7a2ede5ed8071a460d04d2b7c89e8257aa5502b0e0b
+SIZE (rust/crates/criterion-0.2.3.crate) = 212934
+SHA256 (rust/crates/criterion-plot-0.2.3.crate) = 9f7f7c88a8d341dd9fd9e31a72ca2ca24428db79afb491852873b2c784e037e6
+SIZE (rust/crates/criterion-plot-0.2.3.crate) = 15655
+SHA256 (rust/crates/criterion-stats-0.2.3.crate) = dd48feb0253b2968ff3085e7f3fba6738c9ff859f420a2fb81a48986eb66da36
+SIZE (rust/crates/criterion-stats-0.2.3.crate) = 16277
+SHA256 (rust/crates/dtoa-0.4.2.crate) = 09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab
+SIZE (rust/crates/dtoa-0.4.2.crate) = 14227
+SHA256 (rust/crates/duct-0.10.0.crate) = 166298c17c5b4fe5997b962c2f22e887c7c5adc44308eb9103ce5b66af45a423
+SIZE (rust/crates/duct-0.10.0.crate) = 25949
+SHA256 (rust/crates/either-1.5.0.crate) = 3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0
+SIZE (rust/crates/either-1.5.0.crate) = 10900
+SHA256 (rust/crates/error-chain-0.10.0.crate) = d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8
+SIZE (rust/crates/error-chain-0.10.0.crate) = 18432
+SHA256 (rust/crates/error-chain-0.11.0.crate) = ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3
+SIZE (rust/crates/error-chain-0.11.0.crate) = 27207
+SHA256 (rust/crates/error-chain-0.12.0.crate) = 07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02
+SIZE (rust/crates/error-chain-0.12.0.crate) = 27056
+SHA256 (rust/crates/failure-0.1.1.crate) = 934799b6c1de475a012a02dab0ace1ace43789ee4b99bcfbf1a2e3e8ced5de82
+SIZE (rust/crates/failure-0.1.1.crate) = 26782
+SHA256 (rust/crates/failure_derive-0.1.1.crate) = c7cdda555bb90c9bb67a3b670a0f42de8e73f5981524123ad8578aafec8ddb8b
+SIZE (rust/crates/failure_derive-0.1.1.crate) = 9312
+SHA256 (rust/crates/flate2-1.0.1.crate) = 9fac2277e84e5e858483756647a9d0aa8d9a2b7cba517fd84325a0aaa69a0909
+SIZE (rust/crates/flate2-1.0.1.crate) = 61869
+SHA256 (rust/crates/fnv-1.0.6.crate) = 2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3
+SIZE (rust/crates/fnv-1.0.6.crate) = 11131
+SHA256 (rust/crates/fragment-0.3.1.crate) = 90ed2593535a2bf81d7d008c153027c08fdfce2dcca920ba6f345a59d8754cb3
+SIZE (rust/crates/fragment-0.3.1.crate) = 4134
+SHA256 (rust/crates/fuchsia-zircon-0.3.3.crate) = 2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82
+SIZE (rust/crates/fuchsia-zircon-0.3.3.crate) = 22565
+SHA256 (rust/crates/fuchsia-zircon-sys-0.3.3.crate) = 3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7
+SIZE (rust/crates/fuchsia-zircon-sys-0.3.3.crate) = 7191
+SHA256 (rust/crates/gcc-0.3.54.crate) = 5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb
+SIZE (rust/crates/gcc-0.3.54.crate) = 37248
+SHA256 (rust/crates/getrandom-0.1.12.crate) = 473a1265acc8ff1e808cd0a1af8cee3c2ee5200916058a2ca113c29f2d903571
+SIZE (rust/crates/getrandom-0.1.12.crate) = 23809
+SHA256 (rust/crates/git2-0.10.1.crate) = 39f27186fbb5ec67ece9a56990292bc5aed3c3fc51b9b07b0b52446b1dfb4a82
+SIZE (rust/crates/git2-0.10.1.crate) = 157914
+SHA256 (rust/crates/glob-0.2.11.crate) = 8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb
+SIZE (rust/crates/glob-0.2.11.crate) = 18065
+SHA256 (rust/crates/handlebars-0.31.0.crate) = e7bdb08e879b8c78ee90f5022d121897c31ea022cb0cc6d13f2158c7a9fbabb1
+SIZE (rust/crates/handlebars-0.31.0.crate) = 44017
+SHA256 (rust/crates/idna-0.2.0.crate) = 02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9
+SIZE (rust/crates/idna-0.2.0.crate) = 257203
+SHA256 (rust/crates/iovec-0.1.2.crate) = dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08
+SIZE (rust/crates/iovec-0.1.2.crate) = 8565
+SHA256 (rust/crates/itertools-0.7.8.crate) = f58856976b776fedd95533137617a02fb25719f40e7d9b01c7043cd65474f450
+SIZE (rust/crates/itertools-0.7.8.crate) = 78831
+SHA256 (rust/crates/itertools-num-0.1.1.crate) = 4d78fa608383e6e608ba36f962ac991d5d6878d7203eb93b4711b14fa6717813
+SIZE (rust/crates/itertools-num-0.1.1.crate) = 2787
+SHA256 (rust/crates/itoa-0.4.1.crate) = c069bbec61e1ca5a596166e55dfe4773ff745c3d16b700013bcaff9a6df2c682
+SIZE (rust/crates/itoa-0.4.1.crate) = 10563
+SHA256 (rust/crates/jobserver-0.1.17.crate) = f2b1d42ef453b30b7387e113da1c83ab1605d90c5b4e0eb8e96d016ed3b8c160
+SIZE (rust/crates/jobserver-0.1.17.crate) = 19563
+SHA256 (rust/crates/kernel32-sys-0.2.2.crate) = 7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d
+SIZE (rust/crates/kernel32-sys-0.2.2.crate) = 24537
+SHA256 (rust/crates/lazy_static-1.2.0.crate) = a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1
+SIZE (rust/crates/lazy_static-1.2.0.crate) = 10840
+SHA256 (rust/crates/lazycell-0.6.0.crate) = a6f08839bc70ef4a3fe1d566d5350f519c5912ea86be0df1740a7d247c7fc0ef
+SIZE (rust/crates/lazycell-0.6.0.crate) = 10099
+SHA256 (rust/crates/lazycell-1.2.1.crate) = b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f
+SIZE (rust/crates/lazycell-1.2.1.crate) = 11691
+SHA256 (rust/crates/libc-0.2.62.crate) = 34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba
+SIZE (rust/crates/libc-0.2.62.crate) = 433193
+SHA256 (rust/crates/libgit2-sys-0.9.1.crate) = a30f8637eb59616ee3b8a00f6adff781ee4ddd8343a615b8238de756060cc1b3
+SIZE (rust/crates/libgit2-sys-0.9.1.crate) = 1521733
+SHA256 (rust/crates/libz-sys-1.0.25.crate) = 2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe
+SIZE (rust/crates/libz-sys-1.0.25.crate) = 650151
+SHA256 (rust/crates/linked-hash-map-0.5.1.crate) = 70fb39025bc7cdd76305867c4eccf2f2dcf6e9a57f5b21a93e1c2d86cd03ec9e
+SIZE (rust/crates/linked-hash-map-0.5.1.crate) = 16559
+SHA256 (rust/crates/log-0.4.8.crate) = 14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7
+SIZE (rust/crates/log-0.4.8.crate) = 31297
+SHA256 (rust/crates/luthor-0.1.7.crate) = 07d562e61c90471939bec3e4aa518826b2002190c35279df82e87ee73faf665e
+SIZE (rust/crates/luthor-0.1.7.crate) = 11994
+SHA256 (rust/crates/malloc_buf-0.0.6.crate) = 62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb
+SIZE (rust/crates/malloc_buf-0.0.6.crate) = 1239
+SHA256 (rust/crates/matches-0.1.6.crate) = 100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376
+SIZE (rust/crates/matches-0.1.6.crate) = 1916
+SHA256 (rust/crates/memchr-0.1.11.crate) = d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20
+SIZE (rust/crates/memchr-0.1.11.crate) = 6977
+SHA256 (rust/crates/memchr-2.3.0.crate) = 3197e20c7edb283f87c071ddfc7a2cca8f8e0b888c242959846a6fce03c72223
+SIZE (rust/crates/memchr-2.3.0.crate) = 22308
+SHA256 (rust/crates/miniz-sys-0.1.10.crate) = 609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7e2b4
+SIZE (rust/crates/miniz-sys-0.1.10.crate) = 53357
+SHA256 (rust/crates/mio-0.6.16.crate) = 71646331f2619b1026cc302f87a2b8b648d5c6dd6937846a16cc8ce0f347f432
+SIZE (rust/crates/mio-0.6.16.crate) = 126174
+SHA256 (rust/crates/mio-uds-0.6.7.crate) = 966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125
+SIZE (rust/crates/mio-uds-0.6.7.crate) = 14389
+SHA256 (rust/crates/miow-0.2.1.crate) = 8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919
+SIZE (rust/crates/miow-0.2.1.crate) = 21133
+SHA256 (rust/crates/net2-0.2.33.crate) = 42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88
+SIZE (rust/crates/net2-0.2.33.crate) = 20936
+SHA256 (rust/crates/nix-0.10.0.crate) = b7fd5681d13fda646462cfbd4e5f2051279a89a544d50eb98c365b507246839f
+SIZE (rust/crates/nix-0.10.0.crate) = 124570
+SHA256 (rust/crates/num-integer-0.1.38.crate) = 6ac0ea58d64a89d9d6b7688031b3be9358d6c919badcf7fbb0527ccfd891ee45
+SIZE (rust/crates/num-integer-0.1.38.crate) = 12929
+SHA256 (rust/crates/num-traits-0.1.43.crate) = 92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31
+SIZE (rust/crates/num-traits-0.1.43.crate) = 7659
+SHA256 (rust/crates/num-traits-0.2.4.crate) = 775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28
+SIZE (rust/crates/num-traits-0.2.4.crate) = 38463
+SHA256 (rust/crates/num_cpus-1.10.1.crate) = bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273
+SIZE (rust/crates/num_cpus-1.10.1.crate) = 11151
+SHA256 (rust/crates/objc-0.2.2.crate) = 877f30f37acef6749b1841cceab289707f211aecfc756553cd63976190e6cc2e
+SIZE (rust/crates/objc-0.2.2.crate) = 17787
+SHA256 (rust/crates/objc-foundation-0.1.1.crate) = 1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9
+SIZE (rust/crates/objc-foundation-0.1.1.crate) = 9063
+SHA256 (rust/crates/objc_id-0.1.0.crate) = e4730aa1c64d722db45f7ccc4113a3e2c465d018de6db4d3e7dfe031e8c8a297
+SIZE (rust/crates/objc_id-0.1.0.crate) = 3341
+SHA256 (rust/crates/ole32-sys-0.2.0.crate) = 5d2c49021782e5233cd243168edfa8037574afed4eba4bbaf538b3d8d1789d8c
+SIZE (rust/crates/ole32-sys-0.2.0.crate) = 4227
+SHA256 (rust/crates/onig-3.2.2.crate) = f5eeb268a4620c74ea5768c6d2ccd492d60a47a8754666b91a46bfc35cd4d1ba
+SIZE (rust/crates/onig-3.2.2.crate) = 36111
+SHA256 (rust/crates/onig_sys-68.0.1.crate) = 5c6be7c4f985508684e54f18dd37f71e66f3e1ad9318336a520d7e42f0d3ea8e
+SIZE (rust/crates/onig_sys-68.0.1.crate) = 647250
+SHA256 (rust/crates/os_pipe-0.6.1.crate) = 934868c3f86ed7a39ef63d88edeac5bd49a0c843192651900e9ce1178cbbf157
+SIZE (rust/crates/os_pipe-0.6.1.crate) = 8451
+SHA256 (rust/crates/pad-0.1.5.crate) = 9c9b8de33465981073e32e1d75bb89ade49062bb853e7c97ec2c13439095563a
+SIZE (rust/crates/pad-0.1.5.crate) = 4853
+SHA256 (rust/crates/percent-encoding-2.1.0.crate) = d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e
+SIZE (rust/crates/percent-encoding-2.1.0.crate) = 9748
+SHA256 (rust/crates/pest-1.0.6.crate) = 0fce5d8b5cc33983fc74f78ad552b5522ab41442c4ca91606e4236eb4b5ceefc
+SIZE (rust/crates/pest-1.0.6.crate) = 27298
+SHA256 (rust/crates/pest_derive-1.0.7.crate) = ab94faafeb93f4c5e3ce81ca0e5a779529a602ad5d09ae6d21996bfb8b6a52bf
+SIZE (rust/crates/pest_derive-1.0.7.crate) = 28093
+SHA256 (rust/crates/pkg-config-0.3.11.crate) = 110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f
+SIZE (rust/crates/pkg-config-0.3.11.crate) = 13227
+SHA256 (rust/crates/plist-0.2.4.crate) = c61ac2afed2856590ae79d6f358a24b85ece246d2aa134741a66d589519b7503
+SIZE (rust/crates/plist-0.2.4.crate) = 20553
+SHA256 (rust/crates/proc-macro2-0.4.6.crate) = effdb53b25cdad54f8f48843d67398f7ef2e14f12c1b4cb4effc549a6462a4d6
+SIZE (rust/crates/proc-macro2-0.4.6.crate) = 27767
+SHA256 (rust/crates/quick-error-1.2.2.crate) = 9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0
+SIZE (rust/crates/quick-error-1.2.2.crate) = 15132
+SHA256 (rust/crates/quote-0.3.15.crate) = 7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a
+SIZE (rust/crates/quote-0.3.15.crate) = 12041
+SHA256 (rust/crates/quote-0.6.3.crate) = e44651a0dc4cdd99f71c83b561e221f714912d11af1a4dff0631f923d53af035
+SIZE (rust/crates/quote-0.6.3.crate) = 14154
+SHA256 (rust/crates/rand-0.4.2.crate) = eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5
+SIZE (rust/crates/rand-0.4.2.crate) = 76170
+SHA256 (rust/crates/redox_syscall-0.1.40.crate) = c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1
+SIZE (rust/crates/redox_syscall-0.1.40.crate) = 14745
+SHA256 (rust/crates/redox_termios-0.1.1.crate) = 7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76
+SIZE (rust/crates/redox_termios-0.1.1.crate) = 3227
+SHA256 (rust/crates/regex-0.1.80.crate) = 4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019402f
+SIZE (rust/crates/regex-0.1.80.crate) = 185806
+SHA256 (rust/crates/regex-0.2.11.crate) = 9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384
+SIZE (rust/crates/regex-0.2.11.crate) = 209507
+SHA256 (rust/crates/regex-1.3.4.crate) = 322cf97724bea3ee221b78fe25ac9c46114ebb51747ad5babd51a2fc6a8235a8
+SIZE (rust/crates/regex-1.3.4.crate) = 235086
+SHA256 (rust/crates/regex-syntax-0.3.9.crate) = f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db834957
+SIZE (rust/crates/regex-syntax-0.3.9.crate) = 117427
+SHA256 (rust/crates/regex-syntax-0.4.2.crate) = 8e931c58b93d86f080c734bfd2bce7dd0079ae2331235818133c8be7f422e20e
+SIZE (rust/crates/regex-syntax-0.4.2.crate) = 126234
+SHA256 (rust/crates/regex-syntax-0.5.6.crate) = 7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7
+SIZE (rust/crates/regex-syntax-0.5.6.crate) = 233912
+SHA256 (rust/crates/regex-syntax-0.6.14.crate) = b28dfe3fe9badec5dbf0a79a9cccad2cfc2ab5484bdb3e44cbd1ae8b3ba2be06
+SIZE (rust/crates/regex-syntax-0.6.14.crate) = 289666
+SHA256 (rust/crates/rustc-demangle-0.1.8.crate) = 76d7ba1feafada44f2d38eed812bd2489a03c0f5abb975799251518b68848649
+SIZE (rust/crates/rustc-demangle-0.1.8.crate) = 10737
+SHA256 (rust/crates/safemem-0.2.0.crate) = e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f
+SIZE (rust/crates/safemem-0.2.0.crate) = 6450
+SHA256 (rust/crates/same-file-1.0.2.crate) = cfb6eded0b06a0b512c8ddbcf04089138c9b4362c2f696f3c3d76039d68f3637
+SIZE (rust/crates/same-file-1.0.2.crate) = 8870
+SHA256 (rust/crates/scribe-0.7.2.crate) = cb99ef1fd77b50de934186933961ce2ee4d88c0a533a7ad0cd0cf7fc90600943
+SIZE (rust/crates/scribe-0.7.2.crate) = 28659
+SHA256 (rust/crates/serde-1.0.66.crate) = e9a2d9a9ac5120e0f768801ca2b58ad6eec929dc9d1d616c162f208869c2ce95
+SIZE (rust/crates/serde-1.0.66.crate) = 71947
+SHA256 (rust/crates/serde_derive-1.0.66.crate) = 0a90213fa7e0f5eac3f7afe2d5ff6b088af515052cc7303bd68c7e3b91a3fb79
+SIZE (rust/crates/serde_derive-1.0.66.crate) = 45894
+SHA256 (rust/crates/serde_json-1.0.19.crate) = 93aee34bb692dde91e602871bc792dd319e489c7308cdbbe5f27cf27c64280f5
+SIZE (rust/crates/serde_json-1.0.19.crate) = 65039
+SHA256 (rust/crates/shared_child-0.3.2.crate) = bcd5e483b3475af9bc2a35311c2f3bbf0bd98fde91410ab15a0d4ba3c3127b4e
+SIZE (rust/crates/shared_child-0.3.2.crate) = 6845
+SHA256 (rust/crates/shell32-sys-0.1.2.crate) = 9ee04b46101f57121c9da2b151988283b6beb79b34f5bb29a58ee48cb695122c
+SIZE (rust/crates/shell32-sys-0.1.2.crate) = 6204
+SHA256 (rust/crates/signal-hook-0.1.9.crate) = 72ab58f1fda436857e6337dcb6a5aaa34f16c5ddc87b3a8b6ef7a212f90b9c5a
+SIZE (rust/crates/signal-hook-0.1.9.crate) = 20380
+SHA256 (rust/crates/signal-hook-registry-1.0.1.crate) = cded4ffa32146722ec54ab1f16320568465aa922aa9ab4708129599740da85d7
+SIZE (rust/crates/signal-hook-registry-1.0.1.crate) = 12520
+SHA256 (rust/crates/simplelog-0.5.2.crate) = 9cc12b39fdf4c9a07f88bffac2d628f0118ed5ac077a4b0feece61fadf1429e5
+SIZE (rust/crates/simplelog-0.5.2.crate) = 12708
+SHA256 (rust/crates/slab-0.4.1.crate) = 5f9776d6b986f77b35c6cf846c11ad986ff128fe0b2b63a3628e3755e8d3102d
+SIZE (rust/crates/slab-0.4.1.crate) = 9479
+SHA256 (rust/crates/smallvec-0.4.5.crate) = f90c5e5fe535e48807ab94fc611d323935f39d4660c52b26b96446a7b33aef10
+SIZE (rust/crates/smallvec-0.4.5.crate) = 11964
+SHA256 (rust/crates/strsim-0.7.0.crate) = bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550
+SIZE (rust/crates/strsim-0.7.0.crate) = 8435
+SHA256 (rust/crates/syn-0.11.11.crate) = d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad
+SIZE (rust/crates/syn-0.11.11.crate) = 63309
+SHA256 (rust/crates/syn-0.14.2.crate) = c67da57e61ebc7b7b6fff56bb34440ca3a83db037320b0507af4c10368deda7d
+SIZE (rust/crates/syn-0.14.2.crate) = 133756
+SHA256 (rust/crates/synom-0.11.3.crate) = a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6
+SIZE (rust/crates/synom-0.11.3.crate) = 17120
+SHA256 (rust/crates/synstructure-0.6.1.crate) = 3a761d12e6d8dcb4dcf952a7a89b475e3a9d69e4a69307e01a470977642914bd
+SIZE (rust/crates/synstructure-0.6.1.crate) = 11257
+SHA256 (rust/crates/syntect-2.1.0.crate) = dc8a6f0db88d4afc340522c20d260411e746b2225b257c6b238a75de9d7cec78
+SIZE (rust/crates/syntect-2.1.0.crate) = 665726
+SHA256 (rust/crates/term-0.5.1.crate) = 5e6b677dd1e8214ea1ef4297f85dbcbed8e8cdddb561040cc998ca2551c37561
+SIZE (rust/crates/term-0.5.1.crate) = 39105
+SHA256 (rust/crates/termion-1.5.1.crate) = 689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096
+SIZE (rust/crates/termion-1.5.1.crate) = 20659
+SHA256 (rust/crates/textwrap-0.9.0.crate) = c0b59b6b4b44d867f1370ef1bd91bfb262bf07bf0ae65c202ea2fbc16153b693
+SIZE (rust/crates/textwrap-0.9.0.crate) = 15795
+SHA256 (rust/crates/thread-id-2.0.0.crate) = a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0ff03
+SIZE (rust/crates/thread-id-2.0.0.crate) = 6108
+SHA256 (rust/crates/thread-scoped-1.0.2.crate) = bcbb6aa301e5d3b0b5ef639c9a9c7e2f1c944f177b460c04dc24c69b1fa2bd99
+SIZE (rust/crates/thread-scoped-1.0.2.crate) = 4321
+SHA256 (rust/crates/thread_local-0.2.7.crate) = 8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18cfdd5
+SIZE (rust/crates/thread_local-0.2.7.crate) = 10954
+SHA256 (rust/crates/thread_local-0.3.5.crate) = 279ef31c19ededf577bfd12dfae728040a21f635b06a24cd670ff510edd38963
+SIZE (rust/crates/thread_local-0.3.5.crate) = 11794
+SHA256 (rust/crates/thread_local-1.0.1.crate) = d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14
+SIZE (rust/crates/thread_local-1.0.1.crate) = 12609
+SHA256 (rust/crates/time-0.1.40.crate) = d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b
+SIZE (rust/crates/time-0.1.40.crate) = 29518
+SHA256 (rust/crates/ucd-util-0.1.1.crate) = fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d
+SIZE (rust/crates/ucd-util-0.1.1.crate) = 24221
+SHA256 (rust/crates/unicode-bidi-0.3.4.crate) = 49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5
+SIZE (rust/crates/unicode-bidi-0.3.4.crate) = 32228
+SHA256 (rust/crates/unicode-normalization-0.1.7.crate) = 6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25
+SIZE (rust/crates/unicode-normalization-0.1.7.crate) = 330545
+SHA256 (rust/crates/unicode-segmentation-1.0.3.crate) = 3c5336c5173d8a77ae0b36151c706e32ae10f4985e29d704ad5b5f9565d6d4b6
+SIZE (rust/crates/unicode-segmentation-1.0.3.crate) = 65077
+SHA256 (rust/crates/unicode-width-0.1.5.crate) = 882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526
+SIZE (rust/crates/unicode-width-0.1.5.crate) = 15761
+SHA256 (rust/crates/unicode-xid-0.0.4.crate) = 8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc
+SIZE (rust/crates/unicode-xid-0.0.4.crate) = 16034
+SHA256 (rust/crates/unicode-xid-0.1.0.crate) = fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc
+SIZE (rust/crates/unicode-xid-0.1.0.crate) = 16000
+SHA256 (rust/crates/unreachable-1.0.0.crate) = 382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56
+SIZE (rust/crates/unreachable-1.0.0.crate) = 6355
+SHA256 (rust/crates/url-2.1.0.crate) = 75b414f6c464c879d7f9babf951f23bc3743fb7313c081b2e6ca719067ea9d61
+SIZE (rust/crates/url-2.1.0.crate) = 64776
+SHA256 (rust/crates/utf8-ranges-0.1.3.crate) = a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830ae0f
+SIZE (rust/crates/utf8-ranges-0.1.3.crate) = 8422
+SHA256 (rust/crates/utf8-ranges-1.0.0.crate) = 662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122
+SIZE (rust/crates/utf8-ranges-1.0.0.crate) = 8599
+SHA256 (rust/crates/vcpkg-0.2.3.crate) = 7ed0f6789c8a85ca41bbc1c9d175422116a9869bd1cf31bb08e1493ecce60380
+SIZE (rust/crates/vcpkg-0.2.3.crate) = 6015
+SHA256 (rust/crates/vec_map-0.8.1.crate) = 05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a
+SIZE (rust/crates/vec_map-0.8.1.crate) = 14959
+SHA256 (rust/crates/void-1.0.2.crate) = 6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d
+SIZE (rust/crates/void-1.0.2.crate) = 2356
+SHA256 (rust/crates/walkdir-2.1.4.crate) = 63636bd0eb3d00ccb8b9036381b526efac53caf112b7783b730ab3f8e44da369
+SIZE (rust/crates/walkdir-2.1.4.crate) = 22695
+SHA256 (rust/crates/wasi-0.7.0.crate) = b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d
+SIZE (rust/crates/wasi-0.7.0.crate) = 33941
+SHA256 (rust/crates/winapi-0.2.8.crate) = 167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a
+SIZE (rust/crates/winapi-0.2.8.crate) = 455145
+SHA256 (rust/crates/winapi-0.3.5.crate) = 773ef9dcc5f24b7d850d0ff101e542ff24c3b090a9768e03ff889fdef41f00fd
+SIZE (rust/crates/winapi-0.3.5.crate) = 997942
+SHA256 (rust/crates/winapi-build-0.1.1.crate) = 2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc
+SIZE (rust/crates/winapi-build-0.1.1.crate) = 669
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/ws2_32-sys-0.2.1.crate) = d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e
+SIZE (rust/crates/ws2_32-sys-0.2.1.crate) = 4697
+SHA256 (rust/crates/x11-clipboard-0.2.2.crate) = 2e7374c7699210cca7084ca61d57e09640fc744d1391808cb9ae2fe4ca9bd1df
+SIZE (rust/crates/x11-clipboard-0.2.2.crate) = 5820
+SHA256 (rust/crates/xcb-0.8.2.crate) = 5e917a3f24142e9ff8be2414e36c649d47d6cc2ba81f16201cdef96e533e02de
+SIZE (rust/crates/xcb-0.8.2.crate) = 129071
+SHA256 (rust/crates/xdg-2.1.0.crate) = a66b7c2281ebde13cf4391d70d4c7e5946c3c25e72a7b859ca8f677dcd0b0c61
+SIZE (rust/crates/xdg-2.1.0.crate) = 12444
+SHA256 (rust/crates/xml-rs-0.7.0.crate) = 3c1cb601d29fe2c2ac60a2b2e5e293994d87a1f6fa9687a31a15270f909be9c2
+SIZE (rust/crates/xml-rs-0.7.0.crate) = 50980
+SHA256 (rust/crates/yaml-rust-0.3.5.crate) = e66366e18dc58b46801afbf2ca7661a9f59cc8c5962c29892b6039b4f86fa992
+SIZE (rust/crates/yaml-rust-0.3.5.crate) = 42087
+SHA256 (rust/crates/yaml-rust-0.4.0.crate) = 57ab38ee1a4a266ed033496cf9af1828d8d6e6c1cfa5f643a2809effcae4d628
+SIZE (rust/crates/yaml-rust-0.4.0.crate) = 44668
+SHA256 (jmacdonald-amp-0.6.2_GH0.tar.gz) = 9279efcecdb743b8987fbedf281f569d84eaf42a0eee556c3447f3dc9c9dfe3b
+SIZE (jmacdonald-amp-0.6.2_GH0.tar.gz) = 454574
diff --git a/editors/amp/pkg-descr b/editors/amp/pkg-descr
new file mode 100644
index 000000000000..3af5798952f2
--- /dev/null
+++ b/editors/amp/pkg-descr
@@ -0,0 +1,5 @@
+Heavily inspired by Vi/Vim. Amp aims to take the core interaction model
+of Vim, simplify it, and bundle in the essential features required for
+a modern text editor.
+
+WWW: https://amp.rs/