|
89 | 89 | import cc.arduino.packages.BoardPort; |
90 | 90 | import cc.arduino.packages.MonitorFactory; |
91 | 91 | import cc.arduino.packages.Uploader; |
| 92 | +import cc.arduino.packages.formatter.clangformat.ClangFormat; |
92 | 93 | import cc.arduino.packages.uploaders.SerialUploader; |
93 | 94 | import cc.arduino.view.GoToLineNumber; |
94 | 95 | import cc.arduino.view.StubMenuListener; |
@@ -236,11 +237,13 @@ public boolean test(SketchController controller) { |
236 | 237 |
|
237 | 238 | private Map<String, Tool> internalToolCache = new HashMap<String, Tool>(); |
238 | 239 |
|
| 240 | + final ClangFormat formatter; |
| 241 | + |
239 | 242 | public Editor(Base ibase, File file, int[] storedLocation, int[] defaultLocation, Platform platform) throws Exception { |
240 | 243 | super("Arduino"); |
241 | 244 | this.base = ibase; |
242 | 245 | this.platform = platform; |
243 | | - |
| 246 | + this.formatter = new ClangFormat(this); |
244 | 247 | Base.setIcon(this); |
245 | 248 |
|
246 | 249 | // Install default actions for Run, Present, etc. |
@@ -981,14 +984,12 @@ private Tool getOrCreateToolInstance(String className) { |
981 | 984 | } |
982 | 985 |
|
983 | 986 | private void addInternalTools(JMenu menu) { |
984 | | - JMenuItem formatItem = createToolMenuItem("cc.arduino.packages.formatter.clangformat.ClangFormat"); |
985 | | - if (formatItem == null) { |
986 | | - throw new NullPointerException("Tool cc.arduino.packages.formatter.clangformat.ClangFormat"); |
987 | | - } |
988 | | - formatItem.setName("menuToolsAutoFormat"); |
| 987 | + JMenuItem autoFormat = new JMenuItem(tr("Auto Format")); |
| 988 | + autoFormat.setName("menuToolsAutoFormat"); |
| 989 | + autoFormat.addActionListener(event -> SwingUtilities.invokeLater(formatter)); |
989 | 990 | int modifiers = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); |
990 | | - formatItem.setAccelerator(KeyStroke.getKeyStroke('T', modifiers)); |
991 | | - menu.add(formatItem); |
| 991 | + autoFormat.setAccelerator(KeyStroke.getKeyStroke('T', modifiers)); |
| 992 | + menu.add(autoFormat); |
992 | 993 |
|
993 | 994 | // menu.add(createToolMenuItem("processing.app.tools.CreateFont")); |
994 | 995 | // menu.add(createToolMenuItem("processing.app.tools.ColorSelector")); |
@@ -1893,8 +1894,7 @@ private boolean handleSave2() { |
1893 | 1894 | boolean saved = false; |
1894 | 1895 | try { |
1895 | 1896 | if (PreferencesData.getBoolean("editor.autoformat_currentfile_before_saving")) { |
1896 | | - Tool formatTool = getOrCreateToolInstance("cc.arduino.packages.formatter.AStyle"); |
1897 | | - formatTool.run(); |
| 1897 | + formatter.run(); |
1898 | 1898 | } |
1899 | 1899 |
|
1900 | 1900 | boolean wasReadOnly = sketchController.isReadOnly(); |
|
0 commit comments