Skip to content

Peek reference and preview definition don't work across models #935

@masad-frost

Description

@masad-frost

Reproduction steps:

  • Go to playground
  • Paste code below
  • Run
  • Right click on created editor
  • Peek reference
  • Works fine for same model
  • Throws an error if you try to look at reference in another model

Same thing happens with peek definition with a different error.

Seems like the model resolution is failing.

Example simple code:

const editor = monaco.editor.create(document.getElementById("container"), {});

const model = monaco.editor.createModel("a", null, monaco.Uri.from({
    scheme: "inmemory",
    path: "file1.py",
}))

const model2 = monaco.editor.createModel("b", null, monaco.Uri.from({
    scheme: "inmemory",
    path: "file2.py",
}))

editor.setModel(model)

monaco.languages.registerReferenceProvider("python", {
    provideReferences: (model, position, context, token) => {
        return [
            {
                uri: model.uri,
                range: {
                    startLineNumber: 1,
                    startColumn: 1,
                    endLineNumber: 1,
                    endColumn: 2
                }
            },
            {
                uri: model2.uri,
                range: {
                    startLineNumber: 1,
                    startColumn: 1,
                    endLineNumber: 1,
                    endColumn: 2
                }
            }]
    }
})

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature-requestRequest for new features or functionality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions