Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable 'Move...' in Refactor menu #979

Merged
merged 11 commits into from
Aug 2, 2019

Conversation

testforstephen
Copy link
Collaborator

@testforstephen testforstephen commented Jul 12, 2019

Signed-off-by: Jinbo Wang [email protected]

moveFileRefactor

@fbricon
Copy link
Collaborator

fbricon commented Jul 12, 2019

Why do we need a specific command? It should be available as a refactoring code action

@fbricon
Copy link
Collaborator

fbricon commented Jul 12, 2019

In case of multimodule projects, does it support moving to a different project?

@testforstephen
Copy link
Collaborator Author

testforstephen commented Jul 12, 2019

Why do we need a specific command? It should be available as a refactoring code action.

file explorer menu is one of ui entries, it supports selecting multiple java files and then moving to other package.

yes, we need expose it in refactoring code action, too. when the cursor in different place, the move operation provide different meaning. for example:

  • in the outer primary type, move the whole compilation unit to other package.
  • in the function, move it to other class.
  • in the inner type, move it to other class or a new java file.

In case of multimodule projects, does it support moving to a different project?

yes. actually you can move it to any project in the same workspace. but quick pick widget will put the packages of the belonged project in the top.

@testforstephen
Copy link
Collaborator Author

Updated. In this PR, i prefer to keep only supporting moving file between packages. Will use new PR to track the effort to move members/inner types.

Exposed the Move... action in the editor Refactor... menu.
image

@snjeza snjeza self-requested a review July 16, 2019 19:55
@fbricon
Copy link
Collaborator

fbricon commented Jul 16, 2019

Something's not right. I seem to have lost other code actions in the process. Stay tuned for more info.

@fbricon
Copy link
Collaborator

fbricon commented Jul 16, 2019

So no source actions are available anymore, that's a significant regression. I don't even see the Move... action in the Refactoring menu, only when clicking on the light bulb.

@snjeza
Copy link
Contributor

snjeza commented Jul 16, 2019

So no source actions are available anymore, that's a significant regression. I don't even see the Move... action in the Refactoring menu, only when clicking on the light bulb.

It works for me. You should eclipse-jdtls/eclipse.jdt.ls#1105 and #979

@fbricon
Copy link
Collaborator

fbricon commented Jul 16, 2019

I still have no source actions even after going back to master, then checking out older commits.

@snjeza
Copy link
Contributor

snjeza commented Jul 16, 2019

I still have no source actions even after going back to master, then checking out older commits.

I have tested in the following way:

cd eclipse.jdt.ls
git fetch origin pull/1105/head:issue-1105
git checkout issue-1105
cd ../vscode-java
git fetch origin pull/979/head:issue-979
git checkout issue-979
rm -rf server
npm run build-server
code .
# Debug > Launch Extension

I have tested JDK 8, 11 and 12.

@fbricon
Copy link
Collaborator

fbricon commented Jul 17, 2019

@snjeza please nuke your node_modules/ folder, then npm install

@fbricon
Copy link
Collaborator

fbricon commented Jul 17, 2019

@snjeza I found the problem: #986

@testforstephen
Copy link
Collaborator Author

update to latest insider, it's reproduced.

@fbricon
Copy link
Collaborator

fbricon commented Jul 17, 2019

While promising, I think this feature is not yet mature enough to be released, see eclipse-jdtls/eclipse.jdt.ls#1105 (review)

@testforstephen
Copy link
Collaborator Author

In the latest update,

@testforstephen testforstephen changed the title Enable 'Refactor: Move...' context menu in file explorer Enable 'Move...' in Refactor menu Jul 23, 2019
@fbricon
Copy link
Collaborator

fbricon commented Jul 30, 2019

Here's the error:

"[Trace - 6:16:17 PM] Sending request 'java/moveFile - (8)'.
Params: {
    "documentUris": [
        "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/XMLLanguageServer.java"
    ],
    "targetUri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/commons",
    "updateReferences": true
}


[Trace - 6:16:17 PM] Received notification 'window/logMessage'.
Params: {
    "type": 3,
    "message": "Jul. 30, 2019, 6:16:17 p.m. >> java/moveFile"
}


[Info  - 6:16:17 PM] Jul. 30, 2019, 6:16:17 p.m. >> java/moveFile
[Trace - 6:16:17 PM] Received notification 'language/progressReport'.
Params: {
    "task": "Moving File...",
    "status": "Moving File... - 0%",
    "totalWork": 1000,
    "workDone": 0,
    "complete": false
}


[Trace - 6:16:17 PM] Received notification 'window/logMessage'.
Params: {
    "type": 1,
    "message": "Jul. 30, 2019, 6:16:17 p.m. Failed to move the files because cannot find the corresponding package associated with the path 'file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/commons'."
}"

Full log

[Info  - 6:16:08 PM] Jul. 30, 2019, 6:16:08 p.m. >> document/codeAction
[Trace - 6:16:08 PM] Received response 'textDocument/codeAction - (6)' in 84ms.
Result: [
    {
        "title": "Move...",
        "kind": "refactor.move",
        "diagnostics": [],
        "command": {
            "title": "Move...",
            "command": "java.action.applyRefactoringCommand",
            "arguments": [
                "moveFile",
                {
                    "textDocument": {
                        "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/XMLLanguageServer.java"
                    },
                    "range": {
                        "start": {
                            "line": 180,
                            "character": 10
                        },
                        "end": {
                            "line": 180,
                            "character": 10
                        }
                    },
                    "context": {
                        "diagnostics": [],
                        "only": [
                            "refactor"
                        ]
                    }
                },
                {
                    "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/XMLLanguageServer.java"
                }
            ]
        }
    }
]


[Trace - 6:16:10 PM] Sending request 'java/getPackageDestinations - (7)'.
Params: [
    "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/XMLLanguageServer.java"
]


[Trace - 6:16:10 PM] Received notification 'window/logMessage'.
Params: {
    "type": 3,
    "message": "Jul. 30, 2019, 6:16:10 p.m. >> java/getPackageDestinations"
}


[Info  - 6:16:10 PM] Jul. 30, 2019, 6:16:10 p.m. >> java/getPackageDestinations
[Trace - 6:16:10 PM] Received response 'java/getPackageDestinations - (7)' in 20ms.
Result: {
    "packageNodes": [
        {
            "displayName": "(default package)",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java",
            "path": "/org.eclipse.lsp4xml/src/main/java",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": true,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org",
            "path": "/org.eclipse.lsp4xml/src/main/java/org",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": true
        },
        {
            "displayName": "org.eclipse.lsp4xml.client",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/client",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/client",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.commons",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/commons",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/commons",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.customservice",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/customservice",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/customservice",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.dom",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/dom",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/dom",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.dom.parser",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/dom/parser",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/dom/parser",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.catalog",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/catalog",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/catalog",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.contentmodel",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.contentmodel.model",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel/model",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel/model",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.contentmodel.participants",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel/participants",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel/participants",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.contentmodel.participants.codeactions",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel/participants/codeactions",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel/participants/codeactions",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.contentmodel.participants.diagnostics",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel/participants/diagnostics",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel/participants/diagnostics",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.contentmodel.settings",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel/settings",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel/settings",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.contentmodel.uriresolver",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel/uriresolver",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel/uriresolver",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.contentmodel.utils",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel/utils",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/contentmodel/utils",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.dtd",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/dtd",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/dtd",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.dtd.contentmodel",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/dtd/contentmodel",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/dtd/contentmodel",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.dtd.diagnostics",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/dtd/diagnostics",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/dtd/diagnostics",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.general",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/general",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/general",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.general.completion",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/general/completion",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/general/completion",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.prolog",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/prolog",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/prolog",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.references",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/references",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/references",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.references.participants",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/references/participants",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/references/participants",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.xsd",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/xsd",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/xsd",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.xsd.contentmodel",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/xsd/contentmodel",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/xsd/contentmodel",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.xsd.participants",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/xsd/participants",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/xsd/participants",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.xsd.participants.diagnostics",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/xsd/participants/diagnostics",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/xsd/participants/diagnostics",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.xsd.utils",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/xsd/utils",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/xsd/utils",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.xsi",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/xsi",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/xsi",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.xsl",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/xsl",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/extensions/xsl",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.logs",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/logs",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/logs",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.services",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.services.extensions",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/extensions",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/extensions",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.services.extensions.diagnostics",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/extensions/diagnostics",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/extensions/diagnostics",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.services.extensions.save",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/extensions/save",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/extensions/save",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.settings",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/settings",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/settings",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.settings.capabilities",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/settings/capabilities",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/settings/capabilities",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.uriresolver",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/uriresolver",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/uriresolver",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.utils",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/utils",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/utils",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.xpath",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/xpath",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/xpath",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.xpath.matcher",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/xpath/matcher",
            "path": "/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/xpath/matcher",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "(default package)",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java",
            "path": "/org.eclipse.lsp4xml/src/test/java",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": true,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org",
            "path": "/org.eclipse.lsp4xml/src/test/java/org",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.commons",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/commons",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/commons",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.dom",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/dom",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/dom",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.dom.parser",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/dom/parser",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/dom/parser",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.catalog",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions/catalog",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions/catalog",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.contentmodel",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions/contentmodel",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions/contentmodel",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.general",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions/general",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions/general",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.prolog",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions/prolog",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions/prolog",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.xsd",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions/xsd",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions/xsd",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.xsi",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions/xsi",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions/xsi",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.xsl",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions/xsl",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/extensions/xsl",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.performance",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/performance",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/performance",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.services",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/services",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/services",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.services.extensions",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/services/extensions",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/services/extensions",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.settings",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/settings",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/settings",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.settings.capabilities",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/settings/capabilities",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/settings/capabilities",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.uriresolver",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/uriresolver",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/uriresolver",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.utils",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/utils",
            "path": "/org.eclipse.lsp4xml/src/test/java/org/eclipse/lsp4xml/utils",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "(default package)",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/target/generated-sources/annotations",
            "path": "/org.eclipse.lsp4xml/target/generated-sources/annotations",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": true,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "(default package)",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/target/generated-test-sources/test-annotations",
            "path": "/org.eclipse.lsp4xml/target/generated-test-sources/test-annotations",
            "project": "org.eclipse.lsp4xml",
            "isDefaultPackage": true,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "(default package)",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/main/java",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/main/java",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": true,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml/extensions",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml/extensions",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.emmet",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml/extensions/emmet",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml/extensions/emmet",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.emmet.emmetio",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml/extensions/emmet/emmetio",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml/extensions/emmet/emmetio",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.emmet.emmetio.expand",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml/extensions/emmet/emmetio/expand",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml/extensions/emmet/emmetio/expand",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.emmet.emmetio.extract",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml/extensions/emmet/emmetio/extract",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml/extensions/emmet/emmetio/extract",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.emmet.participants",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml/extensions/emmet/participants",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml/extensions/emmet/participants",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.emmet.utils",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml/extensions/emmet/utils",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/main/java/org/eclipse/lsp4xml/extensions/emmet/utils",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "(default package)",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/test/java",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/test/java",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": true,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse/lsp4xml",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse/lsp4xml",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse/lsp4xml/extensions",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse/lsp4xml/extensions",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.emmet",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse/lsp4xml/extensions/emmet",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse/lsp4xml/extensions/emmet",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.emmet.emmetio",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse/lsp4xml/extensions/emmet/emmetio",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse/lsp4xml/extensions/emmet/emmetio",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.emmet.emmetio.expand",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse/lsp4xml/extensions/emmet/emmetio/expand",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse/lsp4xml/extensions/emmet/emmetio/expand",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.emmet.emmetio.extract",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse/lsp4xml/extensions/emmet/emmetio/extract",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse/lsp4xml/extensions/emmet/emmetio/extract",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.emmet.participants",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse/lsp4xml/extensions/emmet/participants",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/src/test/java/org/eclipse/lsp4xml/extensions/emmet/participants",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "(default package)",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/target/generated-sources/annotations",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/target/generated-sources/annotations",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": true,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "(default package)",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.emmet/target/generated-test-sources/test-annotations",
            "path": "/org.eclipse.lsp4xml.extensions.emmet/target/generated-test-sources/test-annotations",
            "project": "org.eclipse.lsp4xml.extensions.emmet",
            "isDefaultPackage": true,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "(default package)",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.web/src/main/java",
            "path": "/org.eclipse.lsp4xml.extensions.web/src/main/java",
            "project": "org.eclipse.lsp4xml.extensions.web",
            "isDefaultPackage": true,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.web/src/main/java/org",
            "path": "/org.eclipse.lsp4xml.extensions.web/src/main/java/org",
            "project": "org.eclipse.lsp4xml.extensions.web",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.web/src/main/java/org/eclipse",
            "path": "/org.eclipse.lsp4xml.extensions.web/src/main/java/org/eclipse",
            "project": "org.eclipse.lsp4xml.extensions.web",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.web/src/main/java/org/eclipse/lsp4xml",
            "path": "/org.eclipse.lsp4xml.extensions.web/src/main/java/org/eclipse/lsp4xml",
            "project": "org.eclipse.lsp4xml.extensions.web",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.web/src/main/java/org/eclipse/lsp4xml/extensions",
            "path": "/org.eclipse.lsp4xml.extensions.web/src/main/java/org/eclipse/lsp4xml/extensions",
            "project": "org.eclipse.lsp4xml.extensions.web",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "org.eclipse.lsp4xml.extensions.web",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.web/src/main/java/org/eclipse/lsp4xml/extensions/web",
            "path": "/org.eclipse.lsp4xml.extensions.web/src/main/java/org/eclipse/lsp4xml/extensions/web",
            "project": "org.eclipse.lsp4xml.extensions.web",
            "isDefaultPackage": false,
            "isParentOfSelectedFile": false
        },
        {
            "displayName": "(default package)",
            "uri": "file:///Users/fbricon/Dev/projects/lsp4xml/extensions/org.eclipse.lsp4xml.extensions.web/target/generated-sources/annotations",
            "path": "/org.eclipse.lsp4xml.extensions.web/target/generated-sources/annotations",
            "project": "org.eclipse.lsp4xml.extensions.web",
            "isDefaultPackage": true,
            "isParentOfSelectedFile": false
        }
    ]
}


[Trace - 6:16:17 PM] Sending request 'java/moveFile - (8)'.
Params: {
    "documentUris": [
        "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/XMLLanguageServer.java"
    ],
    "targetUri": "file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/commons",
    "updateReferences": true
}


[Trace - 6:16:17 PM] Received notification 'window/logMessage'.
Params: {
    "type": 3,
    "message": "Jul. 30, 2019, 6:16:17 p.m. >> java/moveFile"
}


[Info  - 6:16:17 PM] Jul. 30, 2019, 6:16:17 p.m. >> java/moveFile
[Trace - 6:16:17 PM] Received notification 'language/progressReport'.
Params: {
    "task": "Moving File...",
    "status": "Moving File... - 0%",
    "totalWork": 1000,
    "workDone": 0,
    "complete": false
}


[Trace - 6:16:17 PM] Received notification 'window/logMessage'.
Params: {
    "type": 1,
    "message": "Jul. 30, 2019, 6:16:17 p.m. Failed to move the files because cannot find the corresponding package associated with the path 'file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/commons'."
}


[Error - 6:16:17 PM] Jul. 30, 2019, 6:16:17 p.m. Failed to move the files because cannot find the corresponding package associated with the path 'file:///Users/fbricon/Dev/projects/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/commons'.
[Trace - 6:16:17 PM] Received notification 'language/progressReport'.
Params: {
    "task": "Moving File...",
    "status": "Moving File... - 100%",
    "totalWork": 1000,
    "workDone": 1000,
    "complete": true
}


[Trace - 6:16:17 PM] Received response 'java/moveFile - (8)' in 11ms.
No result returned.

Signed-off-by: Jinbo Wang <[email protected]>
@testforstephen
Copy link
Collaborator Author

@fbricon thanks, i reproduced the issue. In multi-module case, the target folder may be contained by multiple project, so need use the nearest project to the resolve the associated package. The fix is updated.

@testforstephen
Copy link
Collaborator Author

Also find a corner case bug in the upstream, the move file operation will remove the import for the inner class mistakenly. Current workaround is to manually invoke "organize import" to correct import list. See the original jdt bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=549674

If the bug is fixed in the upstream, I prefer to use a new PR to track the effort in jdt.ls side.

@testforstephen
Copy link
Collaborator Author

The upstream jdt bug is fixed. And already synced back to eclipse.jdt.ls.

@fbricon fbricon merged commit 0783074 into redhat-developer:master Aug 2, 2019
@fbricon
Copy link
Collaborator

fbricon commented Aug 2, 2019

Thanks @testforstephen!

@testforstephen testforstephen deleted the jinbo_move branch August 2, 2019 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants