diff --git a/app/src/cc/arduino/packages/formatter/AStyle.java b/app/src/cc/arduino/packages/formatter/AStyle.java index 70b6717ff..9c0c09185 100644 --- a/app/src/cc/arduino/packages/formatter/AStyle.java +++ b/app/src/cc/arduino/packages/formatter/AStyle.java @@ -76,7 +76,16 @@ public class AStyle implements Tool { @Override public void run() { - String originalText = editor.getCurrentTab().getText(); + + String originalText = editor.getCurrentTab().getSelectedText(); + boolean selection = true; + + // If no selection use all file + if(originalText == null || originalText.isEmpty()) { + originalText = editor.getCurrentTab().getText(); + selection = false; + } + String formattedText = aStyleInterface.AStyleMain(originalText, formatterConfiguration); if (formattedText.equals(originalText)) { @@ -84,7 +93,10 @@ public class AStyle implements Tool { return; } - editor.getCurrentTab().setText(formattedText); + if(selection) + editor.getCurrentTab().setSelectedText(formattedText); + else + editor.getCurrentTab().setText(formattedText); // mark as finished editor.statusNotice(tr("Auto Format finished.")); @@ -95,4 +107,4 @@ public class AStyle implements Tool { return tr("Auto Format"); } -} +} \ No newline at end of file