Procedural Text Edit
A downloadable tool for Windows and Linux
Procedural Text Edit
is a very powerful text editing tool driven by its own programming language. (free demo right below)
(See the official product page for additional information)
The demo version is equal to the full version, it only limits the input and program size. Therefore please get the demo and try it before buying the full version. This ensures that everything runs smoothly for you.
.ptep
programs are interpreted and run on input texts to produce the desired result.
It’s available as GUI
for very easy usage and as a console
version to interoperate it with existing programs or scripts. The program’s functions are applied in sequence on the input, feeding their result to the next function.
Since the GUI
displays the result in real-time, this makes it very easy to tune a complex program until it produces the expected result.
The programs only have read access to the input. It therefore is impossible to break the input data.
The available functions are grouped into different categories, explained below.
(See the full documentation for all available functions. An up-to-date documentation as well as a README is also included in the download)
Actions
Actions directly alter the text. There’s actions to append text, align the input, sort it, move words, remove duplicates and much more. There’s also combinators to apply other actions e.g. per line, per word or at certain split characters.
sort word cs // sort the words case sensitive reverse char // reverse everything character by character forEach line { // apply the following per line prepend "[] " // prepends "[] " to every line append "." // appends "." to every line }
Conditions
Conditions can be used in if
statements to only alter the text in certain cases.
contains, endsWith, isNumber and many more. There’s also combinators such as all
or not
which make it possible to create really complex conditions. There’s also ifelse
accepting a second set of actions that is executed if the condition is false.
// append "." to every number // "!" to others ifElse (isNumber) { append "." } { append "!" }
Selectors
With selectors actions can be applied to certain parts of the input. The selected part will be affected, while the rest will stay unchanged. There’s selectors such as after
, between
, firstN
and nth
.
// replace the third word of every line by "third" forEach line { select (nth word 3) { replace "third" } }
Currently known issues / shortcomings
- Some functions might not work properly if there's multiple spaces between words (e.g. alignment functions), multiple spaces might be collapsed to one.
- Case insensitive select methods might overwrite / change the case of the selection
- Unicode is not supported or tested, but it's possible that your use case works anyway. I suggest trying it in the demo before purchase.
Feedback / bugs
Feel free to use the comment section to leave any feedback or report bugs. I'd love to further improve Procedural Text Edit.
I signed all the releases with my PGP key.
Updated | 28 days ago |
Status | Released |
Category | Tool |
Platforms | Windows, Linux |
Rating | Rated 5.0 out of 5 stars (1 total ratings) |
Author | Martin Buck Software |
Tags | Text based, Typing |
Average session | About a half-hour |
Languages | English |
Links | Homepage |
Download
This tool is currently unavailable
Download demo
Development log
- Version 1.0.0 releasedFeb 18, 2019
- Version 0.16.0 releasedFeb 16, 2019
- Version 0.15.0 releasedJan 31, 2019
- Version 0.14.0 releasedJan 28, 2019
- Version 0.13.0 releasedJan 20, 2019
- Version 0.12.1 releasedJan 18, 2019
- Version 0.12.0 releasedJan 15, 2019
- Version 0.11.0 releasedJan 13, 2019
Comments
Log in with itch.io to leave a comment.
Curius about your Editor! I just found out your docu. Thanks for sharing!
I hope you like it :)