@Override public void performAction(ActionEvent e) { TabProjectSettings ts = window.getProject().getSettingsManager().get(TabProjectSettings.class); Buffer activeBuffer = window.getDocList().getActiveDoc().getActiveBuffer(); TextInterval selectionOrCurrentLine = activeBuffer.getSelectionOrCurrentLine(); String text = selectionOrCurrentLine.getText(); StringBuilder builder = new StringBuilder(); for (int j = 0; j < ts.getTabSize(); j++) builder.append(" "); text = text.replace(builder.toString(), "\t"); activeBuffer.replaceText(selectionOrCurrentLine, text, null); }