.\" To view this file, use `man -l README.7` .\" To view in other formats, look into mandoc(1) (recommended) or troff(1) . .\" Copyright (c) 2021 nytpu .\" SPDX-License-Identifier: GPL-3.0-only .\" For more license details, see LICENSE or . .Dd June 4, 2021 .Dt README 7 .Os nytpu.com . .Sh NAME .Nm ed .Nd line-oriented text editor . .Sh DESCRIPTION .Em THIS IS CURRENTLY UNFINISHED! There are currently some minor noncompliant parts .Pq namely default addresses for commands , but there is currently no regexes and no marks implemented. Basically all of the stuff that makes .Nm actually useful are totally missing. You can still try it out I guess though. . .Pp .Xr ed 1 is the standard UNIX text editor. While that is used a joke, .Nm is legitimately a useful editor in the modern day, particularly when: . .Bl -enum .It Making a quick edit in a file you're familiar with .It Working over slow connections (low-baud serial, SSH on a shaky hotspot, etc.) .It Programmatically editing files using the same commands you use to edit. Just make one edit manually, put those commands in a script, and run it on the rest of the files without having to convert the actions into a different scripting language like awk .El . .Pp This is a reimplementation that's more compliant with other .Nm implementations and the POSIX standard than .Lk https://www.gnu.org/software/ed/ GNU's implementation of ed , while still having some of GNU .Nm .Ap s convenience and extensions that are missing from those other .Nm implementations. It'll also be implemented more simply than GNU .Nm , and should have more clear and concise code (hopefully). . .Sh INSTALLING .Ss REQUIREMENTS .Bl -bullet .It POSIX or POSIX-compatible .Xr sh 1 , for the configure script. .It Pure POSIX .Xr make 1 . Most .Nm make .Ap s should support the POSIX standard. .It C compiler supporting C11. C99 is also supported as long as .Em stdnoreturn.h and .Em anonymous structs and enums are supported as extensions. .It VT100-compatible terminal, as .Xr linenoise 3 currently only supports VT100 termal sequences .Pq only very basic escape sequences required . If you don't know if your terminal supports VT100 escape sequences, then it does. .El . .Ss COMPILING .Bd -literal -offset indent \&./configure make sudo make install .Ed . .Sh CONTRIBUTING The upstream URL of this project is .Aq Lk https://git.nytpu.com/ed . Send suggestions, bugs, and other contributions to .Aq Mt alex@nytpu.com . For help sending a patch through email, see .Aq Lk https://git-send-email.io . . .Sh SEE ALSO .Xr ed 1 , .Xr ed 1p . .Sh STANDARDS The documentation, build system, source code, and resulting .Nm binary all conform to .St -p1003.1-2008 and .St -isoC-2011 in all cases where the said standards are applicable. .Sh COPYRIGHT .Nm is Copyright (C) 2021 .An nytpu .Aq Mt alex@nytpu.com . . .Pp .Nm is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You can find a copy of the GNU General Public license in .Pa LICENSE or at .Aq Lk https://www.gnu.org/licenses/gpl-3.0-standalone.html . . .Pp The build system .Po .Pa Makefile and .Pa configure .Pc for .Nm is licensed under the terms of the MIT license. For more information, see .Pa configure and .Pa Makefile , or see .Aq Lk https://opensource.org/licenses/MIT . No other portions of .Nm are licensed under the MIT license. .Pp .Nm uses .Xr linenoise 3 , which is Copyright (c) 2010-2014, .An Salvatore Sanfilippo .Aq antirez at gmail dot com & Copyright (c) 2010-2013, .An Pieter Noordhuis .Aq pcnoordhuis at gmail dot com and is licensed under the terms of the BSD 2-Clause License. For more information, see .Pa LICENSE_LINENOISE or .Aq Lk https://github.com/antirez/linenoise/ . .Pp .Nm uses code snippets from FreeBSD's implementation of .Nm . That code is Copyright (c) 1992-2021 .An The FreeBSD Project and is licensed under the terms of the FreeBSD License. For more information, see .Pa LICENSE_FREEBSD or .Aq Lk https://cgit.freebsd.org/src/tree/COPYRIGHT .