public ExitFlags doExit(LinkedModeModel model, VerifyEvent event, int offset, int length) { if (event.character == _exitCharacter) { if (_size == _stack.size() && !isMasked(offset)) { SymbolLevel level = (SymbolLevel) _stack.peek(); if (level._firstPosition.offset > offset || level._secondPosition.offset < offset) { return null; } if (level._secondPosition.offset == offset && length == 0) { // don't enter the character if if its the closing peer return new ExitFlags(ILinkedModeListener.UPDATE_CARET, false); } } } return null; }
public ExitFlags doExit(LinkedModeModel model, VerifyEvent event, int offset, int length) { if (fSize == fStack.size() && !isMasked(offset)) { if (event.character == fExitCharacter) { BracketLevel level= (BracketLevel) fStack.peek(); if (level.fFirstPosition.offset > offset || level.fSecondPosition.offset < offset) return null; if (level.fSecondPosition.offset == offset && length == 0) // don't enter the character if if its the closing peer return new ExitFlags(ILinkedModeListener.UPDATE_CARET, false); } // when entering an anonymous class between the parenthesis', we don't want // to jump after the closing parenthesis when return is pressed if (event.character == SWT.CR && offset > 0) { IDocument document= getSourceViewer().getDocument(); try { if (document.getChar(offset - 1) == '{') return new ExitFlags(ILinkedModeListener.EXIT_ALL, true); } catch (BadLocationException e) { } } } return null; }
@Override public ExitFlags doExit(LinkedModeModel model2, VerifyEvent event, int offset2, int length) { if (event.character == ',') { for (int i= 0; i < fPositions.length - 1; i++) { // not for the last one Position position= fPositions[i]; if (position.offset <= offset2 && offset2 + length <= position.offset + position.length) { try { ITypedRegion partition= TextUtilities.getPartition(document, IJavaPartitions.JAVA_PARTITIONING, offset2 + length, false); if (IDocument.DEFAULT_CONTENT_TYPE.equals(partition.getType()) || offset2 + length == partition.getOffset() + partition.getLength()) { event.character= '\t'; event.keyCode= SWT.TAB; return null; } } catch (BadLocationException e) { // continue; not serious enough to log } } } } else if (event.character == ')' && exitChar != ')') { // exit from link mode when user is in the last ')' position. Position position= fPositions[fPositions.length - 1]; if (position.offset <= offset2 && offset2 + length <= position.offset + position.length) { return new ExitFlags(ILinkedModeListener.UPDATE_CARET, false); } } return super.doExit(model2, event, offset2, length); } });
if (level.fSecondPosition.offset == offset && length == 0) return new ExitFlags(ILinkedModeListener.UPDATE_CARET, false); try { if (document.getChar(offset - 1) == '{') return new ExitFlags(ILinkedModeListener.EXIT_ALL, true); ICompletionProposal proposal= ((ContentAssistProcessor) processor).getSelectedProposal(); if (proposal instanceof OverrideCompletionProposal) { return new ExitFlags(ILinkedModeListener.EXIT_ALL, true);
if (level.fSecondPosition.offset == offset && length == 0) return new ExitFlags(ILinkedModeListener.UPDATE_CARET, false); try { if (document.getChar(offset - 1) == '{') return new ExitFlags(ILinkedModeListener.EXIT_ALL, true); ICompletionProposal proposal= ((ContentAssistProcessor) processor).getSelectedProposal(); if (proposal instanceof OverrideCompletionProposal) { return new ExitFlags(ILinkedModeListener.EXIT_ALL, true);
@Override public ExitFlags doExit(LinkedModeModel model2, VerifyEvent event, int offset2, int length) { if (event.character == ',') { for (int i= 0; i < fPositions.length - 1; i++) { // not for the last one Position position= fPositions[i]; if (position.offset <= offset2 && offset2 + length <= position.offset + position.length) { try { ITypedRegion partition= TextUtilities.getPartition(document, IJavaPartitions.JAVA_PARTITIONING, offset2 + length, false); if (IDocument.DEFAULT_CONTENT_TYPE.equals(partition.getType()) || offset2 + length == partition.getOffset() + partition.getLength()) { event.character= '\t'; event.keyCode= SWT.TAB; return null; } } catch (BadLocationException e) { // continue; not serious enough to log } } } } else if (event.character == ')' && exitChar != ')') { // exit from link mode when user is in the last ')' position. Position position= fPositions[fPositions.length - 1]; if (position.offset <= offset2 && offset2 + length <= position.offset + position.length) { return new ExitFlags(ILinkedModeListener.UPDATE_CARET, false); } } return super.doExit(model2, event, offset2, length); } });
@Override public ExitFlags doExit(LinkedModeModel environment, VerifyEvent event, int offset, int length) { if (event.character == fExitCharacter) { if (environment.anyPositionContains(offset)) return new ExitFlags(ILinkedModeListener.UPDATE_CARET, false); else return new ExitFlags(ILinkedModeListener.UPDATE_CARET, true); } switch (event.character) { case ';': return new ExitFlags(ILinkedModeListener.NONE, true); case SWT.CR: // 1) when entering an anonymous class as a parameter, we don't want // to jump after the parenthesis when return is pressed // 2) after auto completion of methods without parameters, exit from linked mode when return is pressed if (offset > 0) { try { char prevOffsetChar= fDocument.getChar(offset - 1); if (prevOffsetChar == '{' || prevOffsetChar == ';') return new ExitFlags(ILinkedModeListener.EXIT_ALL, true); } catch (BadLocationException e) { } } return null; default: return null; } }
@Override public ExitFlags doExit(LinkedModeModel environment, VerifyEvent event, int offset, int length) { if (event.character == fExitCharacter) { if (environment.anyPositionContains(offset)) return new ExitFlags(ILinkedModeListener.UPDATE_CARET, false); else return new ExitFlags(ILinkedModeListener.UPDATE_CARET, true); } switch (event.character) { case ';': return new ExitFlags(ILinkedModeListener.NONE, true); case SWT.CR: // 1) when entering an anonymous class as a parameter, we don't want // to jump after the parenthesis when return is pressed // 2) after auto completion of methods without parameters, exit from linked mode when return is pressed if (offset > 0) { try { char prevOffsetChar= fDocument.getChar(offset - 1); if (prevOffsetChar == '{' || prevOffsetChar == ';') return new ExitFlags(ILinkedModeListener.EXIT_ALL, true); } catch (BadLocationException e) { } } return null; default: return null; } }
public ExitFlags doExit(LinkedModeModel environment, VerifyEvent event, int offset, int length) { if (event.character == fExitCharacter) { if (environment.anyPositionContains(offset)) return new ExitFlags(ILinkedModeListener.UPDATE_CARET, false); else return new ExitFlags(ILinkedModeListener.UPDATE_CARET, true); } switch (event.character) { case ';': return new ExitFlags(ILinkedModeListener.NONE, true); case SWT.CR: // when entering an anonymous class as a parameter, we don't want // to jump after the parenthesis when return is pressed if (offset > 0) { try { if (fDocument.getChar(offset - 1) == '{') return new ExitFlags(ILinkedModeListener.EXIT_ALL, true); } catch (BadLocationException e) { } } return null; default: return null; } }
public ExitFlags doExit(LinkedModeModel environment, VerifyEvent event, int offset, int length) { if (event.character == '\0') return null; for (char c: exitCharacters) { if (event.character == c) { return new ExitFlags(ILinkedModeListener.UPDATE_CARET, false); } } switch (event.character) { case SWT.CR: return new ExitFlags(ILinkedModeListener.UPDATE_CARET, false); default: return null; } }
@Override public ExitFlags doExit(LinkedModeModel model, VerifyEvent event, int offset, int length) { if (event.character == '=') { return new ExitFlags(ILinkedModeListener.EXIT_ALL, true); } return null; } }
@Override public ExitFlags doExit(LinkedModeModel model, VerifyEvent event, int offset, int length) { if (event.character == '=') { return new ExitFlags(ILinkedModeListener.EXIT_ALL, true); } return null; } }
public ExitFlags doExit(LinkedModeModel model, VerifyEvent event, int offset, int length) { if (event.character == '=') { return new ExitFlags(ILinkedModeListener.EXIT_ALL, true); } return null; } }