Skip to content
This repository has been archived by the owner on Apr 3, 2018. It is now read-only.

Commit

Permalink
Removed dep on org.eclipse.jface.text
Browse files Browse the repository at this point in the history
  • Loading branch information
bruno-medeiros committed Sep 13, 2016
1 parent 99d6714 commit 99d01fd
Show file tree
Hide file tree
Showing 24 changed files with 74 additions and 55 deletions.
1 change: 0 additions & 1 deletion plugin_ide.core/META-INF/MANIFEST.MF
Expand Up @@ -15,7 +15,6 @@ Require-Bundle: LANG_PROJECT_ID.tooling;visibility:=reexport,
org.eclipse.core.filesystem;bundle-version="1.4.0",
org.eclipse.core.filebuffers;bundle-version="3.5.0",
org.eclipse.core.expressions;bundle-version="3.4.0",
org.eclipse.jface.text;bundle-version="3.9.1",
org.eclipse.jface;bundle-version="3.9.1",
org.eclipse.debug.core;bundle-version="3.6.0",
org.eclipse.text;bundle-version="3.6.0"
Expand Down
Expand Up @@ -84,6 +84,10 @@ public int getPosition() {
return pos;
}

public int getLastToken() {
return token;
}

protected void setPosition(int pos) {
this.pos = pos;
}
Expand Down Expand Up @@ -119,7 +123,7 @@ protected final int readPreviousCharacter() {
}
}

protected final int readNextCharacter() {
public final int readNextCharacter() {
if(pos >= posLimit) {
return token = TOKEN_EOF;
} else {
Expand All @@ -142,11 +146,11 @@ protected final int readNextCharacter() {
}
}

protected final void revertPreviousCharacter() {
public final void revertPreviousCharacter() {
pos++;
}

protected final void revertNextCharacter() {
public final void revertNextCharacter() {
pos--;
}

Expand Down
Expand Up @@ -136,30 +136,30 @@ public BlockBalanceResult calculateBlockBalances(int beginPos, int endPos) throw
return result;
}

protected abstract class FnTokenAdvance {
public abstract class FnTokenAdvance {

protected abstract int advanceToken() ;
public abstract int advanceToken() ;

protected abstract void revertToken() ;
public abstract void revertToken() ;
}

protected final FnTokenAdvance prevTokenFn = new FnTokenAdvance() {
public final FnTokenAdvance prevTokenFn = new FnTokenAdvance() {
@Override
protected int advanceToken() {
public int advanceToken() {
return readPreviousCharacter();
}
@Override
protected void revertToken() {
public void revertToken() {
revertPreviousCharacter();
}
};
protected final FnTokenAdvance nextTokenFn = new FnTokenAdvance() {
public final FnTokenAdvance nextTokenFn = new FnTokenAdvance() {
@Override
protected int advanceToken() {
public int advanceToken() {
return readNextCharacter();
}
@Override
protected void revertToken() {
public void revertToken() {
revertNextCharacter();
}
};
Expand Down
@@ -1,9 +1,7 @@
package melnorme.lang.ide.core;

import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.rules.IPartitionTokenScanner;

import LANG_PROJECT_ID.ide.core.text.LANGUAGE_PartitionScanner;
import melnorme.utilbox.misc.ArrayUtil;


Expand All @@ -29,10 +27,6 @@ public String getId() {

}

public static IPartitionTokenScanner createPartitionScanner() {
return new LANGUAGE_PartitionScanner();
}

/* ----------------- Common code ----------------- */

public static final String[] PARTITION_TYPES = ArrayUtil.map(LangPartitionTypes.values(),
Expand Down
Expand Up @@ -8,10 +8,14 @@
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package melnorme.lang.ide.core.text;
package melnorme.lang.ide.core_text;

import static melnorme.utilbox.core.Assert.AssertNamespace.assertNotNull;
import static melnorme.utilbox.core.Assert.AssertNamespace.assertTrue;

import melnorme.lang.ide.core.text.AbstractDocumentScanner;
import melnorme.lang.ide.core.text.BlockHeuristicsScannner;
import melnorme.lang.ide.core.text.TextSourceUtils;
import melnorme.lang.ide.core.text.BlockHeuristicsScannner.BlockTokenRule;

import org.eclipse.jface.text.BadLocationException;
Expand Down Expand Up @@ -67,11 +71,11 @@ protected void testScanToBlockStart(String srcPre, String srcBlock, String srcAf

assertTrue(balance == expecBalance);
assertTrue(scanner.getPosition() == srcPre.length());
assertTrue((scanner.token == AbstractDocumentScanner.TOKEN_INVALID) == expecInvalidLeft);
assertTrue((scanner.getLastToken() == AbstractDocumentScanner.TOKEN_INVALID) == expecInvalidLeft);

if(balance == 0) {
int blockEndOffset = srcBefore.length();
if (scanner.token != AbstractDocumentScanner.TOKEN_INVALID) {
if (scanner.getLastToken() != AbstractDocumentScanner.TOKEN_INVALID) {
balance = scanner.scanToBlockEnd(scanner.getPosition());
assertTrue(balance == 0);
assertEquals(scanner.getPosition()-1, blockEndOffset);
Expand All @@ -90,7 +94,7 @@ protected void testScanToBlockStart(String srcPre, String srcBlock, String srcAf

assertTrue(balance == expecBalance);
assertTrue(scanner.getPosition() == reversePosition(srcPre.length()));
assertTrue((scanner.token == AbstractDocumentScanner.TOKEN_INVALID) == expecInvalidLeft);
assertTrue((scanner.getLastToken() == AbstractDocumentScanner.TOKEN_INVALID) == expecInvalidLeft);
}

protected String reverse(String string) {
Expand Down
Expand Up @@ -8,16 +8,17 @@
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package melnorme.lang.ide.core.text;
package melnorme.lang.ide.core_text;

import static melnorme.utilbox.core.Assert.AssertNamespace.assertTrue;
import melnorme.lang.ide.core.text.AbstractDocumentScanner;
import melnorme.lang.ide.core.text.BlockHeuristicsScannner;
import melnorme.lang.ide.core.text.BlockHeuristicsScannner.FnTokenAdvance;

import org.eclipse.jface.text.BadLocationException;
import org.junit.Test;

import melnorme.lang.ide.core.text.AbstractDocumentScanner;
import melnorme.lang.ide.core.text.BlockHeuristicsScannner;
import melnorme.lang.ide.core.text.BlockHeuristicsScannner.FnTokenAdvance;

public class BlockHeuristicsScannner_PartitionsTest extends BlockHeuristicsScannnerTest {

@Override
Expand Down Expand Up @@ -61,19 +62,19 @@ protected void testTokenizing(String[] expectedTokens, BlockHeuristicsScannner s
advanceTokenFn.advanceToken();
if(bounce) {
if(i != 0) {
int tokenSaved = scanner.token;
int positionSaved = scanner.pos;
int tokenSaved = scanner.getLastToken();
int positionSaved = scanner.getPosition();
advanceTokenFn.revertToken();
advanceTokenFn.advanceToken();
assertTrue(tokenSaved == scanner.token);
assertTrue(positionSaved == scanner.pos);
assertTrue(tokenSaved == scanner.getLastToken());
assertTrue(positionSaved == scanner.getPosition());
}
}
String tokenStr = forward ?
document.get(oldPos, scanner.pos - oldPos) :
document.get(scanner.pos, oldPos - scanner.pos);
document.get(oldPos, scanner.getPosition() - oldPos) :
document.get(scanner.getPosition(), oldPos - scanner.getPosition());
assertEquals(tokenStr, expectedToken);
assertEquals(scanner.token, expectedToken.length() == 1 ?
assertEquals(scanner.getLastToken(), expectedToken.length() == 1 ?
expectedToken.charAt(0) : AbstractDocumentScanner.TOKEN_OUTSIDE);
}
assertTrue(scanner.getPosition() == (forward ? document.getLength() : 0));
Expand Down
Expand Up @@ -8,13 +8,15 @@
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package melnorme.lang.ide.core.text;
package melnorme.lang.ide.core_text;

import static melnorme.utilbox.core.Assert.AssertNamespace.assertTrue;

import org.eclipse.jface.text.Document;
import org.junit.Test;

import melnorme.lang.ide.core_text.BufferedRuleBasedScannerExt;
import melnorme.lang.ide.core_text.CharacterScanner_ReaderHelper;
import melnorme.lang.utils.parse.ICharSource;
import melnorme.lang.utils.parse.ICharacterReader;
import melnorme.lang.utils.parse.ParseSource_Test;
Expand Down
Expand Up @@ -8,12 +8,13 @@
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package melnorme.lang.ide.core.text;
package melnorme.lang.ide.core_text;

import static melnorme.utilbox.core.Assert.AssertNamespace.assertFail;
import static melnorme.utilbox.core.Assert.AssertNamespace.assertTrue;
import static melnorme.utilbox.core.CoreUtil.array;
import melnorme.lang.ide.core.text.FullPatternRule;

import melnorme.lang.ide.core_text.FullPatternRule;
import melnorme.utilbox.misc.ArrayUtil;

import org.eclipse.jface.text.rules.ICharacterScanner;
Expand Down
Expand Up @@ -8,7 +8,7 @@
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package melnorme.lang.ide.core.text.format;
package melnorme.lang.ide.core_text;

import static melnorme.utilbox.core.Assert.AssertNamespace.assertTrue;
import static melnorme.utilbox.core.CoreUtil.areEqual;
Expand All @@ -21,9 +21,11 @@

import melnorme.lang.ide.core.text.BlockHeuristicsScannner;
import melnorme.lang.ide.core.text.DocumentCommand2;
import melnorme.lang.ide.core.text.SamplePartitionScanner;
import melnorme.lang.ide.core.text.Scanner_BaseTest;
import melnorme.lang.ide.core.text.TextSourceUtils;
import melnorme.lang.ide.core.text.format.FormatterIndentMode;
import melnorme.lang.ide.core.text.format.ILangAutoEditsPreferencesAccess;
import melnorme.lang.ide.core.text.format.ILastKeyInfoProvider;
import melnorme.lang.ide.core.text.format.LangAutoEditStrategy;
import melnorme.lang.ide.core.text.format.ILastKeyInfoProvider.KeyCommand;
import melnorme.utilbox.misc.MiscUtil;
import melnorme.utilbox.misc.StringUtil;
Expand Down
Expand Up @@ -8,7 +8,7 @@
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package melnorme.lang.ide.core.text;
package melnorme.lang.ide.core_text;
import java.util.ArrayList;
import java.util.List;

Expand Down
Expand Up @@ -8,7 +8,7 @@
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package melnorme.lang.ide.core.text;
package melnorme.lang.ide.core_text;

import static melnorme.utilbox.core.Assert.AssertNamespace.assertTrue;

Expand All @@ -17,6 +17,7 @@
import org.eclipse.jface.text.rules.FastPartitioner;
import org.eclipse.jface.text.rules.IPartitionTokenScanner;

import melnorme.lang.ide.core.text.BlockHeuristicsScannner;
import melnorme.lang.ide.core.text.BlockHeuristicsScannner.BlockTokenRule;
import melnorme.lang.ide.core.utils.EclipseUtils;
import melnorme.utilbox.misc.ArrayUtil;
Expand Down
Expand Up @@ -9,7 +9,7 @@
* IBM Corporation - initial API and implementation
* Bruno Medeiros - add lookahead method
*******************************************************************************/
package melnorme.lang.ide.core.text;
package melnorme.lang.ide.core_text;

import static melnorme.utilbox.core.Assert.AssertNamespace.assertFail;
import static melnorme.utilbox.core.Assert.AssertNamespace.assertTrue;
Expand Down
Expand Up @@ -8,7 +8,7 @@
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package melnorme.lang.ide.core.text;
package melnorme.lang.ide.core_text;

import melnorme.lang.utils.parse.BasicCharSource;
import melnorme.lang.utils.parse.ICharSource;
Expand Down
Expand Up @@ -8,7 +8,7 @@
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package melnorme.lang.ide.core.text;
package melnorme.lang.ide.core_text;

import static melnorme.utilbox.core.Assert.AssertNamespace.assertNotNull;

Expand Down
Expand Up @@ -8,7 +8,7 @@
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package melnorme.lang.ide.core.text;
package melnorme.lang.ide.core_text;

import java.util.function.Function;
import melnorme.utilbox.misc.ArrayUtil;
Expand Down
Expand Up @@ -12,6 +12,7 @@

import melnorme.lang.ide.core.TextSettings_Actual;
import melnorme.lang.ide.core.utils.EclipseUtils;
import melnorme.lang.ide.ui.LangUIPlugin_Actual;
import melnorme.utilbox.misc.ArrayUtil;

import org.eclipse.core.filebuffers.IDocumentSetupParticipant;
Expand Down Expand Up @@ -45,7 +46,7 @@ public FastPartitioner setupDocument(IDocument document) {
}

public FastPartitioner createDocumentPartitioner() {
IPartitionTokenScanner scanner = TextSettings_Actual.createPartitionScanner();
IPartitionTokenScanner scanner = LangUIPlugin_Actual.createPartitionScanner();
return new FastPartitioner(scanner, LEGAL_CONTENT_TYPES);
}

Expand Down
Expand Up @@ -8,7 +8,7 @@
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package melnorme.lang.ide.core.text;
package melnorme.lang.ide.core_text;


import static melnorme.utilbox.core.Assert.AssertNamespace.assertNotNull;
Expand All @@ -20,6 +20,7 @@
import org.eclipse.jface.text.rules.PatternRule;
import org.eclipse.jface.text.rules.Token;

import LANG_PROJECT_ID.ide.core_text.RuleBasedPartitionScannerExt;
import melnorme.lang.tooling.parser.lexer.IPredicateLexingRule;
import melnorme.utilbox.collections.ArrayList2;

Expand Down
@@ -1,4 +1,4 @@
package melnorme.lang.ide.core.text;
package melnorme.lang.ide.core_text;

import org.eclipse.jface.text.rules.ICharacterScanner;
import org.eclipse.jface.text.rules.IToken;
Expand Down
Expand Up @@ -8,7 +8,7 @@
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package melnorme.lang.ide.core.text;
package melnorme.lang.ide.core_text;

import org.eclipse.jface.text.DocumentEvent;
import org.eclipse.jface.text.IRegion;
Expand Down
Expand Up @@ -21,8 +21,8 @@
import org.eclipse.jface.text.rules.IWordDetector;
import org.eclipse.jface.text.rules.Token;

import melnorme.lang.ide.core.text.BufferedRuleBasedScannerExt;
import melnorme.lang.ide.core.text.CharacterScanner_ReaderHelper;
import melnorme.lang.ide.core_text.BufferedRuleBasedScannerExt;
import melnorme.lang.ide.core_text.CharacterScanner_ReaderHelper;
import melnorme.lang.ide.ui.text.coloring.ILangTokenScanner;
import melnorme.lang.ide.ui.text.coloring.ThemedTextStylingPreference;
import melnorme.lang.ide.ui.text.coloring.TokenRegistry;
Expand Down
Expand Up @@ -8,12 +8,12 @@
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package LANG_PROJECT_ID.ide.core.text;
package LANG_PROJECT_ID.ide.core_text;

import org.eclipse.jface.text.rules.IPredicateRule;

import melnorme.lang.ide.core.TextSettings_Actual.LangPartitionTypes;
import melnorme.lang.ide.core.text.LangPartitionScanner;
import melnorme.lang.ide.core_text.LangPartitionScanner;
import melnorme.lang.tooling.parser.lexer.CharacterLexingRule;
import melnorme.utilbox.collections.ArrayList2;

Expand Down

0 comments on commit 99d01fd

Please sign in to comment.