zed icon indicating copy to clipboard operation
zed copied to clipboard

rust Cargo.toml completion support

Open kzhui125 opened this issue 1 year ago • 7 comments

Check for existing issues

  • [X] Completed

Describe the feature

image

If applicable, add mockups / screenshots to help present your vision of the feature

No response

kzhui125 avatar Jan 30 '24 14:01 kzhui125

I remember a previous version of Zed already support Cargo.toml auto completion, but a later upgrade remove this feature.

Is there a setting for rust analyzer already support Cargo.toml auto completion?

I am curious that how does VSCode rust analyzer extension support Cargo.toml auto completion

kzhui125 avatar Apr 18 '24 02:04 kzhui125

the . separator is bugged, but its working in zed

Screenshot 2024-04-19 at 15 24 39

JustFrederik avatar Apr 19 '24 13:04 JustFrederik

@kzhui125 isn't that exactly what you asked for?

JustFrederik avatar Apr 28 '24 21:04 JustFrederik

1

@JustFrederik do I need some extensions?

kzhui125 avatar Apr 29 '24 02:04 kzhui125

Only rust_analyzer & taplo

JustFrederik avatar Apr 29 '24 08:04 JustFrederik

image

@JustFrederik installed but don't have completion.

kzhui125 avatar Apr 29 '24 08:04 kzhui125

what does the log say? Are both language servers running? I think rust_analyzer isn't running. Every time I change something in the Cargo.toml I get one of these: Screenshot 2024-04-29 at 10 45 31

rust_analyzer log

stderr: 2024-04-29T08:37:44.388348Z ERROR flycheck: Flycheck failed to run the following command: CommandHandle { program: "/Users/frederik/.cargo/bin/cargo", arguments: ["check", "--workspace", "--message-format=json", "--manifest-path", "/Users/frederik/test-crate/Cargo.toml", "--all-targets"], current_dir: Some("/Users/frederik/test-crate") }, error=Cargo watcher failed, the command produced no valid metadata (exit code: ExitStatus(unix_wait_status(25856))):
stderr: error: failed to parse manifest at `/Users/frederik/test-crate/Cargo.toml`
stderr:
stderr: Caused by:
stderr: failed to parse the `edition` key
stderr:
stderr: Caused by:
stderr: supported edition values are `2015`, `2018`, `2021`, or `2024`, but `20` is unknown
stderr:
stderr: 2024-04-29T08:37:44.461587Z ERROR rust_analyzer::main_loop: FetchWorkspaceError:
stderr: rust-analyzer failed to load workspace: Failed to load the project at /Users/frederik/test-crate/Cargo.toml: Failed to read Cargo metadata from Cargo.toml file /Users/frederik/test-crate/Cargo.toml, Some(Version { major: 1, minor: 77, patch: 2 }): Failed to run `cd "/Users/frederik/test-crate" && RUSTUP_TOOLCHAIN="/Users/frederik/.rustup/toolchains/stable-aarch64-apple-darwin" "/Users/frederik/.cargo/bin/cargo" "metadata" "--format-version" "1" "--manifest-path" "/Users/frederik/test-crate/Cargo.toml" "--filter-platform" "aarch64-apple-darwin"`: `cargo metadata` exited with an error: error: failed to parse manifest at `/Users/frederik/test-crate/Cargo.toml`
stderr:
stderr: Caused by:
stderr: failed to parse the `edition` key
stderr:
stderr: Caused by:
stderr: supported edition values are `2015`, `2018`, `2021`, or `2024`, but `20` is unknown
stderr:
stderr:
stderr: 2024-04-29T08:37:44.543332Z ERROR flycheck: Flycheck failed to run the following command: CommandHandle { program: "/Users/frederik/.cargo/bin/cargo", arguments: ["check", "--workspace", "--message-format=json", "--manifest-path", "/Users/frederik/test-crate/Cargo.toml", "--all-targets"], current_dir: Some("/Users/frederik/test-crate") }, error=Cargo watcher failed, the command produced no valid metadata (exit code: ExitStatus(unix_wait_status(25856))):
stderr: error: failed to parse manifest at `/Users/frederik/test-crate/Cargo.toml`
stderr:
stderr: Caused by:
stderr: failed to parse the `edition` key
stderr:
stderr: Caused by:
stderr: supported edition values are `2015`, `2018`, `2021`, or `2024`, but `20` is unknown
stderr:
stderr: 2024-04-29T08:37:44.568059Z ERROR rust_analyzer::main_loop: FetchWorkspaceError:
stderr: rust-analyzer failed to load workspace: Failed to load the project at /Users/frederik/test-crate/Cargo.toml: Failed to read Cargo metadata from Cargo.toml file /Users/frederik/test-crate/Cargo.toml, Some(Version { major: 1, minor: 77, patch: 2 }): Failed to run `cd "/Users/frederik/test-crate" && RUSTUP_TOOLCHAIN="/Users/frederik/.rustup/toolchains/stable-aarch64-apple-darwin" "/Users/frederik/.cargo/bin/cargo" "metadata" "--format-version" "1" "--manifest-path" "/Users/frederik/test-crate/Cargo.toml" "--filter-platform" "aarch64-apple-darwin"`: `cargo metadata` exited with an error: error: failed to parse manifest at `/Users/frederik/test-crate/Cargo.toml`
stderr:
stderr: Caused by:
stderr: failed to parse the `edition` key
stderr:
stderr: Caused by:
stderr: supported edition values are `2015`, `2018`, `2021`, or `2024`, but `20` is unknown
stderr:
stderr:
stderr: 2024-04-29T08:37:44.716943Z ERROR flycheck: Flycheck failed to run the following command: CommandHandle { program: "/Users/frederik/.cargo/bin/cargo", arguments: ["check", "--workspace", "--message-format=json", "--manifest-path", "/Users/frederik/test-crate/Cargo.toml", "--all-targets"], current_dir: Some("/Users/frederik/test-crate") }, error=Cargo watcher failed, the command produced no valid metadata (exit code: ExitStatus(unix_wait_status(25856))):
stderr: error: failed to parse manifest at `/Users/frederik/test-crate/Cargo.toml`
stderr:
stderr: Caused by:
stderr: failed to parse the `edition` key
stderr:
stderr: Caused by:
stderr: supported edition values are `2015`, `2018`, `2021`, or `2024`, but `20` is unknown
stderr:

Taplo rpc

// Send:
{"jsonrpc":"2.0","method":"textDocument/didClose","params":{"textDocument":{"uri":"file:///Users/frederik/test-crate/Cargo.toml"}}}
// Receive:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","diagnostics":[]}}
// Send:
{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","languageId":"","version":0,"text":"[package]\nname = \"test-crate\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html\n\n[dependencies]\n"}}}
// Receive:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","diagnostics":[]}}
// Receive:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","diagnostics":[]}}
// Receive:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","diagnostics":[]}}
// Send:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","version":1},"contentChanges":[{"text":"[package]\nname = \"test-crate\"\nversion = \"0.1.0\"\nedition = \"2\"\n\n# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html\n\n[dependencies]\n"}]}}
// Receive:
{"jsonrpc":"2.0","method":"taplo/didChangeSchemaAssociation","params":{"documentUri":"file:///Users/frederik/test-crate/Cargo.toml","schemaUri":"https://json.schemastore.org/cargo.json","meta":{"name":"Cargo Manifest","description":"Manifest for Cargo, the Rust package manager and build tool","source":"catalog","catalog_url":"https://www.schemastore.org/api/json/catalog.json"}}}
// Send:
{"jsonrpc":"2.0","id":2,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Users/frederik/test-crate/Cargo.toml"},"position":{"line":3,"character":12}}}
// Receive:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","diagnostics":[]}}
// Receive:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","diagnostics":[]}}
// Receive:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","diagnostics":[{"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":7}},"severity":1,"source":"Even Better TOML","message":"\"2\" is not valid under any of the schemas listed in the 'anyOf' keyword"}]}}
// Receive:
{"jsonrpc":"2.0","id":2,"result":[{"label":"\"2015\"","kind":12,"documentation":{"kind":"markdown","value":"The `edition` key affects which edition your package is compiled with. Cargo\nwill always generate packages via [`cargo new`](https://doc.rust-lang.org/cargo/commands/cargo-new.html) with the `edition` key set to the\nlatest edition. Setting the `edition` key in `[package]` will affect all\ntargets/crates in the package, including test suites, benchmarks, binaries,\nexamples, etc."},"sortText":"0\"2015\"","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":13}},"newText":"\"2015\""}},{"label":"\"2018\"","kind":12,"documentation":{"kind":"markdown","value":"The `edition` key affects which edition your package is compiled with. Cargo\nwill always generate packages via [`cargo new`](https://doc.rust-lang.org/cargo/commands/cargo-new.html) with the `edition` key set to the\nlatest edition. Setting the `edition` key in `[package]` will affect all\ntargets/crates in the package, including test suites, benchmarks, binaries,\nexamples, etc."},"sortText":"1\"2018\"","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":13}},"newText":"\"2018\""}},{"label":"\"2021\"","kind":12,"documentation":{"kind":"markdown","value":"The `edition` key affects which edition your package is compiled with. Cargo\nwill always generate packages via [`cargo new`](https://doc.rust-lang.org/cargo/commands/cargo-new.html) with the `edition` key set to the\nlatest edition. Setting the `edition` key in `[package]` will affect all\ntargets/crates in the package, including test suites, benchmarks, binaries,\nexamples, etc."},"sortText":"2\"2021\"","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":13}},"newText":"\"2021\""}},{"label":"\"2024\"","kind":12,"documentation":{"kind":"markdown","value":"The `edition` key affects which edition your package is compiled with. Cargo\nwill always generate packages via [`cargo new`](https://doc.rust-lang.org/cargo/commands/cargo-new.html) with the `edition` key set to the\nlatest edition. Setting the `edition` key in `[package]` will affect all\ntargets/crates in the package, including test suites, benchmarks, binaries,\nexamples, etc."},"sortText":"3\"2024\"","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":13}},"newText":"\"2024\""}},{"label":"{ }","kind":12,"documentation":{"kind":"markdown","value":"The `workspace` field allow keys to be inherited by defining them in the member package with `{key}.workspace = true`"},"insertTextFormat":2,"textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":13}},"newText":"{ $0 }"}},{"label":"true","kind":12,"sortText":"0true","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":13}},"newText":"true"}}]}
// Send:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","version":2},"contentChanges":[{"text":"[package]\nname = \"test-crate\"\nversion = \"0.1.0\"\nedition = \"20\"\n\n# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html\n\n[dependencies]\n"}]}}
// Send:
{"jsonrpc":"2.0","id":3,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Users/frederik/test-crate/Cargo.toml"},"position":{"line":3,"character":13}}}
// Send:
{"jsonrpc":"2.0","id":4,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Users/frederik/test-crate/Cargo.toml"},"position":{"line":3,"character":13}}}
// Receive:
{"jsonrpc":"2.0","method":"taplo/didChangeSchemaAssociation","params":{"documentUri":"file:///Users/frederik/test-crate/Cargo.toml","schemaUri":"https://json.schemastore.org/cargo.json","meta":{"name":"Cargo Manifest","description":"Manifest for Cargo, the Rust package manager and build tool","source":"catalog","catalog_url":"https://www.schemastore.org/api/json/catalog.json"}}}
// Receive:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","diagnostics":[]}}
// Receive:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","diagnostics":[]}}
// Receive:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","diagnostics":[{"range":{"start":{"line":3,"character":0},"end":{"line":3,"character":7}},"severity":1,"source":"Even Better TOML","message":"\"20\" is not valid under any of the schemas listed in the 'anyOf' keyword"}]}}
// Receive:
{"jsonrpc":"2.0","id":3,"result":[{"label":"\"2015\"","kind":12,"documentation":{"kind":"markdown","value":"The `edition` key affects which edition your package is compiled with. Cargo\nwill always generate packages via [`cargo new`](https://doc.rust-lang.org/cargo/commands/cargo-new.html) with the `edition` key set to the\nlatest edition. Setting the `edition` key in `[package]` will affect all\ntargets/crates in the package, including test suites, benchmarks, binaries,\nexamples, etc."},"sortText":"0\"2015\"","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":14}},"newText":"\"2015\""}},{"label":"\"2018\"","kind":12,"documentation":{"kind":"markdown","value":"The `edition` key affects which edition your package is compiled with. Cargo\nwill always generate packages via [`cargo new`](https://doc.rust-lang.org/cargo/commands/cargo-new.html) with the `edition` key set to the\nlatest edition. Setting the `edition` key in `[package]` will affect all\ntargets/crates in the package, including test suites, benchmarks, binaries,\nexamples, etc."},"sortText":"1\"2018\"","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":14}},"newText":"\"2018\""}},{"label":"\"2021\"","kind":12,"documentation":{"kind":"markdown","value":"The `edition` key affects which edition your package is compiled with. Cargo\nwill always generate packages via [`cargo new`](https://doc.rust-lang.org/cargo/commands/cargo-new.html) with the `edition` key set to the\nlatest edition. Setting the `edition` key in `[package]` will affect all\ntargets/crates in the package, including test suites, benchmarks, binaries,\nexamples, etc."},"sortText":"2\"2021\"","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":14}},"newText":"\"2021\""}},{"label":"\"2024\"","kind":12,"documentation":{"kind":"markdown","value":"The `edition` key affects which edition your package is compiled with. Cargo\nwill always generate packages via [`cargo new`](https://doc.rust-lang.org/cargo/commands/cargo-new.html) with the `edition` key set to the\nlatest edition. Setting the `edition` key in `[package]` will affect all\ntargets/crates in the package, including test suites, benchmarks, binaries,\nexamples, etc."},"sortText":"3\"2024\"","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":14}},"newText":"\"2024\""}},{"label":"{ }","kind":12,"documentation":{"kind":"markdown","value":"The `workspace` field allow keys to be inherited by defining them in the member package with `{key}.workspace = true`"},"insertTextFormat":2,"textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":14}},"newText":"{ $0 }"}},{"label":"true","kind":12,"sortText":"0true","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":14}},"newText":"true"}}]}
// Receive:
{"jsonrpc":"2.0","id":4,"result":[{"label":"\"2015\"","kind":12,"documentation":{"kind":"markdown","value":"The `edition` key affects which edition your package is compiled with. Cargo\nwill always generate packages via [`cargo new`](https://doc.rust-lang.org/cargo/commands/cargo-new.html) with the `edition` key set to the\nlatest edition. Setting the `edition` key in `[package]` will affect all\ntargets/crates in the package, including test suites, benchmarks, binaries,\nexamples, etc."},"sortText":"0\"2015\"","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":14}},"newText":"\"2015\""}},{"label":"\"2018\"","kind":12,"documentation":{"kind":"markdown","value":"The `edition` key affects which edition your package is compiled with. Cargo\nwill always generate packages via [`cargo new`](https://doc.rust-lang.org/cargo/commands/cargo-new.html) with the `edition` key set to the\nlatest edition. Setting the `edition` key in `[package]` will affect all\ntargets/crates in the package, including test suites, benchmarks, binaries,\nexamples, etc."},"sortText":"1\"2018\"","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":14}},"newText":"\"2018\""}},{"label":"\"2021\"","kind":12,"documentation":{"kind":"markdown","value":"The `edition` key affects which edition your package is compiled with. Cargo\nwill always generate packages via [`cargo new`](https://doc.rust-lang.org/cargo/commands/cargo-new.html) with the `edition` key set to the\nlatest edition. Setting the `edition` key in `[package]` will affect all\ntargets/crates in the package, including test suites, benchmarks, binaries,\nexamples, etc."},"sortText":"2\"2021\"","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":14}},"newText":"\"2021\""}},{"label":"\"2024\"","kind":12,"documentation":{"kind":"markdown","value":"The `edition` key affects which edition your package is compiled with. Cargo\nwill always generate packages via [`cargo new`](https://doc.rust-lang.org/cargo/commands/cargo-new.html) with the `edition` key set to the\nlatest edition. Setting the `edition` key in `[package]` will affect all\ntargets/crates in the package, including test suites, benchmarks, binaries,\nexamples, etc."},"sortText":"3\"2024\"","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":14}},"newText":"\"2024\""}},{"label":"{ }","kind":12,"documentation":{"kind":"markdown","value":"The `workspace` field allow keys to be inherited by defining them in the member package with `{key}.workspace = true`"},"insertTextFormat":2,"textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":14}},"newText":"{ $0 }"}},{"label":"true","kind":12,"sortText":"0true","textEdit":{"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":14}},"newText":"true"}}]}
// Send:
{"jsonrpc":"2.0","id":5,"method":"textDocument/formatting","params":{"textDocument":{"uri":"file:///Users/frederik/test-crate/Cargo.toml"},"options":{"tabSize":4,"insertSpaces":true,"insertFinalNewline":true}}}
// Receive:
{"jsonrpc":"2.0","id":5,"result":[{"range":{"start":{"line":0,"character":0},"end":{"line":8,"character":0}},"newText":"[package]\nname = \"test-crate\"\nversion = \"0.1.0\"\nedition = \"20\"\n\n# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html\n\n[dependencies]\n"}]}
// Send:
{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///Users/frederik/test-crate/Cargo.toml"}}}
// Send:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","version":3},"contentChanges":[{"text":"[package]\nname = \"test-crate\"\nversion = \"0.1.0\"\nedition = \"2018\"\n\n# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html\n\n[dependencies]\n"}]}}
// Receive:
{"jsonrpc":"2.0","method":"taplo/didChangeSchemaAssociation","params":{"documentUri":"file:///Users/frederik/test-crate/Cargo.toml","schemaUri":"https://json.schemastore.org/cargo.json","meta":{"name":"Cargo Manifest","description":"Manifest for Cargo, the Rust package manager and build tool","source":"catalog","catalog_url":"https://www.schemastore.org/api/json/catalog.json"}}}
// Receive:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","diagnostics":[]}}
// Receive:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","diagnostics":[]}}
// Receive:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/frederik/test-crate/Cargo.toml","diagnostics":[]}}
// Send:
{"jsonrpc":"2.0","id":6,"method":"textDocument/definition","params":{"textDocument":{"uri":"file:///Users/frederik/test-crate/Cargo.toml"},"position":{"line":3,"character":13}}}
// Receive:
{"jsonrpc":"2.0","id":6,"error":{"code":-32601,"message":"Method not found","data":null}}
// Send:
{"jsonrpc":"2.0","id":7,"method":"textDocument/formatting","params":{"textDocument":{"uri":"file:///Users/frederik/test-crate/Cargo.toml"},"options":{"tabSize":4,"insertSpaces":true,"insertFinalNewline":true}}}
// Receive:
{"jsonrpc":"2.0","id":7,"result":[{"range":{"start":{"line":0,"character":0},"end":{"line":8,"character":0}},"newText":"[package]\nname = \"test-crate\"\nversion = \"0.1.0\"\nedition = \"2018\"\n\n# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html\n\n[dependencies]\n"}]}
// Send:
{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///Users/frederik/test-crate/Cargo.toml"}}}
// Send:
{"jsonrpc":"2.0","id":8,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///Users/frederik/test-crate/Cargo.toml"},"position":{"line":3,"character":13}}}
// Receive:
{"jsonrpc":"2.0","id":8,"result":{"contents":{"kind":"markdown","value":"The `edition` key affects which edition your package is compiled with. Cargo\nwill always generate packages via [`cargo new`](https://doc.rust-lang.org/cargo/commands/cargo-new.html) with the `edition` key set to the\nlatest edition. Setting the `edition` key in `[package]` will affect all\ntargets/crates in the package, including test suites, benchmarks, binaries,\nexamples, etc.\nThe `workspace` field allow keys to be inherited by defining them in the member package with `{key}.workspace = true`\n"},"range":{"start":{"line":3,"character":10},"end":{"line":3,"character":16}}}}

JustFrederik avatar Apr 29 '24 08:04 JustFrederik

rust_analyzer seems running @JustFrederik 1.gif.zip

kzhui125 avatar Apr 29 '24 09:04 kzhui125

image

I don't see Taplo logs, is it in debug: open language server logs?

kzhui125 avatar Apr 29 '24 09:04 kzhui125

yes Screenshot 2024-04-29 at 11 12 12 it seems like taplo isn't running. I guess you could try to reinstall the extension

JustFrederik avatar Apr 29 '24 09:04 JustFrederik

image reinstalled but still don't find the taplo logs

kzhui125 avatar Apr 29 '24 09:04 kzhui125

It doesn't seem to be working at all for you.

Screenshot 2024-04-29 at 15 44 02

Does taplo work in vscode(Even Better TOML)? Is there an error in the zed logs?

JustFrederik avatar Apr 29 '24 13:04 JustFrederik

zed log:

Caused by:
    0: failed to get commit messages
    1: 'git show' failed with error ExitStatus(unix_wait_status(32768))
2024-04-29T22:09:48+08:00 [INFO] reload git repository ".git"
2024-04-29T22:09:48+08:00 [INFO] reload git repository ".git"
2024-04-29T22:09:48+08:00 [ERROR] crates/fs/src/repository.rs:122: Error { code: -9, klass: 4, message: "reference 'refs/heads/master' not found" }
2024-04-29T22:09:48+08:00 [ERROR] crates/fs/src/repository.rs:122: Error { code: -9, klass: 4, message: "reference 'refs/heads/master' not found" }
2024-04-29T22:09:48+08:00 [ERROR] failed to get git blame data: failed to get buffer project path
2024-04-29T22:09:48+08:00 [ERROR] failed to get git blame data: Failed to blame "Test.toml"

Caused by:
    0: failed to get commit messages
    1: 'git show' failed with error ExitStatus(unix_wait_status(32768))

works in vscode:

image

kzhui125 avatar Apr 29 '24 14:04 kzhui125

there should be something like that. 2024-04-29T16:17:25+02:00 [INFO] starting language servers for TOML: taplo 2024-04-29T16:17:25+02:00 [INFO] starting language servers for Rust: rust-analyzer

Does is try to startup the language server? The error above is related to git

JustFrederik avatar Apr 29 '24 14:04 JustFrederik

[ERROR] crates/language/src/language_registry.rs:850: server container removal

[ERROR] failed to start language server "taplo": Malformed Mach-o file (os error 88)

[ERROR] Hit 4 reinstallation attempts for "taplo"

I find that the extension install failed, after manually copy taplo binary to folder /Users/user/Library/Application Support/Zed/extensions/work/toml/taplo-0.8.1

Then is works now.

It seems that if Zed install extension failed(for example download interrupted), there are no error messages, and the extension will be in installed list.

kzhui125 avatar Apr 29 '24 14:04 kzhui125