Hello ports@,

Please find attached a new port for Microsoft Edit 2.0.0:

editors/msedit

Microsoft Edit is a terminal text editor developed by Microsoft. It is
inspired by the classic MS-DOS Editor while providing a modern terminal
interface with mouse support, multiple documents, Unicode support,
search and replace, and syntax highlighting.

Upstream:

https://github.com/microsoft/edit

Release notes:

https://github.com/microsoft/edit/releases/tag/v2.0.0

I had looked at porting Edit previously, but older versions required a
nightly Rust toolchain, which made it unsuitable for the OpenBSD ports
tree. This changed with 2.0.0: upstream removed the remaining mandatory
nightly-only Rust features, and the editor can now be built normally
with stable Rust 1.93 or later. This makes a conventional MODCARGO port
possible.

Version 2.0.0 also introduces the Lightweight Syntax Highlighter, with
its own compiler and runtime, together with initial language
definitions. Other additions include preliminary settings.json support
for file associations, capture groups in regular-expression
replacement, moving lines with Alt+Up/Down, multi-line indentation with
Tab/Shift+Tab, Ctrl+L line selection, natural sorting in the file picker,
and opening directories directly in the file picker.

The release also contains a number of correctness fixes, including
Unicode input and file-writing fixes on Unix, zero-width regex
replacement support, improved mouse handling, and several Linux/Unix
portability fixes.

For OpenBSD, the port uses devel/cargo and builds the upstream "edit"
workspace package with the locked Cargo dependency set. The installed
executable is named "msedit" rather than the generic "edit", following
upstream's recommendation for systems where that name may conflict with
existing commands.

Edit loads ICU dynamically rather than linking against it directly.
The port therefore uses textproc/icu4c as a runtime dependency and
passes the OpenBSD ICU library paths explicitly. ICU symbol renaming
auto-detection is disabled for the OpenBSD configuration.

The port is currently restricted to amd64 and arm64.

The test suite also works cleanly on OpenBSD. The complete run gives:

65 passed
0 failed
1 ignored

The single ignored test is the upstream ICU initialization test:

icu::tests::init ... ignored

All other unit tests and doctests for edit, lsh, and stdext pass.

The only additional test dependency is archivers/zstd, which is used by
upstream's test/benchmark code and is not required by the installed
editor.

No local source patches are required.

Thank you for your time and consideration.

Best regards,
David.

Attachment: msedit-2.0.0.tar.gz
Description: application/gzip

Reply via email to