git: a4e552651ca5 - main - editors/ad: Adaptable text editor
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 06 Oct 2024 11:50:10 UTC
The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/ports/commit/?id=a4e552651ca542b651d153c21a2e06801959cfe2 commit a4e552651ca542b651d153c21a2e06801959cfe2 Author: Robert Clausecker <fuz@FreeBSD.org> AuthorDate: 2024-10-04 14:00:32 +0000 Commit: Robert Clausecker <fuz@FreeBSD.org> CommitDate: 2024-10-06 11:49:20 +0000 editors/ad: Adaptable text editor ad (pronounced A.D.) is an attempt at combining a modal editing interface of likes of vi and kakoune with the approach to extensibility of Plan9's Acme. Inside of ad text is something you can execute as well as edit. It is primarily intended as playground for experimenting with implementing various text editor features and currently is not at all optimised or feature complete enough for use as your main text editor. ad is aiming to be a hybrid of the pieces of various editors that I find most useful: - vim style modal editing to allow for convenient key bindings - convenient text navigation and selection from vim/kakoune - mini-buffer based user defined minor modes from emacs - sam/acme style editing commands for larger editing actions - acme style extension through exposing editor state and functionality for external client programs. - support for mouse based navigation and selection but not requiring that as the main way of using the editor like in acme. That's fine for desktop but most of the time I'm working with a laptop which makes that far too clunky. ad is not trying to replace vim (or kakoune, or emacs) in terms of being a massively hackable editor. Rather it is trying to follow the philosophy of acme in being an integrating development environment (rather than integrated). By which I mean that the aim is to provide a comfortable editing environment to work in that supports direct interaction with external tools and programs from the outside rather than pulling everything in. WWW: https://crates.io/crates/ad-editor --- editors/Makefile | 1 + editors/ad/Makefile | 24 +++++ editors/ad/Makefile.crates | 87 ++++++++++++++++++ editors/ad/distinfo | 177 +++++++++++++++++++++++++++++++++++++ editors/ad/files/patch-src_util.rs | 20 +++++ editors/ad/pkg-descr | 30 +++++++ 6 files changed, 339 insertions(+) diff --git a/editors/Makefile b/editors/Makefile index f4faa7a859a2..556ca00fa303 100644 --- a/editors/Makefile +++ b/editors/Makefile @@ -3,6 +3,7 @@ SUBDIR += 2bsd-vi SUBDIR += abiword SUBDIR += abiword-docs + SUBDIR += ad SUBDIR += aee SUBDIR += aewan SUBDIR += amp diff --git a/editors/ad/Makefile b/editors/ad/Makefile new file mode 100644 index 000000000000..6d2804df5d0e --- /dev/null +++ b/editors/ad/Makefile @@ -0,0 +1,24 @@ +PORTNAME= ad +DISTVERSION= 0.1.2 +CATEGORIES= editors + +MAINTAINER= fuz@FreeBSD.org +COMMENT= Adaptable text editor +WWW= https://crates.io/crates/ad-editor + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= xclip:x11/xclip + +USES= cargo +USE_GITHUB= yes +GH_ACCOUNT= sminez + +PLIST_FILES= bin/ad \ + share/man/man1/ad.1.gz + +post-install: + ${INSTALL_MAN} ${WRKSRC}/doc/man/ad.1 ${STAGEDIR}${PREFIX}/share/man/man1/ + +.include <bsd.port.mk> diff --git a/editors/ad/Makefile.crates b/editors/ad/Makefile.crates new file mode 100644 index 000000000000..cecd24132350 --- /dev/null +++ b/editors/ad/Makefile.crates @@ -0,0 +1,87 @@ +CARGO_CRATES= aho-corasick-1.1.3 \ + anes-0.1.6 \ + anstyle-1.0.8 \ + autocfg-1.3.0 \ + bitflags-2.6.0 \ + bumpalo-3.16.0 \ + cast-0.3.0 \ + cfg-if-1.0.0 \ + ciborium-0.2.2 \ + ciborium-io-0.2.2 \ + ciborium-ll-0.2.2 \ + clap-4.5.17 \ + clap_builder-4.5.17 \ + clap_lex-0.7.2 \ + criterion-0.5.1 \ + criterion-plot-0.5.0 \ + crossbeam-deque-0.8.5 \ + crossbeam-epoch-0.9.18 \ + crossbeam-utils-0.8.20 \ + crunchy-0.2.2 \ + either-1.13.0 \ + half-2.4.1 \ + hermit-abi-0.4.0 \ + is-terminal-0.4.13 \ + itertools-0.10.5 \ + itoa-1.0.11 \ + js-sys-0.3.70 \ + lazy_static-1.5.0 \ + libc-0.2.158 \ + log-0.4.22 \ + memchr-2.7.4 \ + nu-ansi-term-0.46.0 \ + num-traits-0.2.19 \ + once_cell-1.19.0 \ + oorandom-11.1.4 \ + overload-0.1.1 \ + pin-project-lite-0.2.14 \ + plotters-0.3.7 \ + plotters-backend-0.3.7 \ + plotters-svg-0.3.7 \ + proc-macro2-1.0.86 \ + quote-1.0.37 \ + rayon-1.10.0 \ + rayon-core-1.12.1 \ + regex-1.10.6 \ + regex-automata-0.4.7 \ + regex-syntax-0.8.4 \ + ryu-1.0.18 \ + same-file-1.0.6 \ + serde-1.0.210 \ + serde_derive-1.0.210 \ + serde_json-1.0.128 \ + sharded-slab-0.1.7 \ + simple_test_case-1.2.0 \ + smallvec-1.13.2 \ + syn-2.0.77 \ + thread_local-1.1.8 \ + tinytemplate-1.2.1 \ + tracing-0.1.40 \ + tracing-attributes-0.1.27 \ + tracing-core-0.1.32 \ + tracing-log-0.2.0 \ + tracing-subscriber-0.3.18 \ + unicode-ident-1.0.13 \ + valuable-0.1.0 \ + walkdir-2.5.0 \ + wasm-bindgen-0.2.93 \ + wasm-bindgen-backend-0.2.93 \ + wasm-bindgen-macro-0.2.93 \ + wasm-bindgen-macro-support-0.2.93 \ + wasm-bindgen-shared-0.2.93 \ + web-sys-0.3.70 \ + winapi-0.3.9 \ + winapi-i686-pc-windows-gnu-0.4.0 \ + winapi-util-0.1.9 \ + winapi-x86_64-pc-windows-gnu-0.4.0 \ + windows-sys-0.52.0 \ + windows-sys-0.59.0 \ + windows-targets-0.52.6 \ + windows_aarch64_gnullvm-0.52.6 \ + windows_aarch64_msvc-0.52.6 \ + windows_i686_gnu-0.52.6 \ + windows_i686_gnullvm-0.52.6 \ + windows_i686_msvc-0.52.6 \ + windows_x86_64_gnu-0.52.6 \ + windows_x86_64_gnullvm-0.52.6 \ + windows_x86_64_msvc-0.52.6 diff --git a/editors/ad/distinfo b/editors/ad/distinfo new file mode 100644 index 000000000000..a2bd489cdc8a --- /dev/null +++ b/editors/ad/distinfo @@ -0,0 +1,177 @@ +TIMESTAMP = 1728049546 +SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916 +SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311 +SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299 +SIZE (rust/crates/anes-0.1.6.crate) = 23857 +SHA256 (rust/crates/anstyle-1.0.8.crate) = 1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1 +SIZE (rust/crates/anstyle-1.0.8.crate) = 15771 +SHA256 (rust/crates/autocfg-1.3.0.crate) = 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0 +SIZE (rust/crates/autocfg-1.3.0.crate) = 16524 +SHA256 (rust/crates/bitflags-2.6.0.crate) = b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de +SIZE (rust/crates/bitflags-2.6.0.crate) = 45357 +SHA256 (rust/crates/bumpalo-3.16.0.crate) = 79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c +SIZE (rust/crates/bumpalo-3.16.0.crate) = 85677 +SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5 +SIZE (rust/crates/cast-0.3.0.crate) = 11452 +SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd +SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934 +SHA256 (rust/crates/ciborium-0.2.2.crate) = 42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e +SIZE (rust/crates/ciborium-0.2.2.crate) = 35611 +SHA256 (rust/crates/ciborium-io-0.2.2.crate) = 05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757 +SIZE (rust/crates/ciborium-io-0.2.2.crate) = 6697 +SHA256 (rust/crates/ciborium-ll-0.2.2.crate) = 57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9 +SIZE (rust/crates/ciborium-ll-0.2.2.crate) = 14695 +SHA256 (rust/crates/clap-4.5.17.crate) = 3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac +SIZE (rust/crates/clap-4.5.17.crate) = 56802 +SHA256 (rust/crates/clap_builder-4.5.17.crate) = 8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73 +SIZE (rust/crates/clap_builder-4.5.17.crate) = 163559 +SHA256 (rust/crates/clap_lex-0.7.2.crate) = 1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97 +SIZE (rust/crates/clap_lex-0.7.2.crate) = 12805 +SHA256 (rust/crates/criterion-0.5.1.crate) = f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f +SIZE (rust/crates/criterion-0.5.1.crate) = 110088 +SHA256 (rust/crates/criterion-plot-0.5.0.crate) = 6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1 +SIZE (rust/crates/criterion-plot-0.5.0.crate) = 22706 +SHA256 (rust/crates/crossbeam-deque-0.8.5.crate) = 613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d +SIZE (rust/crates/crossbeam-deque-0.8.5.crate) = 21726 +SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e +SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875 +SHA256 (rust/crates/crossbeam-utils-0.8.20.crate) = 22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80 +SIZE (rust/crates/crossbeam-utils-0.8.20.crate) = 42487 +SHA256 (rust/crates/crunchy-0.2.2.crate) = 7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7 +SIZE (rust/crates/crunchy-0.2.2.crate) = 2995 +SHA256 (rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0 +SIZE (rust/crates/either-1.13.0.crate) = 19169 +SHA256 (rust/crates/half-2.4.1.crate) = 6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888 +SIZE (rust/crates/half-2.4.1.crate) = 50892 +SHA256 (rust/crates/hermit-abi-0.4.0.crate) = fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc +SIZE (rust/crates/hermit-abi-0.4.0.crate) = 16310 +SHA256 (rust/crates/is-terminal-0.4.13.crate) = 261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b +SIZE (rust/crates/is-terminal-0.4.13.crate) = 7665 +SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473 +SIZE (rust/crates/itertools-0.10.5.crate) = 115354 +SHA256 (rust/crates/itoa-1.0.11.crate) = 49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b +SIZE (rust/crates/itoa-1.0.11.crate) = 10563 +SHA256 (rust/crates/js-sys-0.3.70.crate) = 1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a +SIZE (rust/crates/js-sys-0.3.70.crate) = 53863 +SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe +SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025 +SHA256 (rust/crates/libc-0.2.158.crate) = d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439 +SIZE (rust/crates/libc-0.2.158.crate) = 751340 +SHA256 (rust/crates/log-0.4.22.crate) = a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24 +SIZE (rust/crates/log-0.4.22.crate) = 44027 +SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3 +SIZE (rust/crates/memchr-2.7.4.crate) = 96670 +SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84 +SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311 +SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841 +SIZE (rust/crates/num-traits-0.2.19.crate) = 51631 +SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92 +SIZE (rust/crates/once_cell-1.19.0.crate) = 33046 +SHA256 (rust/crates/oorandom-11.1.4.crate) = b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9 +SIZE (rust/crates/oorandom-11.1.4.crate) = 10201 +SHA256 (rust/crates/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39 +SIZE (rust/crates/overload-0.1.1.crate) = 24439 +SHA256 (rust/crates/pin-project-lite-0.2.14.crate) = bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02 +SIZE (rust/crates/pin-project-lite-0.2.14.crate) = 28817 +SHA256 (rust/crates/plotters-0.3.7.crate) = 5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747 +SIZE (rust/crates/plotters-0.3.7.crate) = 149031 +SHA256 (rust/crates/plotters-backend-0.3.7.crate) = df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a +SIZE (rust/crates/plotters-backend-0.3.7.crate) = 13709 +SHA256 (rust/crates/plotters-svg-0.3.7.crate) = 51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670 +SIZE (rust/crates/plotters-svg-0.3.7.crate) = 6715 +SHA256 (rust/crates/proc-macro2-1.0.86.crate) = 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77 +SIZE (rust/crates/proc-macro2-1.0.86.crate) = 48958 +SHA256 (rust/crates/quote-1.0.37.crate) = b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af +SIZE (rust/crates/quote-1.0.37.crate) = 28558 +SHA256 (rust/crates/rayon-1.10.0.crate) = b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa +SIZE (rust/crates/rayon-1.10.0.crate) = 180155 +SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2 +SIZE (rust/crates/rayon-core-1.12.1.crate) = 70701 +SHA256 (rust/crates/regex-1.10.6.crate) = 4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619 +SIZE (rust/crates/regex-1.10.6.crate) = 253894 +SHA256 (rust/crates/regex-automata-0.4.7.crate) = 38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df +SIZE (rust/crates/regex-automata-0.4.7.crate) = 617582 +SHA256 (rust/crates/regex-syntax-0.8.4.crate) = 7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b +SIZE (rust/crates/regex-syntax-0.8.4.crate) = 347577 +SHA256 (rust/crates/ryu-1.0.18.crate) = f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f +SIZE (rust/crates/ryu-1.0.18.crate) = 47713 +SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502 +SIZE (rust/crates/same-file-1.0.6.crate) = 10183 +SHA256 (rust/crates/serde-1.0.210.crate) = c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a +SIZE (rust/crates/serde-1.0.210.crate) = 78338 +SHA256 (rust/crates/serde_derive-1.0.210.crate) = 243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f +SIZE (rust/crates/serde_derive-1.0.210.crate) = 56020 +SHA256 (rust/crates/serde_json-1.0.128.crate) = 6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8 +SIZE (rust/crates/serde_json-1.0.128.crate) = 149520 +SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6 +SIZE (rust/crates/sharded-slab-0.1.7.crate) = 58227 +SHA256 (rust/crates/simple_test_case-1.2.0.crate) = 5d0649fa40b80dcacda1cabd018fd47b6b0c7fbbda6e1c3f658a6c4d5926500a +SIZE (rust/crates/simple_test_case-1.2.0.crate) = 9956 +SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67 +SIZE (rust/crates/smallvec-1.13.2.crate) = 35216 +SHA256 (rust/crates/syn-2.0.77.crate) = 9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed +SIZE (rust/crates/syn-2.0.77.crate) = 268784 +SHA256 (rust/crates/thread_local-1.1.8.crate) = 8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c +SIZE (rust/crates/thread_local-1.1.8.crate) = 13962 +SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc +SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490 +SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef +SIZE (rust/crates/tracing-0.1.40.crate) = 79459 +SHA256 (rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7 +SIZE (rust/crates/tracing-attributes-0.1.27.crate) = 32241 +SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54 +SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221 +SHA256 (rust/crates/tracing-log-0.2.0.crate) = ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3 +SIZE (rust/crates/tracing-log-0.2.0.crate) = 17561 +SHA256 (rust/crates/tracing-subscriber-0.3.18.crate) = ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b +SIZE (rust/crates/tracing-subscriber-0.3.18.crate) = 196312 +SHA256 (rust/crates/unicode-ident-1.0.13.crate) = e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe +SIZE (rust/crates/unicode-ident-1.0.13.crate) = 43279 +SHA256 (rust/crates/valuable-0.1.0.crate) = 830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d +SIZE (rust/crates/valuable-0.1.0.crate) = 27718 +SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b +SIZE (rust/crates/walkdir-2.5.0.crate) = 23951 +SHA256 (rust/crates/wasm-bindgen-0.2.93.crate) = a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5 +SIZE (rust/crates/wasm-bindgen-0.2.93.crate) = 43769 +SHA256 (rust/crates/wasm-bindgen-backend-0.2.93.crate) = 9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b +SIZE (rust/crates/wasm-bindgen-backend-0.2.93.crate) = 30344 +SHA256 (rust/crates/wasm-bindgen-macro-0.2.93.crate) = 585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf +SIZE (rust/crates/wasm-bindgen-macro-0.2.93.crate) = 6822 +SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.93.crate) = afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836 +SIZE (rust/crates/wasm-bindgen-macro-support-0.2.93.crate) = 20642 +SHA256 (rust/crates/wasm-bindgen-shared-0.2.93.crate) = c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484 +SIZE (rust/crates/wasm-bindgen-shared-0.2.93.crate) = 7527 +SHA256 (rust/crates/web-sys-0.3.70.crate) = 26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0 +SIZE (rust/crates/web-sys-0.3.70.crate) = 615438 +SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419 +SIZE (rust/crates/winapi-0.3.9.crate) = 1200382 +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-util-0.1.9.crate) = cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb +SIZE (rust/crates/winapi-util-0.1.9.crate) = 12464 +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/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d +SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877 +SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b +SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323 +SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973 +SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3 +SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718 +SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469 +SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615 +SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b +SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402 +SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66 +SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940 +SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66 +SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163 +SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78 +SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d +SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707 +SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec +SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564 +SHA256 (sminez-ad-0.1.2_GH0.tar.gz) = 859b45bcde3fe4b4aeb93bd8a9a059963552763082b72d0f37ded808e693c782 +SIZE (sminez-ad-0.1.2_GH0.tar.gz) = 476497 diff --git a/editors/ad/files/patch-src_util.rs b/editors/ad/files/patch-src_util.rs new file mode 100644 index 000000000000..6cb43d5d1a5b --- /dev/null +++ b/editors/ad/files/patch-src_util.rs @@ -0,0 +1,20 @@ +--- src/util.rs.orig 2024-10-04 13:50:39 UTC ++++ src/util.rs +@@ -12,7 +12,7 @@ use std::{ + thread::spawn, + }; + +-#[cfg(target_os = "linux")] ++#[cfg(any(target_os = "linux", target_os = "freebsd"))] + /// Set the current system clipboard state using xclip. + pub fn set_clipboard(s: &str) -> io::Result<()> { + let mut child = Command::new("xclip") +@@ -23,7 +23,7 @@ pub fn set_clipboard(s: &str) -> io::Result<()> { + child.stdin.take().unwrap().write_all(s.as_bytes()) + } + +-#[cfg(target_os = "linux")] ++#[cfg(any(target_os = "linux", target_os = "freebsd"))] + /// Read the current system clipboard state using xclip. + pub fn read_clipboard() -> io::Result<String> { + let output = Command::new("xclip") diff --git a/editors/ad/pkg-descr b/editors/ad/pkg-descr new file mode 100644 index 000000000000..a01ac1c64815 --- /dev/null +++ b/editors/ad/pkg-descr @@ -0,0 +1,30 @@ +ad (pronounced A.D.) is an attempt at combining a modal editing +interface of likes of vi and kakoune with the approach to extensibility +of Plan9's Acme. Inside of ad text is something you can execute as +well as edit. + +It is primarily intended as playground for experimenting with +implementing various text editor features and currently is not at all +optimised or feature complete enough for use as your main text editor. + +ad is aiming to be a hybrid of the pieces of various editors that I find +most useful: + + - vim style modal editing to allow for convenient key bindings + - convenient text navigation and selection from vim/kakoune + - mini-buffer based user defined minor modes from emacs + - sam/acme style editing commands for larger editing actions + - acme style extension through exposing editor state and functionality + for external client programs. + - support for mouse based navigation and selection but not requiring + that as the main way of using the editor like in acme. That's fine + for desktop but most of the time I'm working with a laptop which + makes that far too clunky. + +ad is not trying to replace vim (or kakoune, or emacs) in terms of being +a massively hackable editor. Rather it is trying to follow the +philosophy of acme in being an integrating development environment +(rather than integrated). By which I mean that the aim is to provide a +comfortable editing environment to work in that supports direct +interaction with external tools and programs from the outside rather +than pulling everything in.