[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jedit-cvs
Subject:    [ jEdit-CVS ] plugins/highlight/src/gatchan/highlight HighlightOptionPane.java,1.5,1.6 HighlightMana
From:       Matthieu Casanova <kpouer () users ! sourceforge ! net>
Date:       2005-09-28 21:45:07
Message-ID: E1EKjjk-0005ww-Cq () mail ! sourceforge ! net
[Download RAW message or body]

Update of /cvsroot/jedit/plugins/highlight/src/gatchan/highlight
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1939/plugins/highlight/src/gatchan/highlight


Modified Files:
	HighlightOptionPane.java HighlightManagerTableModel.java 
Log Message:
caret highlight can skip whitespace words

Index: HighlightOptionPane.java
===================================================================
RCS file: /cvsroot/jedit/plugins/highlight/src/gatchan/highlight/HighlightOptionPane.java,v
 retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- HighlightOptionPane.java	19 Sep 2005 08:35:56 -0000	1.5
+++ HighlightOptionPane.java	28 Sep 2005 21:45:05 -0000	1.6
@@ -26,6 +26,7 @@
   public static final String PROP_HIGHLIGHT_APPEND = \
"gatchan.highlight.appendHighlight";  public static final String \
PROP_HIGHLIGHT_SUBSEQUENCE = "gatchan.highlight.subsequence";  public static final \
String PROP_HIGHLIGHT_WORD_AT_CARET_SUBSEQUENCE = \
"gatchan.highlight.caretHighlight.subsequence"; +  public static final String \
PROP_HIGHLIGHT_WORD_AT_CARET_WHITESPACE = \
"gatchan.highlight.caretHighlight.whitespace";  private JCheckBox \
highlightWordAtCaret;  private JCheckBox wordAtCaretIgnoreCase;
   private JCheckBox entireWord;
@@ -35,6 +36,7 @@
   private JCheckBox highlightSubsequence;
   private ColorWellButton defaultColor;
   private JCheckBox caretHighlightSubsequence;
+  private JCheckBox wordAtCaretWhitespace;
 
   public HighlightOptionPane() {
     super("gatchan.highlight");
@@ -59,6 +61,7 @@
     addComponent(highlightWordAtCaret = \
                createCheckBox(PROP_HIGHLIGHT_WORD_AT_CARET));
     addComponent(caretHighlightSubsequence = \
                createCheckBox(PROP_HIGHLIGHT_WORD_AT_CARET_SUBSEQUENCE));
     addComponent(wordAtCaretIgnoreCase = \
createCheckBox(PROP_HIGHLIGHT_WORD_AT_CARET_IGNORE_CASE)); +    \
addComponent(wordAtCaretWhitespace = \
                createCheckBox(PROP_HIGHLIGHT_WORD_AT_CARET_WHITESPACE));
     addComponent(entireWord = \
                createCheckBox(PROP_HIGHLIGHT_WORD_AT_CARET_ENTIRE_WORD));
     addComponent(new JLabel(jEdit.getProperty(PROP_HIGHLIGHT_WORD_AT_CARET_COLOR + \
                ".text")),
                  wordAtCaretColor = new \
ColorWellButton(jEdit.getColorProperty(PROP_HIGHLIGHT_WORD_AT_CARET_COLOR))); @@ \
                -69,6 +72,7 @@
     jEdit.setBooleanProperty(PROP_HIGHLIGHT_WORD_AT_CARET_SUBSEQUENCE, \
                caretHighlightSubsequence.isSelected());
     jEdit.setBooleanProperty(PROP_HIGHLIGHT_WORD_AT_CARET_IGNORE_CASE, \
                wordAtCaretIgnoreCase.isSelected());
     jEdit.setBooleanProperty(PROP_HIGHLIGHT_WORD_AT_CARET_ENTIRE_WORD, \
entireWord.isSelected()); +    \
jEdit.setBooleanProperty(PROP_HIGHLIGHT_WORD_AT_CARET_WHITESPACE, \
wordAtCaretWhitespace.isSelected());  
     jEdit.setBooleanProperty(PROP_HIGHLIGHT_SUBSEQUENCE, \
                highlightSubsequence.isSelected());
     jEdit.setBooleanProperty(PROP_HIGHLIGHT_CYCLE_COLOR, cycleColor.isSelected());

Index: HighlightManagerTableModel.java
===================================================================
RCS file: /cvsroot/jedit/plugins/highlight/src/gatchan/highlight/HighlightManagerTableModel.java,v
 retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- HighlightManagerTableModel.java	19 Sep 2005 08:35:55 -0000	1.16
+++ HighlightManagerTableModel.java	28 Sep 2005 21:45:05 -0000	1.17
@@ -44,6 +44,7 @@
   public static final Highlight currentWordHighlight = new Highlight();
   private boolean highlightWordAtCaret;
   private boolean highlightWordAtCaretEntireWord;
+  private boolean highlightWordAtCaretWhitespace;
 
   /** If true the highlight will be appended, if false the highlight will replace \
the previous one. */  private boolean appendHighlight = \
jEdit.getBooleanProperty(HighlightOptionPane.PROP_HIGHLIGHT_APPEND); @@ -98,6 +99,7 \
@@  }
     highlightWordAtCaret = \
                jEdit.getBooleanProperty(HighlightOptionPane.PROP_HIGHLIGHT_WORD_AT_CARET);
                
     highlightWordAtCaretEntireWord = \
jEdit.getBooleanProperty(HighlightOptionPane.PROP_HIGHLIGHT_WORD_AT_CARET_ENTIRE_WORD);
 +    highlightWordAtCaretEntireWord = \
jEdit.getBooleanProperty(HighlightOptionPane.PROP_HIGHLIGHT_WORD_AT_CARET_WHITESPACE);
  try {
       currentWordHighlight.init(" ",
                                 highlightWordAtCaretEntireWord,
@@ -446,25 +448,32 @@
         offset--;
 
       int wordStart = TextUtilities.findWordStart(lineText, offset, noWordSep);
-      int wordEnd = TextUtilities.findWordEnd(lineText, offset + 1, noWordSep);
-
-      if (wordEnd - wordStart < 2) {
+      if (!highlightWordAtCaretWhitespace && \
Character.isWhitespace(lineText.charAt(wordStart))) {  \
currentWordHighlight.setEnabled(false);  } else {
-        currentWordHighlight.setEnabled(true);
-        String stringToHighlight = lineText.substring(wordStart, wordEnd);
-        if (highlightWordAtCaretEntireWord) {
-          stringToHighlight = "\\<" + stringToHighlight + "\\>";
-          try {
-            currentWordHighlight.init(stringToHighlight,
-                                      true,
-                                      currentWordHighlight.isIgnoreCase(),
-                                      currentWordHighlight.getColor());
-          } catch (REException e1) {
-            Log.log(Log.ERROR, this, e);
-          }
+
+
+        int wordEnd = TextUtilities.findWordEnd(lineText, offset + 1, noWordSep);
+
+        if (wordEnd - wordStart < 2) {
+          currentWordHighlight.setEnabled(false);
         } else {
-          currentWordHighlight.setStringToHighlight(stringToHighlight);
+
+          currentWordHighlight.setEnabled(true);
+          String stringToHighlight = lineText.substring(wordStart, wordEnd);
+          if (highlightWordAtCaretEntireWord) {
+            stringToHighlight = "\\<" + stringToHighlight + "\\>";
+            try {
+              currentWordHighlight.init(stringToHighlight,
+                                        true,
+                                        currentWordHighlight.isIgnoreCase(),
+                                        currentWordHighlight.getColor());
+            } catch (REException e1) {
+              Log.log(Log.ERROR, this, e);
+            }
+          } else {
+            currentWordHighlight.setStringToHighlight(stringToHighlight);
+          }
         }
       }
       fireHighlightChangeListener(highlightEnable);
@@ -502,6 +511,12 @@
       }
     }
 
+    boolean whitespace = \
jEdit.getBooleanProperty(HighlightOptionPane.PROP_HIGHLIGHT_WORD_AT_CARET_WHITESPACE);
 +    if (this.highlightWordAtCaretWhitespace != whitespace) {
+      changed = true;
+      this.highlightWordAtCaretWhitespace = whitespace;
+    }
+
     boolean ignoreCase = \
jEdit.getBooleanProperty(HighlightOptionPane.PROP_HIGHLIGHT_WORD_AT_CARET_IGNORE_CASE);
  if (currentWordHighlight.isIgnoreCase() != ignoreCase) {
       changed = true;
@@ -511,7 +526,8 @@
       changed = true;
     }
 
-    if (currentWordHighlight.setHighlightSubsequence(jEdit.getBooleanProperty(HighlightOptionPane.PROP_HIGHLIGHT_WORD_AT_CARET_SUBSEQUENCE))) \
{ +    if (currentWordHighlight.setHighlightSubsequence(jEdit.getBooleanProperty(HighlightOptionPane.PROP_HIGHLIGHT_WORD_AT_CARET_SUBSEQUENCE)))
 +    {
       changed = true;
     }
 



-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
jEdit-CVS mailing list
jEdit-CVS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jedit-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic