User to user discussion and support for UltraEdit, UEStudio, UltraCompare, and other IDM applications.

Help with writing and running scripts
3 posts Page 1 of 1
Hello to everybody who is looking for a ROT13 function in UltraEdit... here is a working solution:

I was looking for a ROT13 function which actually works with the latest UltraEdit version (v20.x +). Even though ROT13 is not a serious crypto functionality I'd like to have it in Ultraedit as many of the other text editors already come with this feature.

So I've been looking around and found this thread with the very old and outdated ROT13 macro. I tested it with UltraEdit v20.x but it didn't really work out well as a macro. (It's not working out of the box and it is reeeally slow and not very effective). Besides that the original ROT13 doesn't rotate numbers. Furthermore the macro version was not case sensitive.

Because there wasn't any working solution around (or I didn't find it anywere), I began coding a little ROT13 script which adds full ROT13 functionality to the latest UltraEdit versions.

Here is how you add it:

  1. Download the "ROT13.zip" file attached to this post, it contains the "ROT13.js" script code.
  2. In UltraEdit go to Scripting -> Scripts -> Add. Then point to your downloaded and extracted "ROT13.js" and add it.
    (You can also move the file to your UltraEdit installation folder or user directory before you're actually adding it.)
That's it. ROT13 functionality is installed.

Here is how you use it:

  1. In UltraEdit mark and select the text of your active document where you want ROT13 to be applied on.
  2. Click on the "Scripting" menu at the top of UltraEdit. There should be a new entry at the bottom "ROT13.js". Click on it.
That's it. The selected text will be "encrypted" with ROT13.

BTW: Your selection will not get lost afterwards. You can for instance just apply ROT13.js again and the same selected text will be decrypted again.

This script is working really fast and is very effective. Furthermore it is case sensitive and doesn't rotate numbers (and no special-chars [upd. 2015-12-08]) as the original ROT13 should do.

UPDATE 2014-01-02: updated rot13.js (rot13.zip) so the re-selection also works with UTF-8 encoded files.
In the previous version, the re-selection of the processed text might be wrong with UTF-8 files because the calculation went wrong due to multibyte chars in contradiction to single byte chars in ASCII files.
Consider downloading the updated rot13.js if you work with UTF-8 files and need a working re-selection after the processing. In both versions rot13 has been applied correctly, though.


UPDATE 2015-12-08:
updated ROT13.js (download) to the latest Version.
Changelog:
  • this script now handles ROT13 completely the original way. Only letters will be affected, no special chars (like _ []) (thanks @pnosko for pointing out)
  • simplified script code.

If you have any questions or problems let me know.

Attachments

I tried it out. The rules for rot13 say: Only those letters which occur in the English alphabet are affected; numbers, symbols, whitespace, and all other characters are left unchanged.

It altered an "_" to an "L", which reverts incorrectly.
Thanks pnosko for pointing this out.
I've uploaded a fixed version which takes care of this. Everything should work as intended now.
3 posts Page 1 of 1