Skip to content

Completion items change when cycling #12119

@RoloEdits

Description

@RoloEdits

Summary

After building from source to the latest master(cbbeca6), I noticed the completion items change when cycling through them. The names are initially what is expected, but the actual insertion in not. And then when cycling, the name changes to match what gets inserted.

Reproduction Steps

completion-changing

Helix log

Logs are pretty noisy so tried to isolate a part of when the completion items were being cycled.

~/.cache/helix/helix.log
2024-11-23T22:59:04.445 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"textDocument/inlayHint","params":{"range":{"end":{"character":0,"line":76},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///D:/source/helix/helix-core/src/shellwords.rs"}},"id":29}
2024-11-23T22:59:04.446 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":29,"result":[{"position":{"line":4,"character":28},"label":": char","kind":1,"textEdits":[{"range":{"start":{"line":4,"character":28},"end":{"line":4,"character":28}},"newText":": char"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":38},"label":[{"value":"init:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":2575,"character":28},"end":{"line":2575,"character":32}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":7,"character":53},"label":[{"value":"f:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":2575,"character":41},"end":{"line":2575,"character":42}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":7,"character":61},"label":[{"value":": "},{"value":"String","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":361,"character":11},"end":{"line":361,"character":17}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":7,"character":61},"end":{"line":7,"character":61}},"newText":": String"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":64},"label":": char","kind":1,"textEdits":[{"range":{"start":{"line":7,"character":64},"end":{"line":7,"character":64}},"newText":": char"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":9,"character":25},"label":[{"value":"ch:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1354,"character":27},"end":{"line":1354,"character":29}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":11,"character":21},"label":[{"value":"ch:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1354,"character":27},"end":{"line":1354,"character":29}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":168,"character":1},"label":"impl From for Shellwords<'a>","paddingLeft":true,"paddingRight":false},{"position":{"line":167,"character":5},"label":[{"value":"fn from","location":{"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs","range":{"start":{"line":44,"character":7},"end":{"line":44,"character":11}}}}],"paddingLeft":true,"paddingRight":false},{"position":{"line":47,"character":21},"label":[{"value":": "},{"value":"State","location":{"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs","range":{"start":{"line":23,"character":5},"end":{"line":23,"character":10}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":47,"character":21},"end":{"line":47,"character":21}},"newText":": State"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":48,"character":21},"label":[{"value":": "},{"value":"Vec","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs","range":{"start":{"line":396,"character":11},"end":{"line":396,"character":14}}}},{"value":"<"},{"value":"Cow","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/borrow.rs","range":{"start":{"line":178,"character":9},"end":{"line":178,"character":12}}}},{"value":"<'a, str>>"}],"kind":1,"textEdits":[{"range":{"start":{"line":48,"character":21},"end":{"line":48,"character":21}},"newText":": Vec<Cow<'a, str>>"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":49,"character":21},"label":[{"value":": "},{"value":"Vec","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs","range":{"start":{"line":396,"character":11},"end":{"line":396,"character":14}}}},{"value":"<&str>"}],"kind":1,"textEdits":[{"range":{"start":{"line":49,"character":21},"end":{"line":49,"character":21}},"newText":": Vec<&str>"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":50,"character":23},"label":[{"value":": "},{"value":"String","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":361,"character":11},"end":{"line":361,"character":17}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":50,"character":23},"end":{"line":50,"character":23}},"newText":": String"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":52,"character":26},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":52,"character":26},"end":{"line":52,"character":26}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":53,"character":31},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":53,"character":31},"end":{"line":53,"character":31}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":54,"character":19},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":54,"character":19},"end":{"line":54,"character":19}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":14},"label":": usize","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":17},"label":": char","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":69,"character":45},"label":[{"value":"string:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1062,"character":31},"end":{"line":1062,"character":37}}}}],"kind":2,"paddingLeft":false,"paddingRight":true}]}
2024-11-23T22:59:04.447 helix_lsp::transport [INFO] rust-analyzer <- [{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":28,"line":4},"textEdits":[{"newText":": char","range":{"end":{"character":28,"line":4},"start":{"character":28,"line":4}}}]},{"kind":2,"label":[{"location":{"range":{"end":{"character":32,"line":2575},"start":{"character":28,"line":2575}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs"},"value":"init:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":38,"line":7}},{"kind":2,"label":[{"location":{"range":{"end":{"character":42,"line":2575},"start":{"character":41,"line":2575}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs"},"value":"f:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":53,"line":7}},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":17,"line":361},"start":{"character":11,"line":361}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"String"}],"paddingLeft":false,"paddingRight":false,"position":{"character":61,"line":7},"textEdits":[{"newText":": String","range":{"end":{"character":61,"line":7},"start":{"character":61,"line":7}}}]},{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":64,"line":7},"textEdits":[{"newText":": char","range":{"end":{"character":64,"line":7},"start":{"character":64,"line":7}}}]},{"kind":2,"label":[{"location":{"range":{"end":{"character":29,"line":1354},"start":{"character":27,"line":1354}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"ch:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":25,"line":9}},{"kind":2,"label":[{"location":{"range":{"end":{"character":29,"line":1354},"start":{"character":27,"line":1354}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"ch:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":21,"line":11}},{"label":"impl From for Shellwords<'a>","paddingLeft":true,"paddingRight":false,"position":{"character":1,"line":168}},{"label":[{"location":{"range":{"end":{"character":11,"line":44},"start":{"character":7,"line":44}},"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs"},"value":"fn from"}],"paddingLeft":true,"paddingRight":false,"position":{"character":5,"line":167}},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":10,"line":23},"start":{"character":5,"line":23}},"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs"},"value":"State"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":47},"textEdits":[{"newText":": State","range":{"end":{"character":21,"line":47},"start":{"character":21,"line":47}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":14,"line":396},"start":{"character":11,"line":396}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs"},"value":"Vec"},{"value":"<"},{"location":{"range":{"end":{"character":12,"line":178},"start":{"character":9,"line":178}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/borrow.rs"},"value":"Cow"},{"value":"<'a, str>>"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":48},"textEdits":[{"newText":": Vec<Cow<'a, str>>","range":{"end":{"character":21,"line":48},"start":{"character":21,"line":48}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":14,"line":396},"start":{"character":11,"line":396}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs"},"value":"Vec"},{"value":"<&str>"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":49},"textEdits":[{"newText":": Vec<&str>","range":{"end":{"character":21,"line":49},"start":{"character":21,"line":49}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":17,"line":361},"start":{"character":11,"line":361}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"String"}],"paddingLeft":false,"paddingRight":false,"position":{"character":23,"line":50},"textEdits":[{"newText":": String","range":{"end":{"character":23,"line":50},"start":{"character":23,"line":50}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":26,"line":52},"textEdits":[{"newText":": usize","range":{"end":{"character":26,"line":52},"start":{"character":26,"line":52}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":31,"line":53},"textEdits":[{"newText":": usize","range":{"end":{"character":31,"line":53},"start":{"character":31,"line":53}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":19,"line":54},"textEdits":[{"newText":": usize","range":{"end":{"character":19,"line":54},"start":{"character":19,"line":54}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":14,"line":56}},{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":17,"line":56}},{"kind":2,"label":[{"location":{"range":{"end":{"character":37,"line":1062},"start":{"character":31,"line":1062}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"string:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":45,"line":69}}]
2024-11-23T22:59:04.450 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:04.459 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:04.809 helix_vcs::diff::worker [INFO] Diff computation timed out, update of diffs might appear delayed
2024-11-23T22:59:04.814 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:04.825 helix_term::application [DEBUG] received editor event: IdleTimer
2024-11-23T22:59:04.825 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"textDocument/inlayHint","params":{"range":{"end":{"character":0,"line":76},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///D:/source/helix/helix-core/src/shellwords.rs"}},"id":30}
2024-11-23T22:59:04.826 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":30,"result":[{"position":{"line":4,"character":28},"label":": char","kind":1,"textEdits":[{"range":{"start":{"line":4,"character":28},"end":{"line":4,"character":28}},"newText":": char"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":38},"label":[{"value":"init:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":2575,"character":28},"end":{"line":2575,"character":32}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":7,"character":53},"label":[{"value":"f:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":2575,"character":41},"end":{"line":2575,"character":42}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":7,"character":61},"label":[{"value":": "},{"value":"String","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":361,"character":11},"end":{"line":361,"character":17}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":7,"character":61},"end":{"line":7,"character":61}},"newText":": String"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":64},"label":": char","kind":1,"textEdits":[{"range":{"start":{"line":7,"character":64},"end":{"line":7,"character":64}},"newText":": char"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":9,"character":25},"label":[{"value":"ch:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1354,"character":27},"end":{"line":1354,"character":29}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":11,"character":21},"label":[{"value":"ch:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1354,"character":27},"end":{"line":1354,"character":29}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":168,"character":1},"label":"impl From for Shellwords<'a>","paddingLeft":true,"paddingRight":false},{"position":{"line":167,"character":5},"label":[{"value":"fn from","location":{"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs","range":{"start":{"line":44,"character":7},"end":{"line":44,"character":11}}}}],"paddingLeft":true,"paddingRight":false},{"position":{"line":47,"character":21},"label":[{"value":": "},{"value":"State","location":{"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs","range":{"start":{"line":23,"character":5},"end":{"line":23,"character":10}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":47,"character":21},"end":{"line":47,"character":21}},"newText":": State"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":48,"character":21},"label":[{"value":": "},{"value":"Vec","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs","range":{"start":{"line":396,"character":11},"end":{"line":396,"character":14}}}},{"value":"<"},{"value":"Cow","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/borrow.rs","range":{"start":{"line":178,"character":9},"end":{"line":178,"character":12}}}},{"value":"<'a, str>>"}],"kind":1,"textEdits":[{"range":{"start":{"line":48,"character":21},"end":{"line":48,"character":21}},"newText":": Vec<Cow<'a, str>>"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":49,"character":21},"label":[{"value":": "},{"value":"Vec","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs","range":{"start":{"line":396,"character":11},"end":{"line":396,"character":14}}}},{"value":"<&str>"}],"kind":1,"textEdits":[{"range":{"start":{"line":49,"character":21},"end":{"line":49,"character":21}},"newText":": Vec<&str>"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":50,"character":23},"label":[{"value":": "},{"value":"String","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":361,"character":11},"end":{"line":361,"character":17}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":50,"character":23},"end":{"line":50,"character":23}},"newText":": String"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":52,"character":26},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":52,"character":26},"end":{"line":52,"character":26}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":53,"character":31},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":53,"character":31},"end":{"line":53,"character":31}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":54,"character":19},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":54,"character":19},"end":{"line":54,"character":19}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":14},"label":": usize","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":17},"label":": char","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":69,"character":45},"label":[{"value":"string:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1062,"character":31},"end":{"line":1062,"character":37}}}}],"kind":2,"paddingLeft":false,"paddingRight":true}]}
2024-11-23T22:59:04.827 helix_lsp::transport [INFO] rust-analyzer <- [{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":28,"line":4},"textEdits":[{"newText":": char","range":{"end":{"character":28,"line":4},"start":{"character":28,"line":4}}}]},{"kind":2,"label":[{"location":{"range":{"end":{"character":32,"line":2575},"start":{"character":28,"line":2575}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs"},"value":"init:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":38,"line":7}},{"kind":2,"label":[{"location":{"range":{"end":{"character":42,"line":2575},"start":{"character":41,"line":2575}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs"},"value":"f:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":53,"line":7}},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":17,"line":361},"start":{"character":11,"line":361}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"String"}],"paddingLeft":false,"paddingRight":false,"position":{"character":61,"line":7},"textEdits":[{"newText":": String","range":{"end":{"character":61,"line":7},"start":{"character":61,"line":7}}}]},{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":64,"line":7},"textEdits":[{"newText":": char","range":{"end":{"character":64,"line":7},"start":{"character":64,"line":7}}}]},{"kind":2,"label":[{"location":{"range":{"end":{"character":29,"line":1354},"start":{"character":27,"line":1354}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"ch:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":25,"line":9}},{"kind":2,"label":[{"location":{"range":{"end":{"character":29,"line":1354},"start":{"character":27,"line":1354}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"ch:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":21,"line":11}},{"label":"impl From for Shellwords<'a>","paddingLeft":true,"paddingRight":false,"position":{"character":1,"line":168}},{"label":[{"location":{"range":{"end":{"character":11,"line":44},"start":{"character":7,"line":44}},"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs"},"value":"fn from"}],"paddingLeft":true,"paddingRight":false,"position":{"character":5,"line":167}},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":10,"line":23},"start":{"character":5,"line":23}},"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs"},"value":"State"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":47},"textEdits":[{"newText":": State","range":{"end":{"character":21,"line":47},"start":{"character":21,"line":47}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":14,"line":396},"start":{"character":11,"line":396}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs"},"value":"Vec"},{"value":"<"},{"location":{"range":{"end":{"character":12,"line":178},"start":{"character":9,"line":178}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/borrow.rs"},"value":"Cow"},{"value":"<'a, str>>"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":48},"textEdits":[{"newText":": Vec<Cow<'a, str>>","range":{"end":{"character":21,"line":48},"start":{"character":21,"line":48}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":14,"line":396},"start":{"character":11,"line":396}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs"},"value":"Vec"},{"value":"<&str>"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":49},"textEdits":[{"newText":": Vec<&str>","range":{"end":{"character":21,"line":49},"start":{"character":21,"line":49}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":17,"line":361},"start":{"character":11,"line":361}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"String"}],"paddingLeft":false,"paddingRight":false,"position":{"character":23,"line":50},"textEdits":[{"newText":": String","range":{"end":{"character":23,"line":50},"start":{"character":23,"line":50}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":26,"line":52},"textEdits":[{"newText":": usize","range":{"end":{"character":26,"line":52},"start":{"character":26,"line":52}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":31,"line":53},"textEdits":[{"newText":": usize","range":{"end":{"character":31,"line":53},"start":{"character":31,"line":53}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":19,"line":54},"textEdits":[{"newText":": usize","range":{"end":{"character":19,"line":54},"start":{"character":19,"line":54}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":14,"line":56}},{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":17,"line":56}},{"kind":2,"label":[{"location":{"range":{"end":{"character":37,"line":1062},"start":{"character":31,"line":1062}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"string:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":45,"line":69}}]
2024-11-23T22:59:04.830 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:04.839 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:04.982 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"completionItem/resolve","params":{"additionalTextEdits":[],"data":{"completion_item_index":130,"imports":[],"position":{"position":{"character":5,"line":20},"textDocument":{"uri":"file:///D:/source/helix/helix-core/src/shellwords.rs"}},"trigger_character":null,"version":11},"deprecated":false,"filterText":"todo!","insertTextFormat":2,"kind":3,"label":"todo!(…)","preselect":true,"sortText":"7fffffff","textEdit":{"insert":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}},"newText":"todo!($0)","replace":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}}}},"id":31}
2024-11-23T22:59:04.999 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":31,"result":{"label":"DoubleEndedIterator","kind":8,"documentation":{"kind":"markdown","value":"An iterator able to yield elements from both ends.\n\nSomething that implements `DoubleEndedIterator` has one extra capability\nover something that implements [`Iterator`]: the ability to also take\n`Item`s from the back, as well as the front.\n\nIt is important to note that both back and forth work on the same range,\nand do not cross: iteration is over when they meet in the middle.\n\nIn a similar fashion to the [`Iterator`] protocol, once a\n`DoubleEndedIterator` returns [`None`] from a [`next_back()`], calling it\nagain may or may not ever return [`Some`] again. [`next()`] and\n[`next_back()`] are interchangeable for this purpose.\n\n[`next_back()`]: DoubleEndedIterator::next_back\n[`next()`]: Iterator::next\n\n# Examples\n\nBasic usage:\n\n```rust\nlet numbers = vec![1, 2, 3, 4, 5, 6];\n\nlet mut iter = numbers.iter();\n\nassert_eq!(Some(&1), iter.next());\nassert_eq!(Some(&6), iter.next_back());\nassert_eq!(Some(&5), iter.next_back());\nassert_eq!(Some(&2), iter.next());\nassert_eq!(Some(&3), iter.next());\nassert_eq!(Some(&4), iter.next());\nassert_eq!(None, iter.next());\nassert_eq!(None, iter.next_back());\n```"},"deprecated":false,"preselect":true,"sortText":"7fffffff","filterText":"DoubleEndedIterator","textEdit":{"newText":"DoubleEndedIterator","insert":{"start":{"line":20,"character":4},"end":{"line":20,"character":5}},"replace":{"start":{"line":20,"character":4},"end":{"line":20,"character":6}}},"additionalTextEdits":[]}}
2024-11-23T22:59:05.000 helix_lsp::transport [INFO] rust-analyzer <- {"additionalTextEdits":[],"deprecated":false,"documentation":{"kind":"markdown","value":"An iterator able to yield elements from both ends.\n\nSomething that implements `DoubleEndedIterator` has one extra capability\nover something that implements [`Iterator`]: the ability to also take\n`Item`s from the back, as well as the front.\n\nIt is important to note that both back and forth work on the same range,\nand do not cross: iteration is over when they meet in the middle.\n\nIn a similar fashion to the [`Iterator`] protocol, once a\n`DoubleEndedIterator` returns [`None`] from a [`next_back()`], calling it\nagain may or may not ever return [`Some`] again. [`next()`] and\n[`next_back()`] are interchangeable for this purpose.\n\n[`next_back()`]: DoubleEndedIterator::next_back\n[`next()`]: Iterator::next\n\n# Examples\n\nBasic usage:\n\n```rust\nlet numbers = vec![1, 2, 3, 4, 5, 6];\n\nlet mut iter = numbers.iter();\n\nassert_eq!(Some(&1), iter.next());\nassert_eq!(Some(&6), iter.next_back());\nassert_eq!(Some(&5), iter.next_back());\nassert_eq!(Some(&2), iter.next());\nassert_eq!(Some(&3), iter.next());\nassert_eq!(Some(&4), iter.next());\nassert_eq!(None, iter.next());\nassert_eq!(None, iter.next_back());\n```"},"filterText":"DoubleEndedIterator","kind":8,"label":"DoubleEndedIterator","preselect":true,"sortText":"7fffffff","textEdit":{"insert":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}},"newText":"DoubleEndedIterator","replace":{"end":{"character":6,"line":20},"start":{"character":4,"line":20}}}}
2024-11-23T22:59:05.005 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:05.479 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:05.504 helix_term::application [DEBUG] received editor event: IdleTimer
2024-11-23T22:59:05.504 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"textDocument/inlayHint","params":{"range":{"end":{"character":0,"line":76},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///D:/source/helix/helix-core/src/shellwords.rs"}},"id":32}
2024-11-23T22:59:05.506 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":32,"result":[{"position":{"line":4,"character":28},"label":": char","kind":1,"textEdits":[{"range":{"start":{"line":4,"character":28},"end":{"line":4,"character":28}},"newText":": char"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":38},"label":[{"value":"init:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":2575,"character":28},"end":{"line":2575,"character":32}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":7,"character":53},"label":[{"value":"f:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":2575,"character":41},"end":{"line":2575,"character":42}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":7,"character":61},"label":[{"value":": "},{"value":"String","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":361,"character":11},"end":{"line":361,"character":17}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":7,"character":61},"end":{"line":7,"character":61}},"newText":": String"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":64},"label":": char","kind":1,"textEdits":[{"range":{"start":{"line":7,"character":64},"end":{"line":7,"character":64}},"newText":": char"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":9,"character":25},"label":[{"value":"ch:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1354,"character":27},"end":{"line":1354,"character":29}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":11,"character":21},"label":[{"value":"ch:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1354,"character":27},"end":{"line":1354,"character":29}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":168,"character":1},"label":"impl From for Shellwords<'a>","paddingLeft":true,"paddingRight":false},{"position":{"line":167,"character":5},"label":[{"value":"fn from","location":{"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs","range":{"start":{"line":44,"character":7},"end":{"line":44,"character":11}}}}],"paddingLeft":true,"paddingRight":false},{"position":{"line":47,"character":21},"label":[{"value":": "},{"value":"State","location":{"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs","range":{"start":{"line":23,"character":5},"end":{"line":23,"character":10}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":47,"character":21},"end":{"line":47,"character":21}},"newText":": State"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":48,"character":21},"label":[{"value":": "},{"value":"Vec","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs","range":{"start":{"line":396,"character":11},"end":{"line":396,"character":14}}}},{"value":"<"},{"value":"Cow","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/borrow.rs","range":{"start":{"line":178,"character":9},"end":{"line":178,"character":12}}}},{"value":"<'a, str>>"}],"kind":1,"textEdits":[{"range":{"start":{"line":48,"character":21},"end":{"line":48,"character":21}},"newText":": Vec<Cow<'a, str>>"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":49,"character":21},"label":[{"value":": "},{"value":"Vec","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs","range":{"start":{"line":396,"character":11},"end":{"line":396,"character":14}}}},{"value":"<&str>"}],"kind":1,"textEdits":[{"range":{"start":{"line":49,"character":21},"end":{"line":49,"character":21}},"newText":": Vec<&str>"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":50,"character":23},"label":[{"value":": "},{"value":"String","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":361,"character":11},"end":{"line":361,"character":17}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":50,"character":23},"end":{"line":50,"character":23}},"newText":": String"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":52,"character":26},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":52,"character":26},"end":{"line":52,"character":26}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":53,"character":31},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":53,"character":31},"end":{"line":53,"character":31}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":54,"character":19},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":54,"character":19},"end":{"line":54,"character":19}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":14},"label":": usize","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":17},"label":": char","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":69,"character":45},"label":[{"value":"string:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1062,"character":31},"end":{"line":1062,"character":37}}}}],"kind":2,"paddingLeft":false,"paddingRight":true}]}
2024-11-23T22:59:05.507 helix_lsp::transport [INFO] rust-analyzer <- [{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":28,"line":4},"textEdits":[{"newText":": char","range":{"end":{"character":28,"line":4},"start":{"character":28,"line":4}}}]},{"kind":2,"label":[{"location":{"range":{"end":{"character":32,"line":2575},"start":{"character":28,"line":2575}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs"},"value":"init:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":38,"line":7}},{"kind":2,"label":[{"location":{"range":{"end":{"character":42,"line":2575},"start":{"character":41,"line":2575}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs"},"value":"f:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":53,"line":7}},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":17,"line":361},"start":{"character":11,"line":361}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"String"}],"paddingLeft":false,"paddingRight":false,"position":{"character":61,"line":7},"textEdits":[{"newText":": String","range":{"end":{"character":61,"line":7},"start":{"character":61,"line":7}}}]},{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":64,"line":7},"textEdits":[{"newText":": char","range":{"end":{"character":64,"line":7},"start":{"character":64,"line":7}}}]},{"kind":2,"label":[{"location":{"range":{"end":{"character":29,"line":1354},"start":{"character":27,"line":1354}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"ch:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":25,"line":9}},{"kind":2,"label":[{"location":{"range":{"end":{"character":29,"line":1354},"start":{"character":27,"line":1354}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"ch:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":21,"line":11}},{"label":"impl From for Shellwords<'a>","paddingLeft":true,"paddingRight":false,"position":{"character":1,"line":168}},{"label":[{"location":{"range":{"end":{"character":11,"line":44},"start":{"character":7,"line":44}},"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs"},"value":"fn from"}],"paddingLeft":true,"paddingRight":false,"position":{"character":5,"line":167}},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":10,"line":23},"start":{"character":5,"line":23}},"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs"},"value":"State"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":47},"textEdits":[{"newText":": State","range":{"end":{"character":21,"line":47},"start":{"character":21,"line":47}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":14,"line":396},"start":{"character":11,"line":396}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs"},"value":"Vec"},{"value":"<"},{"location":{"range":{"end":{"character":12,"line":178},"start":{"character":9,"line":178}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/borrow.rs"},"value":"Cow"},{"value":"<'a, str>>"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":48},"textEdits":[{"newText":": Vec<Cow<'a, str>>","range":{"end":{"character":21,"line":48},"start":{"character":21,"line":48}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":14,"line":396},"start":{"character":11,"line":396}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs"},"value":"Vec"},{"value":"<&str>"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":49},"textEdits":[{"newText":": Vec<&str>","range":{"end":{"character":21,"line":49},"start":{"character":21,"line":49}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":17,"line":361},"start":{"character":11,"line":361}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"String"}],"paddingLeft":false,"paddingRight":false,"position":{"character":23,"line":50},"textEdits":[{"newText":": String","range":{"end":{"character":23,"line":50},"start":{"character":23,"line":50}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":26,"line":52},"textEdits":[{"newText":": usize","range":{"end":{"character":26,"line":52},"start":{"character":26,"line":52}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":31,"line":53},"textEdits":[{"newText":": usize","range":{"end":{"character":31,"line":53},"start":{"character":31,"line":53}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":19,"line":54},"textEdits":[{"newText":": usize","range":{"end":{"character":19,"line":54},"start":{"character":19,"line":54}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":14,"line":56}},{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":17,"line":56}},{"kind":2,"label":[{"location":{"range":{"end":{"character":37,"line":1062},"start":{"character":31,"line":1062}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"string:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":45,"line":69}}]
2024-11-23T22:59:05.513 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:05.645 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"completionItem/resolve","params":{"additionalTextEdits":[],"data":{"completion_item_index":148,"imports":[],"position":{"position":{"character":5,"line":20},"textDocument":{"uri":"file:///D:/source/helix/helix-core/src/shellwords.rs"}},"trigger_character":null,"version":11},"deprecated":false,"filterText":"toml","kind":9,"label":"toml","preselect":true,"sortText":"7fffffff","textEdit":{"insert":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}},"newText":"toml","replace":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}}}},"id":33}
2024-11-23T22:59:05.651 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":33,"result":{"label":"PartialEq (alias ==, !=)","kind":8,"documentation":{"kind":"markdown","value":"Trait for comparisons using the equality operator.\n\nImplementing this trait for types provides the `==` and `!=` operators for\nthose types.\n\n`x.eq(y)` can also be written `x == y`, and `x.ne(y)` can be written `x != y`.\nWe use the easier-to-read infix notation in the remainder of this documentation.\n\nThis trait allows for comparisons using the equality operator, for types\nthat do not have a full equivalence relation. For example, in floating point\nnumbers `NaN != NaN`, so floating point types implement `PartialEq` but not\n[`trait@Eq`]. Formally speaking, when `Rhs == Self`, this trait corresponds\nto a [partial equivalence relation].\n\n[partial equivalence relation]: https://en.wikipedia.org/wiki/Partial_equivalence_relation\n\nImplementations must ensure that `eq` and `ne` are consistent with each other:\n\n- `a != b` if and only if `!(a == b)`.\n\nThe default implementation of `ne` provides this consistency and is almost\nalways sufficient. It should not be overridden without very good reason.\n\nIf [`PartialOrd`] or [`Ord`] are also implemented for `Self` and `Rhs`, their methods must also\nbe consistent with `PartialEq` (see the documentation of those traits for the exact\nrequirements). It's easy to accidentally make them disagree by deriving some of the traits and\nmanually implementing others.\n\nThe equality relation `==` must satisfy the following conditions\n(for all `a`, `b`, `c` of type `A`, `B`, `C`):\n\n- **Symmetry**: if `A: PartialEq<B>` and `B: PartialEq<A>`, then **`a == b`\n  implies `b == a`**; and\n\n- **Transitivity**: if `A: PartialEq<B>` and `B: PartialEq<C>` and `A:\n  PartialEq<C>`, then **`a == b` and `b == c` implies `a == c`**.\n  This must also work for longer chains, such as when `A: PartialEq<B>`, `B: PartialEq<C>`,\n  `C: PartialEq<D>`, and `A: PartialEq<D>` all exist.\n\nNote that the `B: PartialEq<A>` (symmetric) and `A: PartialEq<C>`\n(transitive) impls are not forced to exist, but these requirements apply\nwhenever they do exist.\n\nViolating these requirements is a logic error. The behavior resulting from a logic error is not\nspecified, but users of the trait must ensure that such logic errors do *not* result in\nundefined behavior. This means that `unsafe` code **must not** rely on the correctness of these\nmethods.\n\n## Cross-crate considerations\n\nUpholding the requirements stated above can become tricky when one crate implements `PartialEq`\nfor a type of another crate (i.e., to allow comparing one of its own types with a type from the\nstandard library). The recommendation is to never implement this trait for a foreign type. In\nother words, such a crate should do `impl PartialEq<ForeignType> for LocalType`, but it should\n*not* do `impl PartialEq<LocalType> for ForeignType`.\n\nThis avoids the problem of transitive chains that criss-cross crate boundaries: for all local\ntypes `T`, you may assume that no other crate will add `impl`s that allow comparing `T == U`. In\nother words, if other crates add `impl`s that allow building longer transitive chains `U1 == ...\n== T == V1 == ...`, then all the types that appear to the right of `T` must be types that the\ncrate defining `T` already knows about. This rules out transitive chains where downstream crates\ncan add new `impl`s that \"stitch together\" comparisons of foreign types in ways that violate\ntransitivity.\n\nNot having such foreign `impl`s also avoids forward compatibility issues where one crate adding\nmore `PartialEq` implementations can cause build failures in downstream crates.\n\n## Derivable\n\nThis trait can be used with `#[derive]`. When `derive`d on structs, two\ninstances are equal if all fields are equal, and not equal if any fields\nare not equal. When `derive`d on enums, two instances are equal if they\nare the same variant and all fields are equal.\n\n## How can I implement `PartialEq`?\n\nAn example implementation for a domain in which two books are considered\nthe same book if their ISBN matches, even if the formats differ:\n\n```rust\nenum BookFormat {\n    Paperback,\n    Hardback,\n    Ebook,\n}\n\nstruct Book {\n    isbn: i32,\n    format: BookFormat,\n}\n\nimpl PartialEq for Book {\n    fn eq(&self, other: &Self) -> bool {\n        self.isbn == other.isbn\n    }\n}\n\nlet b1 = Book { isbn: 3, format: BookFormat::Paperback };\nlet b2 = Book { isbn: 3, format: BookFormat::Ebook };\nlet b3 = Book { isbn: 10, format: BookFormat::Paperback };\n\nassert!(b1 == b2);\nassert!(b1 != b3);\n```\n\n## How can I compare two different types?\n\nThe type you can compare with is controlled by `PartialEq`'s type parameter.\nFor example, let's tweak our previous code a bit:\n\n```rust\n// The derive implements <BookFormat> == <BookFormat> comparisons\n#[derive(PartialEq)]\nenum BookFormat {\n    Paperback,\n    Hardback,\n    Ebook,\n}\n\nstruct Book {\n    isbn: i32,\n    format: BookFormat,\n}\n\n// Implement <Book> == <BookFormat> comparisons\nimpl PartialEq<BookFormat> for Book {\n    fn eq(&self, other: &BookFormat) -> bool {\n        self.format == *other\n    }\n}\n\n// Implement <BookFormat> == <Book> comparisons\nimpl PartialEq<Book> for BookFormat {\n    fn eq(&self, other: &Book) -> bool {\n        *self == other.format\n    }\n}\n\nlet b1 = Book { isbn: 3, format: BookFormat::Paperback };\n\nassert!(b1 == BookFormat::Paperback);\nassert!(BookFormat::Ebook != b1);\n```\n\nBy changing `impl PartialEq for Book` to `impl PartialEq<BookFormat> for Book`,\nwe allow `BookFormat`s to be compared with `Book`s.\n\nA comparison like the one above, which ignores some fields of the struct,\ncan be dangerous. It can easily lead to an unintended violation of the\nrequirements for a partial equivalence relation. For example, if we kept\nthe above implementation of `PartialEq<Book>` for `BookFormat` and added an\nimplementation of `PartialEq<Book>` for `Book` (either via a `#[derive]` or\nvia the manual implementation from the first example) then the result would\nviolate transitivity:\n\n```rust\n#[derive(PartialEq)]\nenum BookFormat {\n    Paperback,\n    Hardback,\n    Ebook,\n}\n\n#[derive(PartialEq)]\nstruct Book {\n    isbn: i32,\n    format: BookFormat,\n}\n\nimpl PartialEq<BookFormat> for Book {\n    fn eq(&self, other: &BookFormat) -> bool {\n        self.format == *other\n    }\n}\n\nimpl PartialEq<Book> for BookFormat {\n    fn eq(&self, other: &Book) -> bool {\n        *self == other.format\n    }\n}\n\nfn main() {\n    let b1 = Book { isbn: 1, format: BookFormat::Paperback };\n    let b2 = Book { isbn: 2, format: BookFormat::Paperback };\n\n    assert!(b1 == BookFormat::Paperback);\n    assert!(BookFormat::Paperback == b2);\n\n    // The following should hold by transitivity but doesn't.\n    assert!(b1 == b2); // <-- PANICS\n}\n```\n\n# Examples\n\n```rust\nlet x: u32 = 0;\nlet y: u32 = 1;\n\nassert_eq!(x == y, false);\nassert_eq!(x.eq(&y), false);\n```\n\n[`eq`]: PartialEq::eq\n[`ne`]: PartialEq::ne"},"deprecated":false,"preselect":true,"sortText":"7fffffff","filterText":"PartialEq","textEdit":{"newText":"PartialEq","insert":{"start":{"line":20,"character":4},"end":{"line":20,"character":5}},"replace":{"start":{"line":20,"character":4},"end":{"line":20,"character":6}}},"additionalTextEdits":[]}}
2024-11-23T22:59:05.652 helix_lsp::transport [INFO] rust-analyzer <- {"additionalTextEdits":[],"deprecated":false,"documentation":{"kind":"markdown","value":"Trait for comparisons using the equality operator.\n\nImplementing this trait for types provides the `==` and `!=` operators for\nthose types.\n\n`x.eq(y)` can also be written `x == y`, and `x.ne(y)` can be written `x != y`.\nWe use the easier-to-read infix notation in the remainder of this documentation.\n\nThis trait allows for comparisons using the equality operator, for types\nthat do not have a full equivalence relation. For example, in floating point\nnumbers `NaN != NaN`, so floating point types implement `PartialEq` but not\n[`trait@Eq`]. Formally speaking, when `Rhs == Self`, this trait corresponds\nto a [partial equivalence relation].\n\n[partial equivalence relation]: https://en.wikipedia.org/wiki/Partial_equivalence_relation\n\nImplementations must ensure that `eq` and `ne` are consistent with each other:\n\n- `a != b` if and only if `!(a == b)`.\n\nThe default implementation of `ne` provides this consistency and is almost\nalways sufficient. It should not be overridden without very good reason.\n\nIf [`PartialOrd`] or [`Ord`] are also implemented for `Self` and `Rhs`, their methods must also\nbe consistent with `PartialEq` (see the documentation of those traits for the exact\nrequirements). It's easy to accidentally make them disagree by deriving some of the traits and\nmanually implementing others.\n\nThe equality relation `==` must satisfy the following conditions\n(for all `a`, `b`, `c` of type `A`, `B`, `C`):\n\n- **Symmetry**: if `A: PartialEq<B>` and `B: PartialEq<A>`, then **`a == b`\n  implies `b == a`**; and\n\n- **Transitivity**: if `A: PartialEq<B>` and `B: PartialEq<C>` and `A:\n  PartialEq<C>`, then **`a == b` and `b == c` implies `a == c`**.\n  This must also work for longer chains, such as when `A: PartialEq<B>`, `B: PartialEq<C>`,\n  `C: PartialEq<D>`, and `A: PartialEq<D>` all exist.\n\nNote that the `B: PartialEq<A>` (symmetric) and `A: PartialEq<C>`\n(transitive) impls are not forced to exist, but these requirements apply\nwhenever they do exist.\n\nViolating these requirements is a logic error. The behavior resulting from a logic error is not\nspecified, but users of the trait must ensure that such logic errors do *not* result in\nundefined behavior. This means that `unsafe` code **must not** rely on the correctness of these\nmethods.\n\n## Cross-crate considerations\n\nUpholding the requirements stated above can become tricky when one crate implements `PartialEq`\nfor a type of another crate (i.e., to allow comparing one of its own types with a type from the\nstandard library). The recommendation is to never implement this trait for a foreign type. In\nother words, such a crate should do `impl PartialEq<ForeignType> for LocalType`, but it should\n*not* do `impl PartialEq<LocalType> for ForeignType`.\n\nThis avoids the problem of transitive chains that criss-cross crate boundaries: for all local\ntypes `T`, you may assume that no other crate will add `impl`s that allow comparing `T == U`. In\nother words, if other crates add `impl`s that allow building longer transitive chains `U1 == ...\n== T == V1 == ...`, then all the types that appear to the right of `T` must be types that the\ncrate defining `T` already knows about. This rules out transitive chains where downstream crates\ncan add new `impl`s that \"stitch together\" comparisons of foreign types in ways that violate\ntransitivity.\n\nNot having such foreign `impl`s also avoids forward compatibility issues where one crate adding\nmore `PartialEq` implementations can cause build failures in downstream crates.\n\n## Derivable\n\nThis trait can be used with `#[derive]`. When `derive`d on structs, two\ninstances are equal if all fields are equal, and not equal if any fields\nare not equal. When `derive`d on enums, two instances are equal if they\nare the same variant and all fields are equal.\n\n## How can I implement `PartialEq`?\n\nAn example implementation for a domain in which two books are considered\nthe same book if their ISBN matches, even if the formats differ:\n\n```rust\nenum BookFormat {\n    Paperback,\n    Hardback,\n    Ebook,\n}\n\nstruct Book {\n    isbn: i32,\n    format: BookFormat,\n}\n\nimpl PartialEq for Book {\n    fn eq(&self, other: &Self) -> bool {\n        self.isbn == other.isbn\n    }\n}\n\nlet b1 = Book { isbn: 3, format: BookFormat::Paperback };\nlet b2 = Book { isbn: 3, format: BookFormat::Ebook };\nlet b3 = Book { isbn: 10, format: BookFormat::Paperback };\n\nassert!(b1 == b2);\nassert!(b1 != b3);\n```\n\n## How can I compare two different types?\n\nThe type you can compare with is controlled by `PartialEq`'s type parameter.\nFor example, let's tweak our previous code a bit:\n\n```rust\n// The derive implements <BookFormat> == <BookFormat> comparisons\n#[derive(PartialEq)]\nenum BookFormat {\n    Paperback,\n    Hardback,\n    Ebook,\n}\n\nstruct Book {\n    isbn: i32,\n    format: BookFormat,\n}\n\n// Implement <Book> == <BookFormat> comparisons\nimpl PartialEq<BookFormat> for Book {\n    fn eq(&self, other: &BookFormat) -> bool {\n        self.format == *other\n    }\n}\n\n// Implement <BookFormat> == <Book> comparisons\nimpl PartialEq<Book> for BookFormat {\n    fn eq(&self, other: &Book) -> bool {\n        *self == other.format\n    }\n}\n\nlet b1 = Book { isbn: 3, format: BookFormat::Paperback };\n\nassert!(b1 == BookFormat::Paperback);\nassert!(BookFormat::Ebook != b1);\n```\n\nBy changing `impl PartialEq for Book` to `impl PartialEq<BookFormat> for Book`,\nwe allow `BookFormat`s to be compared with `Book`s.\n\nA comparison like the one above, which ignores some fields of the struct,\ncan be dangerous. It can easily lead to an unintended violation of the\nrequirements for a partial equivalence relation. For example, if we kept\nthe above implementation of `PartialEq<Book>` for `BookFormat` and added an\nimplementation of `PartialEq<Book>` for `Book` (either via a `#[derive]` or\nvia the manual implementation from the first example) then the result would\nviolate transitivity:\n\n```rust\n#[derive(PartialEq)]\nenum BookFormat {\n    Paperback,\n    Hardback,\n    Ebook,\n}\n\n#[derive(PartialEq)]\nstruct Book {\n    isbn: i32,\n    format: BookFormat,\n}\n\nimpl PartialEq<BookFormat> for Book {\n    fn eq(&self, other: &BookFormat) -> bool {\n        self.format == *other\n    }\n}\n\nimpl PartialEq<Book> for BookFormat {\n    fn eq(&self, other: &Book) -> bool {\n        *self == other.format\n    }\n}\n\nfn main() {\n    let b1 = Book { isbn: 1, format: BookFormat::Paperback };\n    let b2 = Book { isbn: 2, format: BookFormat::Paperback };\n\n    assert!(b1 == BookFormat::Paperback);\n    assert!(BookFormat::Paperback == b2);\n\n    // The following should hold by transitivity but doesn't.\n    assert!(b1 == b2); // <-- PANICS\n}\n```\n\n# Examples\n\n```rust\nlet x: u32 = 0;\nlet y: u32 = 1;\n\nassert_eq!(x == y, false);\nassert_eq!(x.eq(&y), false);\n```\n\n[`eq`]: PartialEq::eq\n[`ne`]: PartialEq::ne"},"filterText":"PartialEq","kind":8,"label":"PartialEq (alias ==, !=)","preselect":true,"sortText":"7fffffff","textEdit":{"insert":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}},"newText":"PartialEq","replace":{"end":{"character":6,"line":20},"start":{"character":4,"line":20}}}}
2024-11-23T22:59:05.657 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:06.521 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:06.545 helix_term::application [DEBUG] received editor event: IdleTimer
2024-11-23T22:59:06.546 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"textDocument/inlayHint","params":{"range":{"end":{"character":0,"line":76},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///D:/source/helix/helix-core/src/shellwords.rs"}},"id":34}
2024-11-23T22:59:06.547 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":34,"result":[{"position":{"line":4,"character":28},"label":": char","kind":1,"textEdits":[{"range":{"start":{"line":4,"character":28},"end":{"line":4,"character":28}},"newText":": char"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":38},"label":[{"value":"init:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":2575,"character":28},"end":{"line":2575,"character":32}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":7,"character":53},"label":[{"value":"f:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":2575,"character":41},"end":{"line":2575,"character":42}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":7,"character":61},"label":[{"value":": "},{"value":"String","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":361,"character":11},"end":{"line":361,"character":17}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":7,"character":61},"end":{"line":7,"character":61}},"newText":": String"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":64},"label":": char","kind":1,"textEdits":[{"range":{"start":{"line":7,"character":64},"end":{"line":7,"character":64}},"newText":": char"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":9,"character":25},"label":[{"value":"ch:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1354,"character":27},"end":{"line":1354,"character":29}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":11,"character":21},"label":[{"value":"ch:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1354,"character":27},"end":{"line":1354,"character":29}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":168,"character":1},"label":"impl From for Shellwords<'a>","paddingLeft":true,"paddingRight":false},{"position":{"line":167,"character":5},"label":[{"value":"fn from","location":{"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs","range":{"start":{"line":44,"character":7},"end":{"line":44,"character":11}}}}],"paddingLeft":true,"paddingRight":false},{"position":{"line":47,"character":21},"label":[{"value":": "},{"value":"State","location":{"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs","range":{"start":{"line":23,"character":5},"end":{"line":23,"character":10}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":47,"character":21},"end":{"line":47,"character":21}},"newText":": State"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":48,"character":21},"label":[{"value":": "},{"value":"Vec","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs","range":{"start":{"line":396,"character":11},"end":{"line":396,"character":14}}}},{"value":"<"},{"value":"Cow","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/borrow.rs","range":{"start":{"line":178,"character":9},"end":{"line":178,"character":12}}}},{"value":"<'a, str>>"}],"kind":1,"textEdits":[{"range":{"start":{"line":48,"character":21},"end":{"line":48,"character":21}},"newText":": Vec<Cow<'a, str>>"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":49,"character":21},"label":[{"value":": "},{"value":"Vec","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs","range":{"start":{"line":396,"character":11},"end":{"line":396,"character":14}}}},{"value":"<&str>"}],"kind":1,"textEdits":[{"range":{"start":{"line":49,"character":21},"end":{"line":49,"character":21}},"newText":": Vec<&str>"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":50,"character":23},"label":[{"value":": "},{"value":"String","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":361,"character":11},"end":{"line":361,"character":17}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":50,"character":23},"end":{"line":50,"character":23}},"newText":": String"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":52,"character":26},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":52,"character":26},"end":{"line":52,"character":26}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":53,"character":31},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":53,"character":31},"end":{"line":53,"character":31}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":54,"character":19},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":54,"character":19},"end":{"line":54,"character":19}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":14},"label":": usize","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":17},"label":": char","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":69,"character":45},"label":[{"value":"string:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1062,"character":31},"end":{"line":1062,"character":37}}}}],"kind":2,"paddingLeft":false,"paddingRight":true}]}
2024-11-23T22:59:06.548 helix_lsp::transport [INFO] rust-analyzer <- [{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":28,"line":4},"textEdits":[{"newText":": char","range":{"end":{"character":28,"line":4},"start":{"character":28,"line":4}}}]},{"kind":2,"label":[{"location":{"range":{"end":{"character":32,"line":2575},"start":{"character":28,"line":2575}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs"},"value":"init:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":38,"line":7}},{"kind":2,"label":[{"location":{"range":{"end":{"character":42,"line":2575},"start":{"character":41,"line":2575}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs"},"value":"f:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":53,"line":7}},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":17,"line":361},"start":{"character":11,"line":361}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"String"}],"paddingLeft":false,"paddingRight":false,"position":{"character":61,"line":7},"textEdits":[{"newText":": String","range":{"end":{"character":61,"line":7},"start":{"character":61,"line":7}}}]},{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":64,"line":7},"textEdits":[{"newText":": char","range":{"end":{"character":64,"line":7},"start":{"character":64,"line":7}}}]},{"kind":2,"label":[{"location":{"range":{"end":{"character":29,"line":1354},"start":{"character":27,"line":1354}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"ch:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":25,"line":9}},{"kind":2,"label":[{"location":{"range":{"end":{"character":29,"line":1354},"start":{"character":27,"line":1354}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"ch:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":21,"line":11}},{"label":"impl From for Shellwords<'a>","paddingLeft":true,"paddingRight":false,"position":{"character":1,"line":168}},{"label":[{"location":{"range":{"end":{"character":11,"line":44},"start":{"character":7,"line":44}},"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs"},"value":"fn from"}],"paddingLeft":true,"paddingRight":false,"position":{"character":5,"line":167}},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":10,"line":23},"start":{"character":5,"line":23}},"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs"},"value":"State"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":47},"textEdits":[{"newText":": State","range":{"end":{"character":21,"line":47},"start":{"character":21,"line":47}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":14,"line":396},"start":{"character":11,"line":396}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs"},"value":"Vec"},{"value":"<"},{"location":{"range":{"end":{"character":12,"line":178},"start":{"character":9,"line":178}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/borrow.rs"},"value":"Cow"},{"value":"<'a, str>>"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":48},"textEdits":[{"newText":": Vec<Cow<'a, str>>","range":{"end":{"character":21,"line":48},"start":{"character":21,"line":48}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":14,"line":396},"start":{"character":11,"line":396}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs"},"value":"Vec"},{"value":"<&str>"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":49},"textEdits":[{"newText":": Vec<&str>","range":{"end":{"character":21,"line":49},"start":{"character":21,"line":49}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":17,"line":361},"start":{"character":11,"line":361}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"String"}],"paddingLeft":false,"paddingRight":false,"position":{"character":23,"line":50},"textEdits":[{"newText":": String","range":{"end":{"character":23,"line":50},"start":{"character":23,"line":50}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":26,"line":52},"textEdits":[{"newText":": usize","range":{"end":{"character":26,"line":52},"start":{"character":26,"line":52}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":31,"line":53},"textEdits":[{"newText":": usize","range":{"end":{"character":31,"line":53},"start":{"character":31,"line":53}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":19,"line":54},"textEdits":[{"newText":": usize","range":{"end":{"character":19,"line":54},"start":{"character":19,"line":54}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":14,"line":56}},{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":17,"line":56}},{"kind":2,"label":[{"location":{"range":{"end":{"character":37,"line":1062},"start":{"character":31,"line":1062}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"string:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":45,"line":69}}]
2024-11-23T22:59:06.555 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:06.687 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"completionItem/resolve","params":{"additionalTextEdits":[],"data":{"completion_item_index":221,"imports":[],"position":{"position":{"character":5,"line":20},"textDocument":{"uri":"file:///D:/source/helix/helix-core/src/shellwords.rs"}},"trigger_character":null,"version":11},"deprecated":false,"filterText":"ToOwned","kind":8,"label":"ToOwned","preselect":true,"sortText":"7fffffff","textEdit":{"insert":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}},"newText":"ToOwned","replace":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}}}},"id":35}
2024-11-23T22:59:06.693 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":35,"result":{"label":"ToOwned","kind":8,"deprecated":false,"preselect":true,"sortText":"7fffffff","filterText":"ToOwned","textEdit":{"newText":"ToOwned","insert":{"start":{"line":20,"character":4},"end":{"line":20,"character":5}},"replace":{"start":{"line":20,"character":4},"end":{"line":20,"character":5}}},"additionalTextEdits":[]}}
2024-11-23T22:59:06.693 helix_lsp::transport [INFO] rust-analyzer <- {"additionalTextEdits":[],"deprecated":false,"filterText":"ToOwned","kind":8,"label":"ToOwned","preselect":true,"sortText":"7fffffff","textEdit":{"insert":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}},"newText":"ToOwned","replace":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}}}}
2024-11-23T22:59:06.699 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:07.399 helix_vcs::diff::worker [INFO] Diff computation timed out, update of diffs might appear delayed
2024-11-23T22:59:07.404 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:07.430 helix_term::application [DEBUG] received editor event: IdleTimer
2024-11-23T22:59:07.430 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"textDocument/inlayHint","params":{"range":{"end":{"character":0,"line":76},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///D:/source/helix/helix-core/src/shellwords.rs"}},"id":36}
2024-11-23T22:59:07.432 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":36,"result":[{"position":{"line":4,"character":28},"label":": char","kind":1,"textEdits":[{"range":{"start":{"line":4,"character":28},"end":{"line":4,"character":28}},"newText":": char"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":38},"label":[{"value":"init:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":2575,"character":28},"end":{"line":2575,"character":32}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":7,"character":53},"label":[{"value":"f:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":2575,"character":41},"end":{"line":2575,"character":42}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":7,"character":61},"label":[{"value":": "},{"value":"String","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":361,"character":11},"end":{"line":361,"character":17}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":7,"character":61},"end":{"line":7,"character":61}},"newText":": String"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":64},"label":": char","kind":1,"textEdits":[{"range":{"start":{"line":7,"character":64},"end":{"line":7,"character":64}},"newText":": char"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":9,"character":25},"label":[{"value":"ch:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1354,"character":27},"end":{"line":1354,"character":29}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":11,"character":21},"label":[{"value":"ch:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1354,"character":27},"end":{"line":1354,"character":29}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":168,"character":1},"label":"impl From for Shellwords<'a>","paddingLeft":true,"paddingRight":false},{"position":{"line":167,"character":5},"label":[{"value":"fn from","location":{"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs","range":{"start":{"line":44,"character":7},"end":{"line":44,"character":11}}}}],"paddingLeft":true,"paddingRight":false},{"position":{"line":47,"character":21},"label":[{"value":": "},{"value":"State","location":{"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs","range":{"start":{"line":23,"character":5},"end":{"line":23,"character":10}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":47,"character":21},"end":{"line":47,"character":21}},"newText":": State"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":48,"character":21},"label":[{"value":": "},{"value":"Vec","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs","range":{"start":{"line":396,"character":11},"end":{"line":396,"character":14}}}},{"value":"<"},{"value":"Cow","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/borrow.rs","range":{"start":{"line":178,"character":9},"end":{"line":178,"character":12}}}},{"value":"<'a, str>>"}],"kind":1,"textEdits":[{"range":{"start":{"line":48,"character":21},"end":{"line":48,"character":21}},"newText":": Vec<Cow<'a, str>>"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":49,"character":21},"label":[{"value":": "},{"value":"Vec","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs","range":{"start":{"line":396,"character":11},"end":{"line":396,"character":14}}}},{"value":"<&str>"}],"kind":1,"textEdits":[{"range":{"start":{"line":49,"character":21},"end":{"line":49,"character":21}},"newText":": Vec<&str>"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":50,"character":23},"label":[{"value":": "},{"value":"String","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":361,"character":11},"end":{"line":361,"character":17}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":50,"character":23},"end":{"line":50,"character":23}},"newText":": String"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":52,"character":26},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":52,"character":26},"end":{"line":52,"character":26}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":53,"character":31},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":53,"character":31},"end":{"line":53,"character":31}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":54,"character":19},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":54,"character":19},"end":{"line":54,"character":19}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":14},"label":": usize","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":17},"label":": char","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":69,"character":45},"label":[{"value":"string:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1062,"character":31},"end":{"line":1062,"character":37}}}}],"kind":2,"paddingLeft":false,"paddingRight":true}]}
2024-11-23T22:59:07.432 helix_lsp::transport [INFO] rust-analyzer <- [{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":28,"line":4},"textEdits":[{"newText":": char","range":{"end":{"character":28,"line":4},"start":{"character":28,"line":4}}}]},{"kind":2,"label":[{"location":{"range":{"end":{"character":32,"line":2575},"start":{"character":28,"line":2575}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs"},"value":"init:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":38,"line":7}},{"kind":2,"label":[{"location":{"range":{"end":{"character":42,"line":2575},"start":{"character":41,"line":2575}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs"},"value":"f:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":53,"line":7}},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":17,"line":361},"start":{"character":11,"line":361}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"String"}],"paddingLeft":false,"paddingRight":false,"position":{"character":61,"line":7},"textEdits":[{"newText":": String","range":{"end":{"character":61,"line":7},"start":{"character":61,"line":7}}}]},{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":64,"line":7},"textEdits":[{"newText":": char","range":{"end":{"character":64,"line":7},"start":{"character":64,"line":7}}}]},{"kind":2,"label":[{"location":{"range":{"end":{"character":29,"line":1354},"start":{"character":27,"line":1354}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"ch:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":25,"line":9}},{"kind":2,"label":[{"location":{"range":{"end":{"character":29,"line":1354},"start":{"character":27,"line":1354}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"ch:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":21,"line":11}},{"label":"impl From for Shellwords<'a>","paddingLeft":true,"paddingRight":false,"position":{"character":1,"line":168}},{"label":[{"location":{"range":{"end":{"character":11,"line":44},"start":{"character":7,"line":44}},"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs"},"value":"fn from"}],"paddingLeft":true,"paddingRight":false,"position":{"character":5,"line":167}},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":10,"line":23},"start":{"character":5,"line":23}},"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs"},"value":"State"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":47},"textEdits":[{"newText":": State","range":{"end":{"character":21,"line":47},"start":{"character":21,"line":47}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":14,"line":396},"start":{"character":11,"line":396}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs"},"value":"Vec"},{"value":"<"},{"location":{"range":{"end":{"character":12,"line":178},"start":{"character":9,"line":178}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/borrow.rs"},"value":"Cow"},{"value":"<'a, str>>"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":48},"textEdits":[{"newText":": Vec<Cow<'a, str>>","range":{"end":{"character":21,"line":48},"start":{"character":21,"line":48}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":14,"line":396},"start":{"character":11,"line":396}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs"},"value":"Vec"},{"value":"<&str>"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":49},"textEdits":[{"newText":": Vec<&str>","range":{"end":{"character":21,"line":49},"start":{"character":21,"line":49}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":17,"line":361},"start":{"character":11,"line":361}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"String"}],"paddingLeft":false,"paddingRight":false,"position":{"character":23,"line":50},"textEdits":[{"newText":": String","range":{"end":{"character":23,"line":50},"start":{"character":23,"line":50}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":26,"line":52},"textEdits":[{"newText":": usize","range":{"end":{"character":26,"line":52},"start":{"character":26,"line":52}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":31,"line":53},"textEdits":[{"newText":": usize","range":{"end":{"character":31,"line":53},"start":{"character":31,"line":53}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":19,"line":54},"textEdits":[{"newText":": usize","range":{"end":{"character":19,"line":54},"start":{"character":19,"line":54}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":14,"line":56}},{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":17,"line":56}},{"kind":2,"label":[{"location":{"range":{"end":{"character":37,"line":1062},"start":{"character":31,"line":1062}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"string:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":45,"line":69}}]
2024-11-23T22:59:07.436 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:07.446 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:07.571 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"completionItem/resolve","params":{"additionalTextEdits":[],"data":{"completion_item_index":222,"imports":[],"position":{"position":{"character":5,"line":20},"textDocument":{"uri":"file:///D:/source/helix/helix-core/src/shellwords.rs"}},"trigger_character":null,"version":11},"deprecated":false,"filterText":"ToString","kind":8,"label":"ToString","preselect":true,"sortText":"7fffffff","textEdit":{"insert":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}},"newText":"ToString","replace":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}}}},"id":37}
2024-11-23T22:59:07.577 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":37,"result":{"label":"ToString","kind":8,"deprecated":false,"preselect":true,"sortText":"7fffffff","filterText":"ToString","textEdit":{"newText":"ToString","insert":{"start":{"line":20,"character":4},"end":{"line":20,"character":5}},"replace":{"start":{"line":20,"character":4},"end":{"line":20,"character":5}}},"additionalTextEdits":[]}}
2024-11-23T22:59:07.577 helix_lsp::transport [INFO] rust-analyzer <- {"additionalTextEdits":[],"deprecated":false,"filterText":"ToString","kind":8,"label":"ToString","preselect":true,"sortText":"7fffffff","textEdit":{"insert":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}},"newText":"ToString","replace":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}}}}
2024-11-23T22:59:07.583 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:08.504 helix_vcs::diff::worker [INFO] Diff computation timed out, update of diffs might appear delayed
2024-11-23T22:59:08.510 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:08.519 helix_term::application [DEBUG] received editor event: IdleTimer
2024-11-23T22:59:08.520 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"textDocument/inlayHint","params":{"range":{"end":{"character":0,"line":76},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///D:/source/helix/helix-core/src/shellwords.rs"}},"id":38}
2024-11-23T22:59:08.521 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":38,"result":[{"position":{"line":4,"character":28},"label":": char","kind":1,"textEdits":[{"range":{"start":{"line":4,"character":28},"end":{"line":4,"character":28}},"newText":": char"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":38},"label":[{"value":"init:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":2575,"character":28},"end":{"line":2575,"character":32}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":7,"character":53},"label":[{"value":"f:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":2575,"character":41},"end":{"line":2575,"character":42}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":7,"character":61},"label":[{"value":": "},{"value":"String","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":361,"character":11},"end":{"line":361,"character":17}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":7,"character":61},"end":{"line":7,"character":61}},"newText":": String"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":64},"label":": char","kind":1,"textEdits":[{"range":{"start":{"line":7,"character":64},"end":{"line":7,"character":64}},"newText":": char"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":9,"character":25},"label":[{"value":"ch:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1354,"character":27},"end":{"line":1354,"character":29}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":11,"character":21},"label":[{"value":"ch:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1354,"character":27},"end":{"line":1354,"character":29}}}}],"kind":2,"paddingLeft":false,"paddingRight":true},{"position":{"line":168,"character":1},"label":"impl From for Shellwords<'a>","paddingLeft":true,"paddingRight":false},{"position":{"line":167,"character":5},"label":[{"value":"fn from","location":{"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs","range":{"start":{"line":44,"character":7},"end":{"line":44,"character":11}}}}],"paddingLeft":true,"paddingRight":false},{"position":{"line":47,"character":21},"label":[{"value":": "},{"value":"State","location":{"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs","range":{"start":{"line":23,"character":5},"end":{"line":23,"character":10}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":47,"character":21},"end":{"line":47,"character":21}},"newText":": State"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":48,"character":21},"label":[{"value":": "},{"value":"Vec","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs","range":{"start":{"line":396,"character":11},"end":{"line":396,"character":14}}}},{"value":"<"},{"value":"Cow","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/borrow.rs","range":{"start":{"line":178,"character":9},"end":{"line":178,"character":12}}}},{"value":"<'a, str>>"}],"kind":1,"textEdits":[{"range":{"start":{"line":48,"character":21},"end":{"line":48,"character":21}},"newText":": Vec<Cow<'a, str>>"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":49,"character":21},"label":[{"value":": "},{"value":"Vec","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs","range":{"start":{"line":396,"character":11},"end":{"line":396,"character":14}}}},{"value":"<&str>"}],"kind":1,"textEdits":[{"range":{"start":{"line":49,"character":21},"end":{"line":49,"character":21}},"newText":": Vec<&str>"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":50,"character":23},"label":[{"value":": "},{"value":"String","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":361,"character":11},"end":{"line":361,"character":17}}}}],"kind":1,"textEdits":[{"range":{"start":{"line":50,"character":23},"end":{"line":50,"character":23}},"newText":": String"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":52,"character":26},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":52,"character":26},"end":{"line":52,"character":26}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":53,"character":31},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":53,"character":31},"end":{"line":53,"character":31}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":54,"character":19},"label":": usize","kind":1,"textEdits":[{"range":{"start":{"line":54,"character":19},"end":{"line":54,"character":19}},"newText":": usize"}],"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":14},"label":": usize","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":17},"label":": char","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":69,"character":45},"label":[{"value":"string:","location":{"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs","range":{"start":{"line":1062,"character":31},"end":{"line":1062,"character":37}}}}],"kind":2,"paddingLeft":false,"paddingRight":true}]}
2024-11-23T22:59:08.522 helix_lsp::transport [INFO] rust-analyzer <- [{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":28,"line":4},"textEdits":[{"newText":": char","range":{"end":{"character":28,"line":4},"start":{"character":28,"line":4}}}]},{"kind":2,"label":[{"location":{"range":{"end":{"character":32,"line":2575},"start":{"character":28,"line":2575}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs"},"value":"init:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":38,"line":7}},{"kind":2,"label":[{"location":{"range":{"end":{"character":42,"line":2575},"start":{"character":41,"line":2575}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs"},"value":"f:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":53,"line":7}},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":17,"line":361},"start":{"character":11,"line":361}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"String"}],"paddingLeft":false,"paddingRight":false,"position":{"character":61,"line":7},"textEdits":[{"newText":": String","range":{"end":{"character":61,"line":7},"start":{"character":61,"line":7}}}]},{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":64,"line":7},"textEdits":[{"newText":": char","range":{"end":{"character":64,"line":7},"start":{"character":64,"line":7}}}]},{"kind":2,"label":[{"location":{"range":{"end":{"character":29,"line":1354},"start":{"character":27,"line":1354}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"ch:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":25,"line":9}},{"kind":2,"label":[{"location":{"range":{"end":{"character":29,"line":1354},"start":{"character":27,"line":1354}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"ch:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":21,"line":11}},{"label":"impl From for Shellwords<'a>","paddingLeft":true,"paddingRight":false,"position":{"character":1,"line":168}},{"label":[{"location":{"range":{"end":{"character":11,"line":44},"start":{"character":7,"line":44}},"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs"},"value":"fn from"}],"paddingLeft":true,"paddingRight":false,"position":{"character":5,"line":167}},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":10,"line":23},"start":{"character":5,"line":23}},"uri":"file:///d:/source/helix/helix-core/src/shellwords.rs"},"value":"State"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":47},"textEdits":[{"newText":": State","range":{"end":{"character":21,"line":47},"start":{"character":21,"line":47}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":14,"line":396},"start":{"character":11,"line":396}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs"},"value":"Vec"},{"value":"<"},{"location":{"range":{"end":{"character":12,"line":178},"start":{"character":9,"line":178}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/borrow.rs"},"value":"Cow"},{"value":"<'a, str>>"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":48},"textEdits":[{"newText":": Vec<Cow<'a, str>>","range":{"end":{"character":21,"line":48},"start":{"character":21,"line":48}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":14,"line":396},"start":{"character":11,"line":396}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs"},"value":"Vec"},{"value":"<&str>"}],"paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":49},"textEdits":[{"newText":": Vec<&str>","range":{"end":{"character":21,"line":49},"start":{"character":21,"line":49}}}]},{"kind":1,"label":[{"value":": "},{"location":{"range":{"end":{"character":17,"line":361},"start":{"character":11,"line":361}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"String"}],"paddingLeft":false,"paddingRight":false,"position":{"character":23,"line":50},"textEdits":[{"newText":": String","range":{"end":{"character":23,"line":50},"start":{"character":23,"line":50}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":26,"line":52},"textEdits":[{"newText":": usize","range":{"end":{"character":26,"line":52},"start":{"character":26,"line":52}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":31,"line":53},"textEdits":[{"newText":": usize","range":{"end":{"character":31,"line":53},"start":{"character":31,"line":53}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":19,"line":54},"textEdits":[{"newText":": usize","range":{"end":{"character":19,"line":54},"start":{"character":19,"line":54}}}]},{"kind":1,"label":": usize","paddingLeft":false,"paddingRight":false,"position":{"character":14,"line":56}},{"kind":1,"label":": char","paddingLeft":false,"paddingRight":false,"position":{"character":17,"line":56}},{"kind":2,"label":[{"location":{"range":{"end":{"character":37,"line":1062},"start":{"character":31,"line":1062}},"uri":"file:///c:/Users/Ryan/.rustup/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/src/rust/library/alloc/src/string.rs"},"value":"string:"}],"paddingLeft":false,"paddingRight":true,"position":{"character":45,"line":69}}]
2024-11-23T22:59:08.525 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:08.534 helix_view::document [DEBUG] id 2 modified - last saved: 0, current: 1
2024-11-23T22:59:08.662 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"completionItem/resolve","params":{"additionalTextEdits":[],"data":{"completion_item_index":0,"imports":[{"full_import_path":"bitflags::parser::to_writer_truncate","imported_name":"to_writer_truncate"}],"position":{"position":{"character":5,"line":20},"textDocument":{"uri":"file:///D:/source/helix/helix-core/src/shellwords.rs"}},"trigger_character":null,"version":11},"deprecated":false,"filterText":"to_writer_truncate","insertTextFormat":2,"kind":3,"label":"to_writer_truncate(…) (use bitflags::parser::to_writer_truncate)","sortText":"80000000","textEdit":{"insert":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}},"newText":"to_writer_truncate(${1:flags}, ${2:writer})$0","replace":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}}}},"id":39}
2024-11-23T22:59:08.668 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":39,"result":{"label":"to_writer(…) (use bitflags::parser::to_writer)","kind":3,"detail":"fn(&B, impl Write) -> Result<(), Error>","documentation":{"kind":"markdown","value":"\nWrite a flags value as text.\n\nAny bits that aren't part of a contained flag will be formatted as a hex number."},"deprecated":false,"sortText":"80000000","filterText":"to_writer","insertTextFormat":2,"textEdit":{"newText":"to_writer(${1:flags}, ${2:writer})$0","insert":{"start":{"line":20,"character":4},"end":{"line":20,"character":5}},"replace":{"start":{"line":20,"character":4},"end":{"line":20,"character":6}}},"additionalTextEdits":[{"range":{"start":{"line":0,"character":21},"end":{"line":0,"character":21}},"newText":"\r\n\r\nuse bitflags::parser::to_writer_truncate;"}],"data":{"position":{"textDocument":{"uri":"file:///D:/source/helix/helix-core/src/shellwords.rs"},"position":{"line":20,"character":5}},"imports":[{"full_import_path":"bitflags::parser::to_writer","imported_name":"to_writer"}],"version":12,"trigger_character":null,"completion_item_index":0}}}
2024-11-23T22:59:08.669 helix_lsp::transport [INFO] rust-analyzer <- {"additionalTextEdits":[{"newText":"\r\n\r\nuse bitflags::parser::to_writer_truncate;","range":{"end":{"character":21,"line":0},"start":{"character":21,"line":0}}}],"data":{"completion_item_index":0,"imports":[{"full_import_path":"bitflags::parser::to_writer","imported_name":"to_writer"}],"position":{"position":{"character":5,"line":20},"textDocument":{"uri":"file:///D:/source/helix/helix-core/src/shellwords.rs"}},"trigger_character":null,"version":12},"deprecated":false,"detail":"fn(&B, impl Write) -> Result<(), Error>","documentation":{"kind":"markdown","value":"\nWrite a flags value as text.\n\nAny bits that aren't part of a contained flag will be formatted as a hex number."},"filterText":"to_writer","insertTextFormat":2,"kind":3,"label":"to_writer(…) (use bitflags::parser::to_writer)","sortText":"80000000","textEdit":{"insert":{"end":{"character":5,"line":20},"start":{"character":4,"line":20}},"newText":"to_writer(${1:flags}, ${2:writer})$0","replace":{"end":{"character":6,"line":20},"start":{"character":4,"line":20}}}}

Platform

Windows

Terminal Emulator

wezterm 20241112-222331-ed7ec94c

Installation Method

source

Helix Version

helix 24.7 (cbbeca6)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-language-serverArea: Language server clientC-bugCategory: This is a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions