diff --git a/build.gradle b/build.gradle index d29317fd..34763238 100644 --- a/build.gradle +++ b/build.gradle @@ -25,7 +25,7 @@ configurations.all { // Check for updates every build dependencies { implementation('com.fifesoft.rtext:fife.common:6.1.2') - implementation('com.fifesoft:rsyntaxtextarea:3.6.1') + implementation('com.fifesoft:rsyntaxtextarea:4.0.0') implementation('com.fifesoft:autocomplete:3.3.3') implementation('com.fifesoft:rstaui:3.3.2') implementation('com.fifesoft:spellchecker:3.4.1') diff --git a/src/main/java/org/fife/rtext/AbstractMainView.java b/src/main/java/org/fife/rtext/AbstractMainView.java index f6b4cdc9..cbb8a79d 100644 --- a/src/main/java/org/fife/rtext/AbstractMainView.java +++ b/src/main/java/org/fife/rtext/AbstractMainView.java @@ -108,7 +108,7 @@ public abstract class AbstractMainView extends JPanel public ReplaceInFilesDialog replaceInFilesDialog; public GoToDialog goToDialog; // Dialog that lets you go to a certain line number. - private int textMode; // Either INSERT_MODE or OVERWRITE_MODE. + private TextMode textMode; private int tabSize; // The size (in spaces) tabs are. private boolean emulateTabsWithWhitespace; // If true, tabs are emulated with spaces. @@ -781,10 +781,8 @@ private RTextEditorPane createRTextEditorPane(FileLocation loc, pane.setHyperlinkForeground(hyperlinkColor); } pane.setRoundedSelectionEdges(getRoundedSelectionEdges()); - pane.setCaretStyle(RTextEditorPane.INSERT_MODE, - carets[RTextEditorPane.INSERT_MODE]); - pane.setCaretStyle(RTextEditorPane.OVERWRITE_MODE, - carets[RTextEditorPane.OVERWRITE_MODE]); + pane.setCaretStyle(TextMode.INSERT, carets[TextMode.INSERT.ordinal()]); + pane.setCaretStyle(TextMode.OVERWRITE, carets[TextMode.OVERWRITE.ordinal()]); pane.getCaret().setBlinkRate(getCaretBlinkRate()); //pane.setFadeCurrentLineHighlight(fadeCurrentLineHighlight); @@ -1029,15 +1027,14 @@ public Color getCaretColor() { /** * Returns the caret style for either the insert or overwrite caret. * - * @param mode Either RTextArea.INSERT_MODE or - * RTextArea.OVERWRITE_MODE. + * @param mode The text mode. This cannot be {@code null}. * @return The style of that caret, such as * CaretStyle.VERTICAL_LINE_STYLE. - * @see #setCaretStyle(int, CaretStyle) + * @see #setCaretStyle(TextMode, CaretStyle) * @see CaretStyle */ - public CaretStyle getCaretStyle(int mode) { - return carets[mode]; + public CaretStyle getCaretStyle(TextMode mode) { + return carets[mode.ordinal()]; } @@ -1906,11 +1903,11 @@ public boolean getTextAreaUnderline() { /** * Returns the text mode we're in. * - * @return RTextEditorPane.INSERT_MODE - * or RTextEditorPane.OVERWRITE_MODE. + * @return TextMode.INSERT + * or TextMode.OVERWRITE. * @see #setTextMode */ - public int getTextMode() { + public TextMode getTextMode() { return textMode; } @@ -2257,8 +2254,8 @@ protected void initialize(RText owner, String[] filesToOpen, setMarkOccurrencesColor(prefs.markOccurrencesColor); setRoundedSelectionEdges(prefs.roundedSelectionEdges); carets = new CaretStyle[2]; - setCaretStyle(RTextArea.INSERT_MODE, CaretStyle.values()[prefs.carets[0]]); - setCaretStyle(RTextArea.OVERWRITE_MODE, CaretStyle.values()[prefs.carets[1]]); + setCaretStyle(TextMode.INSERT, CaretStyle.values()[prefs.carets[0]]); + setCaretStyle(TextMode.OVERWRITE, CaretStyle.values()[prefs.carets[1]]); setCaretBlinkRate(prefs.caretBlinkRate); setLineTerminator(prefs.defaultLineTerminator); setDefaultEncoding(prefs.defaultEncoding); @@ -3132,18 +3129,17 @@ public void setCaretColor(final Color color) { /** * Sets the caret style for either the insert or overwrite caret. * - * @param mode Either RTextArea.INSERT_MODE or - * RTextArea.OVERWRITE_MODE. + * @param mode Either TextMode.INSERT or + * TextMode.OVERWRITE. * @param style The style for the specified caret, such as * CaretStyle.VERTICAL_LINE_STYLE. - * @see #getCaretStyle(int) + * @see #getCaretStyle(TextMode) */ - public void setCaretStyle(int mode, CaretStyle style) { - if (mode!=RTextArea.INSERT_MODE && - mode!=RTextArea.OVERWRITE_MODE) + public void setCaretStyle(TextMode mode, CaretStyle style) { + if (mode!=TextMode.INSERT && mode!=TextMode.OVERWRITE) return; - if (carets[mode]!=style) { - carets[mode] = style; + if (carets[mode.ordinal()]!=style) { + carets[mode.ordinal()] = style; for (int i=0; iRTextEditorPane.INSERT_MODE or - * RTextEditorPane.OVERWRITE_MODE. + * @param mode The new text mode * @throws IllegalArgumentException If mode is invalid. * @see #getTextMode() */ - public void setTextMode(int mode) { - if (mode!=RTextEditorPane.INSERT_MODE && - mode!=RTextEditorPane.OVERWRITE_MODE) { + public void setTextMode(TextMode mode) { + if (mode!=TextMode.INSERT && mode!=TextMode.OVERWRITE) { throw new IllegalArgumentException("Invalid mode: " + mode); } textMode = mode; diff --git a/src/main/java/org/fife/rtext/RText.java b/src/main/java/org/fife/rtext/RText.java index f3ac8172..9e7ebb68 100644 --- a/src/main/java/org/fife/rtext/RText.java +++ b/src/main/java/org/fife/rtext/RText.java @@ -45,6 +45,7 @@ import org.fife.ui.dockablewindows.DockableWindow; import org.fife.ui.dockablewindows.DockableWindowConstants; import org.fife.ui.dockablewindows.DockableWindowPanel; +import org.fife.ui.rtextarea.TextMode; import org.fife.ui.rtextfilechooser.FileChooserOwner; import org.fife.ui.rtextfilechooser.RTextFileChooser; import org.fife.util.MacOSUtil; @@ -350,7 +351,7 @@ protected SplashScreen createSplashScreen() { protected org.fife.ui.StatusBar createStatusBar(RTextPrefs prefs) { return new StatusBar(this, getString("Ready"), !prefs.wordWrap, 1,1, - prefs.textMode==RTextEditorPane.OVERWRITE_MODE); + prefs.textMode==TextMode.OVERWRITE); } diff --git a/src/main/java/org/fife/rtext/RTextAppContext.java b/src/main/java/org/fife/rtext/RTextAppContext.java index 39793228..ccc7bafb 100644 --- a/src/main/java/org/fife/rtext/RTextAppContext.java +++ b/src/main/java/org/fife/rtext/RTextAppContext.java @@ -8,7 +8,7 @@ import org.fife.ui.app.AppContext; import org.fife.ui.app.AppTheme; import org.fife.ui.dockablewindows.DockableWindowConstants; -import org.fife.ui.rtextarea.RTextArea; +import org.fife.ui.rtextarea.TextMode; import java.awt.*; import java.io.File; @@ -125,8 +125,8 @@ protected void populatePrefsFromApplication(RText rtext, RTextPrefs prefs) { prefs.markOccurrencesColor = mainView.getMarkOccurrencesColor(); prefs.roundedSelectionEdges = mainView.getRoundedSelectionEdges(); prefs.workingDirectory = rtext.getWorkingDirectory(); - prefs.carets[RTextArea.INSERT_MODE]= mainView.getCaretStyle(RTextArea.INSERT_MODE).ordinal(); - prefs.carets[RTextArea.OVERWRITE_MODE]= mainView.getCaretStyle(RTextArea.OVERWRITE_MODE).ordinal(); + prefs.carets[TextMode.INSERT.ordinal()] = mainView.getCaretStyle(TextMode.INSERT).ordinal(); + prefs.carets[TextMode.OVERWRITE.ordinal()] = mainView.getCaretStyle(TextMode.OVERWRITE).ordinal(); prefs.caretBlinkRate = mainView.getCaretBlinkRate(); prefs.dividerLocations[DockableWindowConstants.TOP] = rtext.getSplitPaneDividerLocation(DockableWindowConstants.TOP); prefs.dividerLocations[DockableWindowConstants.LEFT] = rtext.getSplitPaneDividerLocation(DockableWindowConstants.LEFT); diff --git a/src/main/java/org/fife/rtext/RTextEditorPane.java b/src/main/java/org/fife/rtext/RTextEditorPane.java index fc5ff580..3decc160 100644 --- a/src/main/java/org/fife/rtext/RTextEditorPane.java +++ b/src/main/java/org/fife/rtext/RTextEditorPane.java @@ -9,8 +9,7 @@ */ package org.fife.rtext; -import java.awt.Font; -import java.awt.Graphics; +import java.awt.*; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.print.PageFormat; @@ -23,6 +22,7 @@ import org.fife.ui.rsyntaxtextarea.FileLocation; import org.fife.ui.rsyntaxtextarea.TextEditorPane; import org.fife.ui.rtextarea.RTATextTransferHandler; +import org.fife.ui.rtextarea.TextMode; /** @@ -44,14 +44,13 @@ public class RTextEditorPane extends TextEditorPane { * * @param rtext The owning RText instance. * @param wordWrapEnabled Whether to use word wrap in this pane. - * @param textMode Either INSERT_MODE or - * OVERWRITE_MODE. + * @param textMode The text mode. * @param loc The location of the file to open. * @param encoding The encoding of the file. * @throws IOException If an IO error occurs reading the file to load. */ public RTextEditorPane(RText rtext, boolean wordWrapEnabled, - int textMode, FileLocation loc, String encoding) throws IOException { + TextMode textMode, FileLocation loc, String encoding) throws IOException { super(textMode, wordWrapEnabled, loc, encoding); this.rtext = rtext; // Change the transfer handler to one that recognizes drag-and-dropped @@ -101,7 +100,8 @@ public int print(Graphics g, PageFormat pageFormat, int pageIndex) { Font printWithMeFont = rtext.getMainView().getPrintFont(); if (printWithMeFont==null) // null => print with the current font. printWithMeFont = this.getFont(); - return RPrintUtilities.printDocumentWordWrap(g, this, + Graphics2D g2d = (Graphics2D)g; + return RPrintUtilities.printDocumentWordWrap(g2d, this, printWithMeFont, pageIndex, pageFormat, this.getTabSize()); } diff --git a/src/main/java/org/fife/rtext/RTextPrefs.java b/src/main/java/org/fife/rtext/RTextPrefs.java index 9d7ee59b..748871b4 100644 --- a/src/main/java/org/fife/rtext/RTextPrefs.java +++ b/src/main/java/org/fife/rtext/RTextPrefs.java @@ -31,6 +31,7 @@ import org.fife.ui.rtextarea.CaretStyle; import org.fife.ui.rtextarea.FoldIndicatorStyle; import org.fife.ui.rtextarea.RTextArea; +import org.fife.ui.rtextarea.TextMode; import org.fife.util.MacOSUtil; @@ -63,7 +64,7 @@ public class RTextPrefs extends AppPrefs implements RTextActionInfo { public boolean lineNumbersVisible; public int tabSize; // In spaces. public boolean emulateTabsWithSpaces; // whether to emulate tabs with spaces. - public int textMode; // Either RTextArea.INSERT_MODE (1) or RTextArea.OVERWRITE_MODE (2). + public TextMode textMode; public int tabPlacement; // One of JTabbedPane.TOP/LEFT/BOTTOM/RIGHT. public Font printFont; // The font ot use when printing. public Color backgroundColor; @@ -154,6 +155,7 @@ public RTextPrefs() { private void addAppSpecificTypeLoaders() { addTypeLoader(FoldIndicatorStyle.class, new EnumLoader<>(FoldIndicatorStyle.MODERN)); addTypeLoader(SyntaxScheme.class, new SyntaxSchemeTypeLoader()); + addTypeLoader(TextMode.class, new EnumLoader<>(TextMode.INSERT)); } @@ -182,7 +184,7 @@ public void setDefaults() { lineNumbersVisible = true; tabSize = RTextArea.getDefaultTabSize(); emulateTabsWithSpaces = false; - textMode = RTextArea.INSERT_MODE; + textMode = TextMode.INSERT; tabPlacement = JTabbedPane.TOP; printFont = null; // i.e., use RText's font. backgroundColor = theme.bgColor; @@ -229,8 +231,8 @@ public void setDefaults() { roundedSelectionEdges = false; workingDirectory = System.getProperty("user.dir"); carets = new int[2]; - carets[RTextArea.INSERT_MODE] = CaretStyle.THICK_VERTICAL_LINE_STYLE.ordinal(); - carets[RTextArea.OVERWRITE_MODE] = CaretStyle.BLOCK_STYLE.ordinal(); + carets[TextMode.INSERT.ordinal()] = CaretStyle.THICK_VERTICAL_LINE_STYLE.ordinal(); + carets[TextMode.OVERWRITE.ordinal()] = CaretStyle.BLOCK_STYLE.ordinal(); caretBlinkRate = 500; dividerLocations = new int[4]; for (int i=0; i<4; i++) { diff --git a/src/main/java/org/fife/rtext/actions/ToggleTextModeAction.java b/src/main/java/org/fife/rtext/actions/ToggleTextModeAction.java index 954f289b..11d1c266 100644 --- a/src/main/java/org/fife/rtext/actions/ToggleTextModeAction.java +++ b/src/main/java/org/fife/rtext/actions/ToggleTextModeAction.java @@ -14,11 +14,11 @@ import org.fife.rtext.AbstractMainView; import org.fife.rtext.RText; -import org.fife.rtext.RTextEditorPane; import org.fife.rtext.StatusBar; import org.fife.ui.rtextarea.RTextArea; import org.fife.ui.rtextarea.RTextAreaEditorKit; import org.fife.ui.rtextarea.RecordableTextAction; +import org.fife.ui.rtextarea.TextMode; /** @@ -49,10 +49,9 @@ public ToggleTextModeAction(RText rtext) { public void actionPerformedImpl(ActionEvent e, RTextArea textArea) { StatusBar statusBar = (StatusBar)rtext.getStatusBar(); AbstractMainView view = rtext.getMainView(); - boolean isInsertMode = view.getTextMode()==RTextEditorPane.INSERT_MODE; + boolean isInsertMode = view.getTextMode()==TextMode.INSERT; statusBar.setOverwriteModeIndicatorEnabled(isInsertMode); - view.setTextMode(isInsertMode ? RTextEditorPane.OVERWRITE_MODE : - RTextEditorPane.INSERT_MODE); + view.setTextMode(isInsertMode ? TextMode.OVERWRITE : TextMode.INSERT); } diff --git a/src/main/java/org/fife/rtext/optionsdialog/FileFilterOptionPanel.java b/src/main/java/org/fife/rtext/optionsdialog/FileFilterOptionPanel.java index 2a573ff2..8f0aed32 100644 --- a/src/main/java/org/fife/rtext/optionsdialog/FileFilterOptionPanel.java +++ b/src/main/java/org/fife/rtext/optionsdialog/FileFilterOptionPanel.java @@ -265,9 +265,9 @@ static class FilterTableModel extends DefaultTableModel FilterTableModel(String fileTypeHeader, String filterHeader) { super(new Object[] { fileTypeHeader, filterHeader }, 0); - styles = new String[50]; + styles = new String[57]; addRow(new Object[] { "ActionScript", null }); styles[0] = SYNTAX_STYLE_ACTIONSCRIPT; - addRow(new Object[] { "Assembler (6502)" , null }); styles[1] = SYNTAX_STYLE_ASSEMBLER_6502; + addRow(new Object[] { "Assembler (6502)", null }); styles[1] = SYNTAX_STYLE_ASSEMBLER_6502; addRow(new Object[] { "Assembler (x86)", null }); styles[2] = SYNTAX_STYLE_ASSEMBLER_X86; addRow(new Object[] { "BBCode", null }); styles[3] = SYNTAX_STYLE_BBCODE; addRow(new Object[] { "C", null }); styles[4] = SYNTAX_STYLE_C; @@ -277,45 +277,52 @@ static class FilterTableModel extends DefaultTableModel addRow(new Object[] { "CSS", null }); styles[8] = SYNTAX_STYLE_CSS; addRow(new Object[] { "CSV", null }); styles[9] = SYNTAX_STYLE_CSV; addRow(new Object[] { "D", null }); styles[10] = SYNTAX_STYLE_D; - addRow(new Object[] { "Delphi", null }); styles[11] = SYNTAX_STYLE_DELPHI; - addRow(new Object[] { "Dockerfile", null }); styles[12] = SYNTAX_STYLE_DOCKERFILE; - addRow(new Object[] { "DTD", null }); styles[13] = SYNTAX_STYLE_DTD; - addRow(new Object[] { "Flex", null }); styles[14] = SYNTAX_STYLE_MXML; - addRow(new Object[] { "Fortran", null }); styles[15] = SYNTAX_STYLE_FORTRAN; - addRow(new Object[] { "Go", null }); styles[16] = SYNTAX_STYLE_GO; - addRow(new Object[] { "Groovy", null }); styles[17] = SYNTAX_STYLE_GROOVY; - addRow(new Object[] { "Handlebars", null }); styles[18] = SYNTAX_STYLE_HANDLEBARS; - addRow(new Object[] { "Hosts", null }); styles[19] = SYNTAX_STYLE_HOSTS; - addRow(new Object[] { "htaccess", null }); styles[20] = SYNTAX_STYLE_HTACCESS; - addRow(new Object[] { "HTML", null }); styles[21] = SYNTAX_STYLE_HTML; - addRow(new Object[] { "INI", null }); styles[22] = SYNTAX_STYLE_INI; - addRow(new Object[] { "Java", null }); styles[23] = SYNTAX_STYLE_JAVA; - addRow(new Object[] { "JavaScript", null }); styles[24] = SYNTAX_STYLE_JAVASCRIPT; - addRow(new Object[] { "JSP", null }); styles[25] = SYNTAX_STYLE_JSP; - addRow(new Object[] { "JSON", null }); styles[26] = SYNTAX_STYLE_JSON; - addRow(new Object[] { "JSON with comments", null }); styles[27] = SYNTAX_STYLE_JSON_WITH_COMMENTS; - addRow(new Object[] { "LaTeX", null }); styles[28] = SYNTAX_STYLE_LATEX; - addRow(new Object[] { "Less", null }); styles[29] = SYNTAX_STYLE_LESS; - addRow(new Object[] { "Lisp", null }); styles[30] = SYNTAX_STYLE_LISP; - addRow(new Object[] { "Lua", null }); styles[31] = SYNTAX_STYLE_LUA; - addRow(new Object[] { "Make", null }); styles[32] = SYNTAX_STYLE_MAKEFILE; - addRow(new Object[] { "NSIS", null }); styles[33] = SYNTAX_STYLE_NSIS; - addRow(new Object[] { "Perl", null }); styles[34] = SYNTAX_STYLE_PERL; - addRow(new Object[] { "PHP", null }); styles[35] = SYNTAX_STYLE_PHP; - addRow(new Object[] { "Properties files", null }); styles[36] = SYNTAX_STYLE_PROPERTIES_FILE; - addRow(new Object[] { "Protobuf definitions", null }); styles[37] = SYNTAX_STYLE_PROTO; - addRow(new Object[] { "Python", null }); styles[38] = SYNTAX_STYLE_PYTHON; - addRow(new Object[] { "Ruby", null }); styles[39] = SYNTAX_STYLE_RUBY; - addRow(new Object[] { "SAS", null }); styles[40] = SYNTAX_STYLE_SAS; - addRow(new Object[] { "Scala", null }); styles[41] = SYNTAX_STYLE_SCALA; - addRow(new Object[] { "SQL", null }); styles[42] = SYNTAX_STYLE_SQL; - addRow(new Object[] { "Tcl", null }); styles[43] = SYNTAX_STYLE_TCL; - addRow(new Object[] { "TypeScript", null }); styles[44] = SYNTAX_STYLE_TYPESCRIPT; - addRow(new Object[] { "UNIX shell scripts", null }); styles[45] = SYNTAX_STYLE_UNIX_SHELL; - addRow(new Object[] { "Visual Basic", null }); styles[46] = SYNTAX_STYLE_VISUAL_BASIC; - addRow(new Object[] { "Windows Batch", null }); styles[47] = SYNTAX_STYLE_WINDOWS_BATCH; - addRow(new Object[] { "XML", null }); styles[48] = SYNTAX_STYLE_XML; - addRow(new Object[] { "YAML", null }); styles[49] = SYNTAX_STYLE_YAML; + addRow(new Object[] { "Dart", null }); styles[11] = SYNTAX_STYLE_DART; + addRow(new Object[] { "Delphi", null }); styles[12] = SYNTAX_STYLE_DELPHI; + addRow(new Object[] { "Dockerfile", null }); styles[13] = SYNTAX_STYLE_DOCKERFILE; + addRow(new Object[] { "DTD", null }); styles[14] = SYNTAX_STYLE_DTD; + addRow(new Object[] { ".env", null }); styles[15] = SYNTAX_STYLE_ENV; + addRow(new Object[] { "Flex", null }); styles[16] = SYNTAX_STYLE_MXML; + addRow(new Object[] { "Fortran", null }); styles[17] = SYNTAX_STYLE_FORTRAN; + addRow(new Object[] { "Go", null }); styles[18] = SYNTAX_STYLE_GO; + addRow(new Object[] { "Groovy", null }); styles[19] = SYNTAX_STYLE_GROOVY; + addRow(new Object[] { "Handlebars", null }); styles[20] = SYNTAX_STYLE_HANDLEBARS; + addRow(new Object[] { "Hosts", null }); styles[21] = SYNTAX_STYLE_HOSTS; + addRow(new Object[] { "htaccess", null }); styles[22] = SYNTAX_STYLE_HTACCESS; + addRow(new Object[] { "HTML", null }); styles[23] = SYNTAX_STYLE_HTML; + addRow(new Object[] { "INI", null }); styles[24] = SYNTAX_STYLE_INI; + addRow(new Object[] { "Java", null }); styles[25] = SYNTAX_STYLE_JAVA; + addRow(new Object[] { "JavaScript", null }); styles[26] = SYNTAX_STYLE_JAVASCRIPT; + addRow(new Object[] { "JSP", null }); styles[27] = SYNTAX_STYLE_JSP; + addRow(new Object[] { "JSON", null }); styles[28] = SYNTAX_STYLE_JSON; + addRow(new Object[] { "JSON with comments", null }); styles[29] = SYNTAX_STYLE_JSON_WITH_COMMENTS; + addRow(new Object[] { "Kotlin", null }); styles[30] = SYNTAX_STYLE_KOTLIN; + addRow(new Object[] { "LaTeX", null }); styles[31] = SYNTAX_STYLE_LATEX; + addRow(new Object[] { "Less", null }); styles[32] = SYNTAX_STYLE_LESS; + addRow(new Object[] { "Lisp", null }); styles[33] = SYNTAX_STYLE_LISP; + addRow(new Object[] { "Lua", null }); styles[34] = SYNTAX_STYLE_LUA; + addRow(new Object[] { "Make", null }); styles[35] = SYNTAX_STYLE_MAKEFILE; + addRow(new Object[] { "Markdown", null }); styles[36] = SYNTAX_STYLE_MARKDOWN; + addRow(new Object[] { "NSIS", null }); styles[37] = SYNTAX_STYLE_NSIS; + addRow(new Object[] { "Perl", null }); styles[38] = SYNTAX_STYLE_PERL; + addRow(new Object[] { "PHP", null }); styles[39] = SYNTAX_STYLE_PHP; + addRow(new Object[] { "Powershell", null }); styles[40] = SYNTAX_STYLE_POWERSHELL; + addRow(new Object[] { "Properties files", null }); styles[41] = SYNTAX_STYLE_PROPERTIES_FILE; + addRow(new Object[] { "Protobuf definitions", null }); styles[42] = SYNTAX_STYLE_PROTO; + addRow(new Object[] { "Python", null }); styles[43] = SYNTAX_STYLE_PYTHON; + addRow(new Object[] { "Ruby", null }); styles[44] = SYNTAX_STYLE_RUBY; + addRow(new Object[] { "Rust", null }); styles[45] = SYNTAX_STYLE_RUST; + addRow(new Object[] { "SAS", null }); styles[46] = SYNTAX_STYLE_SAS; + addRow(new Object[] { "Scala", null }); styles[47] = SYNTAX_STYLE_SCALA; + addRow(new Object[] { "SQL", null }); styles[48] = SYNTAX_STYLE_SQL; + addRow(new Object[] { "Tcl", null }); styles[49] = SYNTAX_STYLE_TCL; + addRow(new Object[] { "TypeScript", null }); styles[50] = SYNTAX_STYLE_TYPESCRIPT; + addRow(new Object[] { "UNIX shell scripts", null }); styles[51] = SYNTAX_STYLE_UNIX_SHELL; + addRow(new Object[] { "VHDL", null }); styles[52] = SYNTAX_STYLE_VHDL; + addRow(new Object[] { "Visual Basic", null }); styles[53] = SYNTAX_STYLE_VISUAL_BASIC; + addRow(new Object[] { "Windows Batch", null }); styles[54] = SYNTAX_STYLE_WINDOWS_BATCH; + addRow(new Object[] { "XML", null }); styles[55] = SYNTAX_STYLE_XML; + addRow(new Object[] { "YAML", null }); styles[56] = SYNTAX_STYLE_YAML; } diff --git a/src/main/java/org/fife/ui/rsyntaxtextarea/CaretAndSelectionOptionPanel.java b/src/main/java/org/fife/ui/rsyntaxtextarea/CaretAndSelectionOptionPanel.java index d69bcb66..9cace3af 100644 --- a/src/main/java/org/fife/ui/rsyntaxtextarea/CaretAndSelectionOptionPanel.java +++ b/src/main/java/org/fife/ui/rsyntaxtextarea/CaretAndSelectionOptionPanel.java @@ -25,7 +25,7 @@ import org.fife.ui.UIUtil; import org.fife.ui.rtextarea.CaretStyle; import org.fife.ui.rtextarea.ConfigurableCaret; -import org.fife.ui.rtextarea.RTextArea; +import org.fife.ui.rtextarea.TextMode; /** @@ -254,8 +254,8 @@ protected void doApplyImpl(Frame owner) { if (overrideCheckBox.isSelected()) { mainView.setCaretColor(caretColorButton.getColor()); mainView.setSelectionColor(getColor(selColorButton)); - mainView.setCaretStyle(RTextArea.INSERT_MODE, getCaretStyle(RTextArea.INSERT_MODE)); - mainView.setCaretStyle(RTextArea.OVERWRITE_MODE, getCaretStyle(RTextArea.OVERWRITE_MODE)); + mainView.setCaretStyle(TextMode.INSERT, getCaretStyle(TextMode.INSERT)); + mainView.setCaretStyle(TextMode.OVERWRITE, getCaretStyle(TextMode.OVERWRITE)); mainView.setCaretBlinkRate((Integer)blinkRateSpinner.getValue()); mainView.setSelectedTextColor(getColor(selectedTextColorButton)); mainView.setUseSelectedTextColor(selectedTextColorCB.isSelected()); @@ -264,8 +264,8 @@ protected void doApplyImpl(Frame owner) { Theme editorTheme = EditorOptionsPreviewContext.get().getEditorTheme(rtext); mainView.setCaretColor(editorTheme.caretColor); mainView.setSelectionColor(editorTheme.selectionBG); - mainView.setCaretStyle(RTextArea.INSERT_MODE, CaretStyle.THICK_VERTICAL_LINE_STYLE); - mainView.setCaretStyle(RTextArea.OVERWRITE_MODE, CaretStyle.BLOCK_STYLE); + mainView.setCaretStyle(TextMode.INSERT, CaretStyle.THICK_VERTICAL_LINE_STYLE); + mainView.setCaretStyle(TextMode.OVERWRITE, CaretStyle.BLOCK_STYLE); mainView.setCaretBlinkRate(500); mainView.setSelectedTextColor(editorTheme.selectionFG); mainView.setUseSelectedTextColor(editorTheme.useSelectionFG); @@ -283,15 +283,15 @@ protected OptionsPanelCheckResult ensureValidInputsImpl() { * Returns the caret style for either the insert or overwrite caret * that the user chose. * - * @param mode Either RTextArea.INSERT_MODE or - * RTextArea.OVERWRITE_MODE. + * @param mode Either TextMode.INSERT or + * TextMode.OVERWRITE. * @return The style of that caret, such as * CaretStyle.VERTICAL_LINE_STYLE. * @see ConfigurableCaret */ - public CaretStyle getCaretStyle(int mode) { + public CaretStyle getCaretStyle(TextMode mode) { int ordinal; - if (mode==RTextArea.INSERT_MODE) { + if (mode==TextMode.INSERT) { ordinal = insCaretCombo.getSelectedIndex(); } else { @@ -333,8 +333,8 @@ protected void handleRestoreDefaults() { if (overrideCheckBox.isSelected() || !caretColorButton.getColor().equals(defaultCaretColor) || !getColor(selColorButton).equals(defaultSelectionColor) || - getCaretStyle(RTextArea.INSERT_MODE)!=defaultInsertCaret || - getCaretStyle(RTextArea.OVERWRITE_MODE)!=defaultOverwriteCaret || + getCaretStyle(TextMode.INSERT)!=defaultInsertCaret || + getCaretStyle(TextMode.OVERWRITE)!=defaultOverwriteCaret || !blinkRateSpinner.getValue().equals(defaultCaretBlinkRate) || selectedTextColorCB.isSelected() != defaultSelectedTextColorCBChecked || !selectedTextColorButton.getColor().equals(defaultSelectedTextColor)) { @@ -342,8 +342,8 @@ protected void handleRestoreDefaults() { overrideCheckBox.setSelected(false); setCaretColor(defaultCaretColor); setSelectionColor(defaultSelectionColor); - setCaretStyle(RTextArea.INSERT_MODE, defaultInsertCaret); - setCaretStyle(RTextArea.OVERWRITE_MODE, defaultOverwriteCaret); + setCaretStyle(TextMode.INSERT, defaultInsertCaret); + setCaretStyle(TextMode.OVERWRITE, defaultOverwriteCaret); blinkRateSpinner.setValue(defaultCaretBlinkRate); setSelectedTextColorEnabled(defaultSelectedTextColorCBChecked); selectedTextColorButton.setColor(Color.white); @@ -393,18 +393,18 @@ private void setCaretColor(Color color) { * Sets the caret style for either the insert or overwrite caret, as * displayed in this option panel. * - * @param mode Either RTextArea.INSERT_MODE or - * RTextArea.OVERWRITE_MODE. + * @param mode Either TextMode.INSERT or + * TextMode.OVERWRITE. * @param style The style for the specified caret, such as * CaretStyle.VERTICAL_LINE_STYLE. - * @see #getCaretStyle(int) + * @see #getCaretStyle(TextMode) */ - private void setCaretStyle(int mode, CaretStyle style) { + private void setCaretStyle(TextMode mode, CaretStyle style) { switch (mode) { - case RTextArea.INSERT_MODE -> insCaretCombo.setSelectedIndex(style.ordinal()); - case RTextArea.OVERWRITE_MODE -> overCaretCombo.setSelectedIndex(style.ordinal()); - default -> throw new IllegalArgumentException("mode must be " + RTextArea.INSERT_MODE + " or " + - RTextArea.OVERWRITE_MODE); + case TextMode.INSERT -> insCaretCombo.setSelectedIndex(style.ordinal()); + case TextMode.OVERWRITE -> overCaretCombo.setSelectedIndex(style.ordinal()); + default -> throw new IllegalArgumentException("mode must be " + TextMode.INSERT + " or " + + TextMode.OVERWRITE); } } @@ -445,8 +445,8 @@ protected void setValuesImpl(Frame owner) { AbstractMainView mainView = rtext.getMainView(); setCaretColor(mainView.getCaretColor()); setSelectionColor(mainView.getSelectionColor()); - setCaretStyle(RTextArea.INSERT_MODE, mainView.getCaretStyle(RTextArea.INSERT_MODE)); - setCaretStyle(RTextArea.OVERWRITE_MODE, mainView.getCaretStyle(RTextArea.OVERWRITE_MODE)); + setCaretStyle(TextMode.INSERT, mainView.getCaretStyle(TextMode.INSERT)); + setCaretStyle(TextMode.OVERWRITE, mainView.getCaretStyle(TextMode.OVERWRITE)); setBlinkRate(mainView.getCaretBlinkRate()); setSelectedTextColorEnabled(mainView.getUseSelectedTextColor()); selectedTextColorButton.setColor(mainView.getSelectedTextColor()); @@ -477,8 +477,8 @@ protected void syncEditorOptionsPreviewContext() { context.setOverrideEditorTheme(overrideCheckBox.isSelected()); // "Carets" section - context.setInsertCaret(getCaretStyle(RTextArea.INSERT_MODE)); - context.setOverwriteCaret(getCaretStyle(RTextArea.OVERWRITE_MODE)); + context.setInsertCaret(getCaretStyle(TextMode.INSERT)); + context.setOverwriteCaret(getCaretStyle(TextMode.OVERWRITE)); context.setCaretBlinkRate((Integer)blinkRateSpinner.getValue()); context.setCaretColor(caretColorButton.getColor()); diff --git a/src/main/java/org/fife/ui/rsyntaxtextarea/PreviewPanel.java b/src/main/java/org/fife/ui/rsyntaxtextarea/PreviewPanel.java index d448891e..33ba4050 100644 --- a/src/main/java/org/fife/ui/rsyntaxtextarea/PreviewPanel.java +++ b/src/main/java/org/fife/ui/rsyntaxtextarea/PreviewPanel.java @@ -181,8 +181,8 @@ public void editorOptionsPreviewContextChanged(EditorOptionsPreviewContext conte // Options from the "Caret and Selection" child option panel if (context.getOverrideEditorTheme()) { - textArea.setCaretStyle(RTextArea.INSERT_MODE, context.getInsertCaret()); - textArea.setCaretStyle(RTextArea.OVERWRITE_MODE, context.getOverwriteCaret()); + textArea.setCaretStyle(TextMode.INSERT, context.getInsertCaret()); + textArea.setCaretStyle(TextMode.OVERWRITE, context.getOverwriteCaret()); textArea.setCaretColor(context.getCaretColor()); textArea.getCaret().setBlinkRate(context.getCaretBlinkRate()); textArea.setSelectionColor(context.getSelectionColor()); @@ -190,8 +190,8 @@ public void editorOptionsPreviewContextChanged(EditorOptionsPreviewContext conte textArea.setUseSelectedTextColor(context.getUseSelectedTextColor()); } else { - textArea.setCaretStyle(RTextArea.INSERT_MODE, CaretStyle.THICK_VERTICAL_LINE_STYLE); - textArea.setCaretStyle(RTextArea.OVERWRITE_MODE, CaretStyle.BLOCK_STYLE); + textArea.setCaretStyle(TextMode.INSERT, CaretStyle.THICK_VERTICAL_LINE_STYLE); + textArea.setCaretStyle(TextMode.OVERWRITE, CaretStyle.BLOCK_STYLE); textArea.setCaretColor(editorTheme.caretColor); textArea.getCaret().setBlinkRate(500); textArea.setSelectionColor(editorTheme.selectionBG);