public void actionPerformed(JTextComponent target, SyntaxDocument sDoc,
int dot, ActionEvent e) {
String selected = target.getSelectedText();
if (selected == null) {
// Check for abbreviations:
Token abbrToken = sDoc.getWordAt(dot, wordsPattern);
//Integer tabStop = ActionUtils.getTabSize(target);
//int lineStart = sDoc.getParagraphElement(dot).getStartOffset();
//int column = dot - lineStart;
//int needed = tabStop - (column % tabStop);
if (abbrvs == null || abbrToken == null) {
target.replaceSelection("\t");
} else {
String abbr = abbrToken.getString(sDoc);
target.select(abbrToken.start, abbrToken.end());
if (abbrvs.containsKey(abbr)) {
abbr = abbrvs.get(abbr);
} else {
abbr += "\t";
}