org.eclipse.lsp4j.WorkspaceEdit#setChanges ( )源码实例Demo

下面列出了org.eclipse.lsp4j.WorkspaceEdit#setChanges ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: n4js   文件: N4JSCodeActionService.java
/**
 * Applies all fixes of the same kind to the project containing the given URI.
 */
public WorkspaceEdit applyToProject(URI uri, String issueCode, String fixId, CancelIndicator cancelIndicator) {

	WorkspaceEdit result = new WorkspaceEdit();
	QuickFixImplementation quickfix = findOriginatingQuickfix(issueCode, fixId);
	if (quickfix == null) {
		return result;
	}

	Optional<? extends IN4JSProject> project = n4jsCore.findProject(uri);
	if (!project.isPresent()) {
		return result;
	}
	List<URI> urisInProject = Lists.newArrayList(
			IterableExtensions.flatMap(project.get().getSourceContainers(), sc -> sc));

	Map<String, List<TextEdit>> allEdits = new HashMap<>();
	for (URI currURI : urisInProject) {
		Map<String, List<TextEdit>> edits = doApplyToFile(currURI, issueCode, quickfix, cancelIndicator);
		allEdits.putAll(edits);
	}
	result.setChanges(allEdits);
	return result;
}
 
源代码2 项目: vscode-as3mxml   文件: CodeActionsUtils.java
public static WorkspaceEdit createWorkspaceEditForAddImport(IDefinition definition, String fileText, String uri, ImportRange importRange)
{
    TextEdit textEdit = createTextEditForAddImport(definition.getQualifiedName(), fileText, importRange);
    if (textEdit == null)
    {
        return null;
    }

    WorkspaceEdit workspaceEdit = new WorkspaceEdit();
    HashMap<String,List<TextEdit>> changes = new HashMap<>();
    List<TextEdit> edits = new ArrayList<>();
    edits.add(textEdit);
    changes.put(uri, edits);
    workspaceEdit.setChanges(changes);
    return workspaceEdit;
}
 
源代码3 项目: vscode-as3mxml   文件: CodeActionsUtils.java
public static WorkspaceEdit createWorkspaceEditForAddImport(String qualfiedName, String fileText, String uri, ImportRange importRange)
{
    TextEdit textEdit = createTextEditForAddImport(qualfiedName, fileText, importRange);
    if (textEdit == null)
    {
        return null;
    }

    WorkspaceEdit workspaceEdit = new WorkspaceEdit();
    HashMap<String,List<TextEdit>> changes = new HashMap<>();
    List<TextEdit> edits = new ArrayList<>();
    edits.add(textEdit);
    changes.put(uri, edits);
    workspaceEdit.setChanges(changes);
    return workspaceEdit;
}
 
源代码4 项目: vscode-as3mxml   文件: CodeActionsUtils.java
public static WorkspaceEdit createWorkspaceEditForAddMXMLNamespace(String nsPrefix, String nsURI, String fileText, String fileURI, int startIndex, int endIndex)
{
    TextEdit textEdit = createTextEditForAddMXMLNamespace(nsPrefix, nsURI, fileText, startIndex, endIndex);
    if (textEdit == null)
    {
        return null;
    }

    WorkspaceEdit workspaceEdit = new WorkspaceEdit();
    HashMap<String,List<TextEdit>> changes = new HashMap<>();
    List<TextEdit> edits = new ArrayList<>();
    edits.add(textEdit);
    changes.put(fileURI, edits);
    workspaceEdit.setChanges(changes);
    return workspaceEdit;
}
 
源代码5 项目: vscode-as3mxml   文件: CodeActionsUtils.java
public static WorkspaceEdit createWorkspaceEditForGenerateLocalVariable(
    IIdentifierNode identifierNode, String uri, String text)
{
    TextEdit textEdit = createTextEditForGenerateLocalVariable(identifierNode, text);
    if (textEdit == null)
    {
        return null;
    }

    WorkspaceEdit workspaceEdit = new WorkspaceEdit();
    HashMap<String,List<TextEdit>> changes = new HashMap<>();
    List<TextEdit> edits = new ArrayList<>();
    edits.add(textEdit);
    changes.put(uri, edits);
    workspaceEdit.setChanges(changes);
    return workspaceEdit;
}
 
源代码6 项目: vscode-as3mxml   文件: CodeActionsUtils.java
public static WorkspaceEdit createWorkspaceEditForGenerateFieldVariable(
    IIdentifierNode identifierNode, String uri, String text)
{
    TextEdit textEdit = createTextEditForGenerateFieldVariable(identifierNode, text);
    if (textEdit == null)
    {
        return null;
    }

    WorkspaceEdit workspaceEdit = new WorkspaceEdit();
    HashMap<String,List<TextEdit>> changes = new HashMap<>();
    List<TextEdit> edits = new ArrayList<>();
    edits.add(textEdit);
    changes.put(uri, edits);
    workspaceEdit.setChanges(changes);
    return workspaceEdit;
}
 
源代码7 项目: vscode-as3mxml   文件: CodeActionsUtils.java
public static WorkspaceEdit createWorkspaceEditForGenerateGetterAndSetter(
    IVariableNode variableNode, String uri, String text, boolean generateGetter, boolean generateSetter)
{
    TextEdit textEdit = createTextEditForGenerateGetterAndSetter(variableNode, text, generateGetter, generateSetter);
    if (textEdit == null)
    {
        return null;
    }

    WorkspaceEdit workspaceEdit = new WorkspaceEdit();
    HashMap<String,List<TextEdit>> changes = new HashMap<>();
    List<TextEdit> edits = new ArrayList<>();
    edits.add(textEdit);
    changes.put(uri, edits);
    workspaceEdit.setChanges(changes);
    return workspaceEdit;
}
 
源代码8 项目: vscode-as3mxml   文件: CodeActionsUtils.java
public static WorkspaceEdit createWorkspaceEditForGenerateCatch(
    ITryNode tryNode, String uri, String text, ICompilerProject project)
{
    TextEdit textEdit = createTextEditForGenerateCatch(tryNode, text, project);
    if (textEdit == null)
    {
        return null;
    }

    WorkspaceEdit workspaceEdit = new WorkspaceEdit();
    HashMap<String,List<TextEdit>> changes = new HashMap<>();
    List<TextEdit> edits = new ArrayList<>();
    edits.add(textEdit);
    changes.put(uri, edits);
    workspaceEdit.setChanges(changes);
    return workspaceEdit;
}
 
源代码9 项目: vscode-as3mxml   文件: CodeActionsUtils.java
public static WorkspaceEdit createWorkspaceEditForGenerateEventListener(
    IASNode context, String functionName, String eventClassName,
    String uri, String text, ICompilerProject project)
{
    List<TextEdit> textEdits = createTextEditsForGenerateEventListener(context, functionName, eventClassName, text, project);
    if (textEdits == null || textEdits.size() == 0)
    {
        return null;
    }

    WorkspaceEdit workspaceEdit = new WorkspaceEdit();
    HashMap<String,List<TextEdit>> changes = new HashMap<>();
    changes.put(uri, textEdits);
    workspaceEdit.setChanges(changes);
    return workspaceEdit;
}
 
源代码10 项目: vscode-as3mxml   文件: CodeActionsUtils.java
public static WorkspaceEdit createWorkspaceEditForRemoveUnusedImport(String fileText, String uri, Range range)
{
    TextEdit textEdit = createTextEditForRemoveUnusedImport(fileText, range);
    if (textEdit == null)
    {
        return null;
    }

    WorkspaceEdit workspaceEdit = new WorkspaceEdit();
    HashMap<String,List<TextEdit>> changes = new HashMap<>();
    List<TextEdit> edits = new ArrayList<>();
    edits.add(textEdit);
    changes.put(uri, edits);
    workspaceEdit.setChanges(changes);
    return workspaceEdit;
}
 
源代码11 项目: n4js   文件: N4JSCodeActionService.java
/**
 * Applies all fixes of the same kind to the file with the given URI.
 */
public WorkspaceEdit applyToFile(URI uri, String issueCode, String fixId, CancelIndicator cancelIndicator) {

	WorkspaceEdit result = new WorkspaceEdit();
	QuickFixImplementation quickfix = findOriginatingQuickfix(issueCode, fixId);
	if (quickfix == null) {
		return result;
	}

	Map<String, List<TextEdit>> edits = doApplyToFile(uri, issueCode, quickfix, cancelIndicator);
	result.setChanges(edits);
	return result;
}
 
源代码12 项目: n4js   文件: CodeActionAcceptor.java
/** Adds a quick-fix code action with the given title and text edits */
@Override
public void acceptQuickfixCodeAction(QuickfixContext context, String title, List<TextEdit> textEdits) {
	if (textEdits == null || textEdits.isEmpty()) {
		return;
	}

	String uri = context.options.getCodeActionParams().getTextDocument().getUri();
	Map<String, List<TextEdit>> changes = new HashMap<>();
	changes.put(uri, textEdits);
	WorkspaceEdit edit = new WorkspaceEdit();
	edit.setChanges(changes);
	acceptQuickfixCodeAction(context, title, edit, null);
}
 
源代码13 项目: eclipse.jdt.ls   文件: ChangeUtil.java
private static void appendChanges(WorkspaceEdit root, WorkspaceEdit child, boolean ignoreResourceChange) {
	if (root == null || child == null) {
		return;
	}

	if (child.getChanges() != null && !child.getChanges().isEmpty()) {
		if (root.getChanges() == null) {
			root.setChanges(new LinkedHashMap<>());
		}

		for (Entry<String, List<org.eclipse.lsp4j.TextEdit>> entry : child.getChanges().entrySet()) {
			root.getChanges().computeIfAbsent(entry.getKey(), (key -> new ArrayList<>()));
			root.getChanges().get(entry.getKey()).addAll(entry.getValue());
		}
	}

	if (child.getDocumentChanges() != null && !child.getDocumentChanges().isEmpty()) {
		if (root.getDocumentChanges() == null) {
			root.setDocumentChanges(new ArrayList<>());
		}

		if (ignoreResourceChange) {
			root.getDocumentChanges().addAll(
				child.getDocumentChanges().stream().filter((change) -> change.isLeft()).collect(Collectors.toList())
			);
		} else {
			root.getDocumentChanges().addAll(child.getDocumentChanges());
		}
	}
}
 
源代码14 项目: vscode-as3mxml   文件: CodeActionsUtils.java
public static WorkspaceEdit createWorkspaceEditForImplementInterface(
    IClassNode classNode, IInterfaceDefinition interfaceDefinition, String uri, String text, ICompilerProject project)
{
    List<TextEdit> textEdits = createTextEditsForImplementInterface(classNode, interfaceDefinition, text, project);
    if (textEdits == null || textEdits.size() == 0)
    {
        return null;
    }

    WorkspaceEdit workspaceEdit = new WorkspaceEdit();
    HashMap<String,List<TextEdit>> changes = new HashMap<>();
    changes.put(uri, textEdits);
    workspaceEdit.setChanges(changes);
    return workspaceEdit;
}
 
源代码15 项目: vscode-as3mxml   文件: CodeActionsUtils.java
public static WorkspaceEdit createWorkspaceEditForGenerateMethod(
    IFunctionCallNode functionCallNode, String uri, String text, ICompilerProject project)
{
    List<TextEdit> textEdits = createTextEditsForGenerateMethod(functionCallNode, text, project);
    if (textEdits == null || textEdits.size() == 0)
    {
        return null;
    }

    WorkspaceEdit workspaceEdit = new WorkspaceEdit();
    HashMap<String,List<TextEdit>> changes = new HashMap<>();
    changes.put(uri, textEdits);
    workspaceEdit.setChanges(changes);
    return workspaceEdit;
}