Adium
Dock Icons Emoticons Contact List Styles Message Styles Sound Sets AppleScripts Status Icons Service Icons Menu Bar Icons Plugins Miscellaneous All
Fix Your Last Input Plugin

Fix Your Last Input Plugin

Submitted By Dustin (mannkind)

Description

Fix typos by writing PCRE regular expression substitutions like s/tyop/typo/g.

Source code available: Fix Your Last Input Adium Plugin @ GitHub

10.5+ only

Changes

  • Security Enhancement: Now uses libpcre (via ObjPCRE) instead of shelling out to sed
  • Bug Fix:Broken group chat bug fixed
  • Enhancement:Make corrections to previously corrected text
  • Enhancement:Won't send corrected text unless the regex caused a change

Images

Comments

You can reply to individual comments by clicking the "Reply" link next to each.

# by mannkind on 12/28/08 at 16:42:07

I hope this is working for people! I haven't received any feedback yet.

# by mlhshino on 01/07/09 at 10:31:58

It works well for me! Thanks for your great work!

I use Leopard and Adium 1.3.2.

# by Robert on 01/13/09 at 04:45:50

Not working for me in Adium 1.3.3b1, 10.4.11, G3 PPC

# by mannkind on 01/13/09 at 11:31:49

@Robert Hmmm. I wonder if it is the Beta version of Adium (I'm using 1.3.2) or because you're using a PPC. The plugin should be compatible with the 1.3 series and GetInfo on the plugin says it's Universal.

I'll try 1.3.3b1 tonight to see if that is the problem.

# by mannkind on 01/14/09 at 12:45:08

@Robert Looks like it works for me on Leopard, 1.3.3b1. Perhaps can you try deleting the plugin via the XtrasManager and reinstalling?

Just incase: You will probably be prompted to disable the plugin upon relaunch, make sure you don't click "Disable"

# by Robert on 01/29/09 at 12:15:18

Nope. Nothing happening in Tiger (10.4.11).

# by mannkind on 01/29/09 at 22:46:09

@Robert. I apologize for the problem. I did a minor update on 1/19 (v2.1) did you redownload it?

Can you run the "Console" application and check to see if you have any messages matching "HNFixYourLastInputPlugin" ?

Unfortunately, I don't have a Tiger machine to test on.

# by Robert on 01/30/09 at 01:36:19

Yes, I reinstalled, and checked the Console. Here you go:
http://adium.pastebin.com/m7c09fbdb

If it's any clue: while new versions of Skype, ChallengeResponse, and Sort By Log Size load and work fine, other plugins such as AdiumTimeZone and FTSenderSubdirectoriesPlugin haven't been lately and appear similarly in Console.

No apologies needed, hope I could help :)

# by mannkind on 02/01/09 at 15:51:54

Thanks for the info. Unfortunately, I'm still not sure what's wrong.

It's interesting that you mentioned FTSenderSubdirectories... that plugin is by the same author that made the original FixYourLastInput plugin for Adium (linked in the description).

Hmmm. Maybe I'll check with him...

# by dreamcore on 08/28/09 at 04:00:00

Nowadays, I'm running 10.5.7, and the current plugin loads in that I see the "Show Regex Correction Text" menu item, but input isn't being fixed. (I've never seen the plugin work.)

However, I should note that I am running the Adium betas, currently 1.4b9.

# by mannkind on 08/28/09 at 04:19:27

@dreamcore - I'm also using the Adium 1.4b9 beta (previously on Leopard, currently on Snow Leopard). The plugin is working ok for me. The "Show Regex Correction Text" menu item simply shows the regular expression you used. For example, if we were chatting...

I type: Hello dremcore!
Realizing that I made a typo, I type: s/dremcore/dreamcore/

IF "Show Regex Correction Text" is checked, the result will be: Correction (s/dremcore/dreamcore/): Hello dreamcore!

IF "Show Regex Correction Text" is not checked, the result will be: Correction: Hello dreamcore!

# by dreamcore on 08/28/09 at 05:25:21

Right, I figured that... I have it checked.

Gah, I found now in testing that I tended to omit the final / in the s/// operator. I think in informal use in irc, etc, I must have become accustomed to seeing and sloppily using it without the final / in this context. I don't know if I was doing this all along; I'm sorry for the trouble.

# by imatt15 on 02/01/09 at 14:46:44

Installed - have a question. What is the use of this if you have to write in the substitution every time you write a message? Is it possible to have a list of these substitutions in a list, and it will correct before it sends the message (ie you don't have to write the subs after the msg)

But good work on this, it seems to work as advertised :)

# by techkid on 02/26/09 at 14:34:37

Great plugin though my only query is whether it would be possible for an option to be added which would allow removal of the 'Correction: (s/tpyo/typo/g):' bit....

It'd be very helpful if I could hide the regex as this confuses some and also takes unnecessary space if the regex is long. Would this be possible? I seem to have narrowed the problem down to one place in the code on your Github:

NSString *newMessageRawText = [NSString stringWithFormat:
AILocalizedString(@"Correction (%@): %@", nil), messageString,
transformedMessage];

which seems to be hard-coded, meaning that you can't change it...

Perhaps a simple option to turn off the regex?

Thanks,
TechKid

P.S. (I could recompile this myself, but it'd be great if this could be added straight into the main addon)

# by mannkind on 03/02/09 at 23:13:05

Good suggestion. I'll look into it. I must admit, I'm not a fan of the 'correction (regex):' thing, but I left it in because it was in the original plugin.

# by techkid on 03/03/09 at 14:20:11

Hurray (and thank you). Please just notify me if I can be of any help and yeah, it seems a bit unnecessary and a developers' thing rather than for general usage and so has already confused several that I've talked to. Perhaps just:

This is a tpyo.
Correction: This is a typo

e.g. removing the (s/tpyo/typo/g) part... but simply, any more complex regexes can prove confusing.

Sorry to go on, but thanks again, and I hope it's not too much of a problem... :D

# by techkid on 03/15/09 at 09:07:29

Hurray! Rejoice! Thank you for the update to the Xtra as it now works brilliantly and as expected! Thanks once again.

Not to bombard you with suggestions, but it is worth noting for all users that if you correct a message, then realise you want to correct it again, the correction works on the last STANDARD message sent by YOU rather than the corrected message...

Thanks once again,
Tek

# by mannkind on 03/15/09 at 18:06:45

You are right. That design decision was not made by me, but the original author. If I get enough requests, maybe I'll change it.

# by techkid on 03/15/09 at 16:50:36

Hmm... just using the addon, I had an idea, which though rather larger than my previous suggestion, may be a VERY interesting and useful addon...
The idea I had was quite simply, an extension to this very addon which would allow a table, or list to be stored (as seen in Preferences -> Status for custom statuses) of regex patterns to be applied to EVERY message.
Or an easier way to think of it for those who use Microsoft Office is 'Regex AutoCorrect for Adium'
An example of this could be, if you wish to correct 'tpyo' to 'typo' every time:

s/tpyo/typo/g - this would be applied to every message, correcting EVERY instance of tpyo...

Another possibility would be, if the above would be too difficult to implement, an option to have a single string regex to be applied to all messages... Due to the use of sed, this could include multiple regexes. For example:

s/tpyo/typo/g; s/ehre/here/g; s/$/Disclaimer: hello/g; s/^/Message:/g

could be applied to all messages, both correcting typos and prefixing and suffixing text to each message. If such an addon could be made (which I suspect it could) then I believe it could be AMAZING for Adium :D
I would love to implement this myself, but unfortunately I haven't quite familiarised myself with Xcode and Adium Xtra creation yet but if anyone can give me pointers as to how to compile Adium Xtras then I'd be willing to carry out the necessary work...

Finally, it's worth nothing that in the latest version of this addon, the preference of whether to show/hide correction text is NOT remembered across Adium restarts...

Thanks again,
Tek

# by mannkind on 03/15/09 at 18:11:34

Huge suggestion aside (thanks!) the preference should be saved -- that's the whole point of a preference! haha. I must have lost that change somehow.

I've re-added saving/restoring the preference, so it should persist between Adium restarts.

I also changed the way the menu item works. It now shows a checkmark when active -- it used to change the text itself.


All this should be available soon, I think it's just waiting for the AdiumXtras admins to approve the new file.

# by techkid on 03/15/09 at 18:22:19

Hurray once again! Thanks for the change to the code and I can't wait to see the change and as for my huge suggestion, I don't really expect an implementation to be performed any time soon but if there's anyone listening out there with enough spare time & knowledge, I would just like to suggest it as a possibility for an amazing addon (on my part anyway).

Thanks again,
Tek

# by techkid on 03/15/09 at 18:24:13

Oh and once again, to anyone reading this comment, I would just like to put in a request on my part for a simple article, somewhere, on how to build Adium Xtras from source...

Thanks,
Tek

# by gsyoungblood on 01/08/10 at 06:43:34

Loved the plugin, but had a couple of issues. I'm not sure if it is DeAbbrevifier or Fix Your Last Input Plugin, but it appears there is some kind of conflict with 1.4b17 (December 1, 2009) release. After installing these I was no longer able to send messages to IRC or Jabber chats. One-on-one chats worked, but not group. Only way I got it to work again was to delete these two plugins.

Also after deleting them Adium stopped responding while quitting. After several minutes I finally force-quit Adium. Again, it's not enough information to conclusively say where the problem is, I'm just sharing it in case it is related and others experience similar frustrations.

# by mannkind on 01/08/10 at 06:58:54

I don't normally group chat, but I was able to replicate your issue using AIM group chat. I'm not sure if this happened in betas before 1.4b17; I can see that Adium is throwing errors in the Console...

I plan on looking into the issue when 1.4b18 comes out ... though perhaps I'll wait until 1.4 is released. We'll see.

Thanks for letting me know.

# by image on 02/19/10 at 05:12:28

I came across this problem recently... I can execute arbitrary shell commands with this plugin. For example, if I enter the following text message in a chat:

" | ssh taurine.csclub.uwaterloo.ca gimp& #

And then the following:

s//a/

I will launch gimp on a remote machine through Adium. I'm pretty sure this is not intended behaviour.

# by mannkind on 02/22/10 at 07:07:40

Thanks for the report.

I've attempted to fix the issue, the source is on github, and the xtra is awaiting (re)approval.

# by johnkzin on 07/13/10 at 18:00:59

How do you invoke it?

I sent a message:

testing

then I typed:

s/test/blah/

and it just sent that as a literal message, it didn't apply the perl-ism to the previous message. If my understanding of the picture (the only documentation, apparently) is correct, then that should have, instead, sent the second message as "blahing". But it didn't. Is there some special thing you do to invoke the plugin?

I'm using Adium 1.3.10 on OS X 10.6.4 on an intel iMac. I installed the plugin, and then re-started Adium.

# by johnkzin on 07/13/10 at 18:03:56

Nevermind. I see from opening up the sourcecode that you have to install PCRE yourself. I would like to suggest the following:

1) The above bullet items shouldn't just say "uses PCRE". It should say "YOU MUST INSTALL PCRE YOURSELF".
2) Give actual documentation above, so people know what they do and don't have to do in order to make it work, etc.

# by CronicFix on 02/14/11 at 16:51:55

I'm on 10.5.8 and didn't have to install anything in addition to this plugin

# by WTWick on 04/28/11 at 06:26:13

Plugin not working on 10.6.7 and Adium 1.3.10.

Great concept and looking forward to getting this working.

# by johay60 on 12/28/11 at 15:21:16

Plugin not working on 10.7.2 and Adium 1.4.3.

Is this nice plugin dead?

# by mannkind on 12/29/11 at 06:49:58

I haven't used Adium in quite some time... but I'm on a fresh install of 10.7.2, just downloaded Adium 1.4.4 and installed this plugin -- seems to still be working.

Post a New Comment

You must be logged in to post comments.

Install | Download
43.93kb (2794 downloads)

12345
4.20 / 25 votes
Current Version: 2.4
Last Updated: 04/29/10
Credits:
Henrik Nye -- The original Fix Your Last Input Plugin