diff options
author | Thomas Voss <thomasvoss@live.com> | 2021-10-31 17:20:31 +0100 |
---|---|---|
committer | Thomas Voss <thomasvoss@live.com> | 2021-10-31 17:20:31 +0100 |
commit | 44e567c3a885e94e8b7ecdd83a08d92277478d67 (patch) | |
tree | 377b6508859f9d48375c0559b11c74594a8b6241 /AUTHORS | |
parent | 5daf98d0484feb7ab6d6e2e99682627e3865f58b (diff) | |
download | pygments-git-44e567c3a885e94e8b7ecdd83a08d92277478d67.tar.gz |
Add a lexer for the sed scripting language
Sed is a stream editing scripting language forming part of the POSIX
standard. This means that sed cn be found as part of any POSIX compliant
OS such as Linux, MacOS, and the BSDs. This lexer supports the complete
POSIX standard for sed as well as various GNU extensions.
The names 'gsed' and 'ssed' may sometimes be used as part of a file
extension to refer specifically to GNU sed or Super Sed, two popular
implementations of sed.
The sed language is rather simple, here is a quick overview:
- Comments begin with a '#' and continue to the end of the line.
- Commands can be prepended with a range that selects lines. This can be
either a number ([0-9]+), a '$', or a regular expression. Regular
expressions can either be enclosed in '/' such as /regex/ or they can
be exclosed in any other character however the opening delimiter must
be escaped, for example: \@regex@.
- Some commands such as 'w', 'r', and 'b' take a string as a parameter,
this string extends either to the next ';' or newline.
- Some commands such as 'a' can take multiline strings.
- Commands can be grouped with braces ('{' and '}').
- The 'y' command takes two strings as parameters, seperated by any
delimiter ('y/abc/123/' or 'y|abc|123|')
- The 's' command is like the 'y' command but the fist parameter is a
regular expression. Additionally it takes an optional 3rd parameter
which are a sequence of flags ('s|regex|replace|flags').
I chose to add support for GNU sed extensions as it is by far the most
used implementation.
Diffstat (limited to 'AUTHORS')
-rw-r--r-- | AUTHORS | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -246,5 +246,6 @@ Other contributors, listed alphabetically, are: * Fabian Neumann -- CDDL lexer * Thomas Duboucher -- CDDL lexer * Philipp Imhof -- Pango Markup formatter +* Thomas Voss -- Sed lexer Many thanks for all contributions! |