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);