public void assertSelection(@Nullable String expected) { final String selected = myFixture.getEditor().getSelectionModel().getSelectedText(); assertEquals(expected, selected); }
@NotNull private LineRange getLineRange(@NotNull Editor editor, @NotNull Caret caret, @NotNull DataContext context, @NotNull ExCommand cmd) { final LineRange range = cmd.getLineRange(editor, caret, context); final LineRange normalizedRange; // Something like "30,20sort" gets converted to "20,30sort" if (range.getEndLine() < range.getStartLine()) { normalizedRange = new LineRange(range.getEndLine(), range.getStartLine()); } else { normalizedRange = range; } // If we don't have a range, we either have "sort", a selection, or a block if (normalizedRange.getEndLine() - normalizedRange.getStartLine() == 0) { // If we have a selection. final SelectionModel selectionModel = editor.getSelectionModel(); if (selectionModel.hasSelection()) { final int start = selectionModel.getSelectionStart(); final int end = selectionModel.getSelectionEnd(); final int startLine = editor.offsetToLogicalPosition(start).line; final int endLine = editor.offsetToLogicalPosition(end).line; return new LineRange(startLine, endLine); } // If we have a generic selection, i.e. "sort" entire document else { return new LineRange(0, editor.getDocument().getLineCount() - 1); } } return normalizedRange; }
int start = editor.getSelectionModel().getSelectionStart(); int end = editor.getSelectionModel().getSelectionEnd(); editor.getSelectionModel().setSelection(start, Math.max(start, end - 1));
@NotNull public TextRange getVisualRange(@NotNull Editor editor) { return new TextRange(editor.getSelectionModel().getBlockSelectionStarts(), editor.getSelectionModel().getBlockSelectionEnds()); }
public void mouseDragged(@NotNull EditorMouseEvent event) { if (!VimPlugin.isEnabled()) return; if (event.getArea() == EditorMouseEventArea.EDITING_AREA || event.getArea() != EditorMouseEventArea.ANNOTATIONS_AREA) { if (dragEditor == null) { if (event.getArea() == EditorMouseEventArea.EDITING_AREA) { mode = CommandState.SubMode.VISUAL_CHARACTER; } else if (event.getArea() != EditorMouseEventArea.ANNOTATIONS_AREA) { mode = CommandState.SubMode.VISUAL_LINE; } startOff = event.getEditor().getSelectionModel().getSelectionStart(); endOff = event.getEditor().getSelectionModel().getSelectionEnd(); } dragEditor = event.getEditor(); } }
TokenStream tokens = parser.getTokenStream(); int selStart = selectionModel.getSelectionStart(); int selStop = selectionModel.getSelectionEnd()-1; // I'm inclusive and they are exclusive for end offset selectionModel.setSelection(start.getStartIndex(), stop.getStopIndex() + 1); final Project project = e.getProject(); final ChooseExtractedRuleName nameChooser = new ChooseExtractedRuleName(project); final String ruleText = selectionModel.getSelectedText();
@Override public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { PsiElement element = descriptor.getPsiElement(); if (element == null) { return; } Editor editor = PsiUtilBase.findEditor(element); if (editor == null) { return; } TextRange textRange = ((ProblemDescriptorBase) descriptor).getTextRange(); editor.getSelectionModel().setSelection(textRange.getStartOffset(), textRange.getEndOffset()); String wordWithQuotes = editor.getSelectionModel().getSelectedText(); String word = EndpointUtilities.removeBeginningAndEndingQuotes(wordWithQuotes); if (word == null || StringUtil.isEmpty(word)) { return; } String variant = "\"" + getNameSuggestions(word) + "\""; LookupManager lookupManager = LookupManager.getInstance(project); lookupManager.showLookup(editor, LookupElementBuilder.create(variant)); }
String translationText = editor.getSelectionModel().getSelectedText(); startOffset = editor.getSelectionModel().getSelectionStart(); endOffset = editor.getSelectionModel().getSelectionEnd(); } else {
private static void searchSelection(Editor editor, Project project) { final SelectionModel selectionModel = editor.getSelectionModel(); if (!selectionModel.hasSelection()) { selectionModel.selectWordAtCaret(false); final String text = selectionModel.getSelectedText(); if (text == null) { return;
if(editor.getSelectionModel().hasSelection()) { psiElement = psiFile.findElementAt(editor.getSelectionModel().getSelectionStart()); } else { psiElement = psiFile.findElementAt(editor.getCaretModel().getOffset());
public void setVisualMode(@NotNull Editor editor, @NotNull CommandState.SubMode mode) { CommandState.SubMode oldMode = CommandState.getInstance(editor).getSubMode(); if (mode == CommandState.SubMode.NONE) { int start = editor.getSelectionModel().getSelectionStart(); int end = editor.getSelectionModel().getSelectionEnd(); if (start != end) { int line = editor.offsetToLogicalPosition(start).line; editor.getSelectionModel().removeSelection(); return;
if (editor != null) { final SelectionModel selectionModel = editor.getSelectionModel(); if (selectionModel.hasSelection()) { final String selectedText = selectionModel.getSelectedText(); if (selectedText != null) { MathematicaPsiElementFactory factory = new MathematicaPsiElementFactory(project);
public void autoIndentRange(@NotNull Editor editor, @NotNull Caret caret, @NotNull DataContext context, @NotNull TextRange range) { final int startOffset = EditorHelper.getLineStartForOffset(editor, range.getStartOffset()); final int endOffset = EditorHelper.getLineEndForOffset(editor, range.getEndOffset()); editor.getSelectionModel().setSelection(startOffset, endOffset); KeyHandler.executeAction("AutoIndentLines", context); final int firstLine = editor.offsetToLogicalPosition(Math.min(startOffset, endOffset)).line; final int newOffset = VimPlugin.getMotion().moveCaretToLineStartSkipLeading(editor, firstLine); MotionGroup.moveCaret(editor, caret, newOffset); restoreCursor(editor, caret, caret.getLogicalPosition().line); }
/** * {@link com.intellij.codeInsight.highlighting.HighlightUsagesHandler#handleNoUsageTargets(PsiFile, * Editor, SelectionModel, Project)} */ private static void handleNoUsageTargets(PsiFile file, @NotNull Editor editor, @NotNull Project project) { if (file.findElementAt(editor.getCaretModel().getOffset()) instanceof PsiWhiteSpace) { return; } final SelectionModel selectionModel = editor.getSelectionModel(); selectionModel.selectWordAtCaret(false); String selection = selectionModel.getSelectedText(); // LOG.assertTrue(selection != null); if (selection != null) { for (int i = 0; i < selection.length(); i++) { if (!Character.isJavaIdentifierPart(selection.charAt(i))) { selectionModel.removeSelection(); } } searchSelection(editor, project); selectionModel.removeSelection(); } }
@Override public List<PsiElement> getTargets() { if (!this.myEditor.getSelectionModel().hasSelection()) { return Collections.emptyList(); } Caret primaryCaret = this.myEditor.getCaretModel().getPrimaryCaret(); PsiElement myFocusedElement = this.myFile.getViewProvider().findElementAt(primaryCaret.getOffset()); if (myFocusedElement == null) { myFocusedElement = this.myFile.getLastChild(); } myFocusedElement = CsvHelper.getParentFieldElement(myFocusedElement); if (myFocusedElement == null) { return Collections.emptyList(); } return Collections.singletonList(myFocusedElement); }
int[] starts = selectionModel.getBlockSelectionStarts(); int[] ends = selectionModel.getBlockSelectionEnds(); if (starts.length == 0) return; if (!selectionModel.hasSelection()) { List<BnfExpression> expressions = ContainerUtil.newArrayList(); while (parentExpression != null) {
private void onClick(MouseEvent e) { if (highlightSource) { TreePath path = myTree.getClosestPathForLocation(e.getX(), e.getY()); if (path == null) { return; } DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent(); Tree tree = (Tree) node.getUserObject(); int startIndex; int stopIndex; if (tree instanceof ParserRuleContext) { startIndex = ((ParserRuleContext) tree).getStart().getStartIndex(); stopIndex = ((ParserRuleContext) tree).getStop().getStopIndex(); } else if (tree instanceof TerminalNode) { startIndex = ((TerminalNode) tree).getSymbol().getStartIndex(); stopIndex = ((TerminalNode) tree).getSymbol().getStopIndex(); } else { return; } Editor editor = previewPanel.inputPanel.getInputEditor(); editor.getSelectionModel().removeSelection(); editor.getSelectionModel().setSelection(startIndex, stopIndex + 1); } } }
public static void moveCaret(@NotNull Editor editor, @NotNull Caret caret, int offset, boolean forceKeepVisual) { if (offset >= 0 && offset <= editor.getDocument().getTextLength()) { final boolean keepVisual = forceKeepVisual || keepVisual(editor); if (caret.getOffset() != offset) { caret.moveToOffset(offset); CaretData.setLastColumn(editor, caret, caret.getVisualPosition().column); if (caret == editor.getCaretModel().getPrimaryCaret()) { scrollCaretIntoView(editor); } } if (keepVisual) { VimPlugin.getMotion().updateSelection(editor, caret, offset); } else { editor.getSelectionModel().removeSelection(); } } }
/** * Provides a replacement API method name that matches the {@link * MethodNameInspection.API_NAME_PATTERN}. * * @param project {@link com.intellij.openapi.project.Project} * @param descriptor problem reported by the tool which provided this quick fix action */ @Override public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { PsiElement element = descriptor.getPsiElement(); if (element == null) { return; } Editor editor = PsiUtilBase.findEditor(element); if (editor == null) { return; } TextRange textRange = ((ProblemDescriptorBase) descriptor).getTextRange(); editor.getSelectionModel().setSelection(textRange.getStartOffset(), textRange.getEndOffset()); String wordWithQuotes = editor.getSelectionModel().getSelectedText(); String word = EndpointUtilities.removeBeginningAndEndingQuotes(wordWithQuotes); if (word == null || StringUtil.isEmpty(word)) { return; } String variant = "\"" + getMethodNameSuggestions(word) + "\""; LookupManager lookupManager = LookupManager.getInstance(project); lookupManager.showLookup(editor, LookupElementBuilder.create(variant)); }
@Nullable private static PsiElement findTargetElement(Editor editor, PsiFile file) { int offset = editor.getCaretModel().getOffset(); PsiElement endElement = file.findElementAt(offset); SelectionModel selectionModel = editor.getSelectionModel(); if (selectionModel.hasSelection() && selectionModel.getSelectionStart() < offset) { PsiElement startElement = file.findElementAt(selectionModel.getSelectionStart()); if (startElement != null && startElement != endElement && startElement.getTextRange().getEndOffset() == offset) { return startElement; } } return endElement; }