2024-01-25T19:34:54.142 helix_lsp::client [INFO] Using custom LSP config: {"inlayHints":{"bindingModeHints":{"enable":false},"closingBraceHints":{"minLines":10},"closureReturnTypeHints":{"enable":"with_block"},"discriminantHints":{"enable":"fieldless"},"lifetimeElisionHints":{"enable":"skip_trivial"},"typeHints":{"hideClosureInitialization":false}}} 2024-01-25T19:34:54.142 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{"general":{"positionEncodings":["utf-8","utf-32","utf-16"]},"textDocument":{"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"dataSupport":true,"disabledSupport":true,"isPreferredSupport":true,"resolveSupport":{"properties":["edit","command"]}},"completion":{"completionItem":{"deprecatedSupport":true,"insertReplaceSupport":true,"resolveSupport":{"properties":["documentation","detail","additionalTextEdits"]},"snippetSupport":true,"tagSupport":{"valueSet":[1]}},"completionItemKind":{}},"hover":{"contentFormat":["markdown"]},"inlayHint":{"dynamicRegistration":false},"publishDiagnostics":{"versionSupport":true},"rename":{"dynamicRegistration":false,"honorsChangeAnnotations":false,"prepareSupport":true},"signatureHelp":{"signatureInformation":{"activeParameterSupport":true,"documentationFormat":["markdown"],"parameterInformation":{"labelOffsetSupport":true}}}},"window":{"workDoneProgress":true},"workspace":{"applyEdit":true,"configuration":true,"didChangeConfiguration":{"dynamicRegistration":false},"didChangeWatchedFiles":{"dynamicRegistration":true,"relativePatternSupport":false},"executeCommand":{"dynamicRegistration":false},"fileOperations":{"didRename":true,"willRename":true},"inlayHint":{"refreshSupport":false},"symbol":{"dynamicRegistration":false},"workspaceEdit":{"documentChanges":true,"failureHandling":"abort","normalizesLineEndings":false,"resourceOperations":["create","rename","delete"]},"workspaceFolders":true}},"clientInfo":{"name":"helix","version":"23.10 (9a4499f1)"},"initializationOptions":{"inlayHints":{"bindingModeHints":{"enable":false},"closingBraceHints":{"minLines":10},"closureReturnTypeHints":{"enable":"with_block"},"discriminantHints":{"enable":"fieldless"},"lifetimeElisionHints":{"enable":"skip_trivial"},"typeHints":{"hideClosureInitialization":false}}},"processId":37512,"rootPath":"C:\\Users\\there\\Desktop\\helix","rootUri":"file:///C:/Users/there/Desktop/helix","workspaceFolders":[{"name":"helix","uri":"file:///C:/Users/there/Desktop/helix"}]},"id":0} 2024-01-25T19:34:54.147 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":0,"result":{"capabilities":{"positionEncoding":"utf-8","textDocumentSync":{"openClose":true,"change":2,"save":{}},"selectionRangeProvider":true,"hoverProvider":true,"completionProvider":{"resolveProvider":true,"triggerCharacters":[":",".","'","("],"completionItem":{"labelDetailsSupport":false}},"signatureHelpProvider":{"triggerCharacters":["(",",","<"]},"definitionProvider":true,"typeDefinitionProvider":true,"implementationProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"workspaceSymbolProvider":true,"codeActionProvider":{"codeActionKinds":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite"],"resolveProvider":true},"codeLensProvider":{"resolveProvider":true},"documentFormattingProvider":true,"documentRangeFormattingProvider":false,"documentOnTypeFormattingProvider":{"firstTriggerCharacter":"=","moreTriggerCharacter":[".",">","{","("]},"renameProvider":{"prepareProvider":true},"foldingRangeProvider":true,"declarationProvider":true,"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":true},"fileOperations":{"willRename":{"filters":[{"scheme":"file","pattern":{"glob":"**/*.rs","matches":"file"}},{"scheme":"file","pattern":{"glob":"**","matches":"folder"}}]}}},"callHierarchyProvider":true,"semanticTokensProvider":{"legend":{"tokenTypes":["comment","decorator","enumMember","enum","function","interface","keyword","macro","method","namespace","number","operator","parameter","property","string","struct","typeParameter","variable","angle","arithmetic","attribute","attributeBracket","bitwise","boolean","brace","bracket","builtinAttribute","builtinType","character","colon","comma","comparison","constParameter","derive","deriveHelper","dot","escapeSequence","invalidEscapeSequence","formatSpecifier","generic","label","lifetime","logical","macroBang","parenthesis","punctuation","selfKeyword","selfTypeKeyword","semicolon","typeAlias","toolModule","union","unresolvedReference"],"tokenModifiers":["documentation","declaration","static","defaultLibrary","async","attribute","callable","constant","consuming","controlFlow","crateRoot","injected","intraDocLink","library","macro","mutable","public","reference","trait","unsafe"]},"range":true,"full":{"delta":true}},"inlayHintProvider":{"resolveProvider":true},"experimental":{"externalDocs":true,"hoverRange":true,"joinLines":true,"matchingBrace":true,"moveItem":true,"onEnter":true,"openCargoToml":true,"parentModule":true,"runnables":{"kinds":["cargo"]},"ssr":true,"workspaceSymbolScopeKindFiltering":true}},"serverInfo":{"name":"rust-analyzer","version":"0.3.1791-standalone (9db515503 2024-01-01)"}}} 2024-01-25T19:34:54.147 helix_lsp::transport [INFO] rust-analyzer <- {"capabilities":{"callHierarchyProvider":true,"codeActionProvider":{"codeActionKinds":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite"],"resolveProvider":true},"codeLensProvider":{"resolveProvider":true},"completionProvider":{"completionItem":{"labelDetailsSupport":false},"resolveProvider":true,"triggerCharacters":[":",".","'","("]},"declarationProvider":true,"definitionProvider":true,"documentFormattingProvider":true,"documentHighlightProvider":true,"documentOnTypeFormattingProvider":{"firstTriggerCharacter":"=","moreTriggerCharacter":[".",">","{","("]},"documentRangeFormattingProvider":false,"documentSymbolProvider":true,"experimental":{"externalDocs":true,"hoverRange":true,"joinLines":true,"matchingBrace":true,"moveItem":true,"onEnter":true,"openCargoToml":true,"parentModule":true,"runnables":{"kinds":["cargo"]},"ssr":true,"workspaceSymbolScopeKindFiltering":true},"foldingRangeProvider":true,"hoverProvider":true,"implementationProvider":true,"inlayHintProvider":{"resolveProvider":true},"positionEncoding":"utf-8","referencesProvider":true,"renameProvider":{"prepareProvider":true},"selectionRangeProvider":true,"semanticTokensProvider":{"full":{"delta":true},"legend":{"tokenModifiers":["documentation","declaration","static","defaultLibrary","async","attribute","callable","constant","consuming","controlFlow","crateRoot","injected","intraDocLink","library","macro","mutable","public","reference","trait","unsafe"],"tokenTypes":["comment","decorator","enumMember","enum","function","interface","keyword","macro","method","namespace","number","operator","parameter","property","string","struct","typeParameter","variable","angle","arithmetic","attribute","attributeBracket","bitwise","boolean","brace","bracket","builtinAttribute","builtinType","character","colon","comma","comparison","constParameter","derive","deriveHelper","dot","escapeSequence","invalidEscapeSequence","formatSpecifier","generic","label","lifetime","logical","macroBang","parenthesis","punctuation","selfKeyword","selfTypeKeyword","semicolon","typeAlias","toolModule","union","unresolvedReference"]},"range":true},"signatureHelpProvider":{"triggerCharacters":["(",",","<"]},"textDocumentSync":{"change":2,"openClose":true,"save":{}},"typeDefinitionProvider":true,"workspace":{"fileOperations":{"willRename":{"filters":[{"pattern":{"glob":"**/*.rs","matches":"file"},"scheme":"file"},{"pattern":{"glob":"**","matches":"folder"},"scheme":"file"}]}},"workspaceFolders":{"changeNotifications":true,"supported":true}},"workspaceSymbolProvider":true},"serverInfo":{"name":"rust-analyzer","version":"0.3.1791-standalone (9db515503 2024-01-01)"}} 2024-01-25T19:34:54.147 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"initialized","params":{}} 2024-01-25T19:34:54.147 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"inlayHints":{"bindingModeHints":{"enable":false},"closingBraceHints":{"minLines":10},"closureReturnTypeHints":{"enable":"with_block"},"discriminantHints":{"enable":"fieldless"},"lifetimeElisionHints":{"enable":"skip_trivial"},"typeHints":{"hideClosureInitialization":false}}}}} 2024-01-25T19:34:54.147 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"rust","text":"use anyhow::{anyhow, bail, Context, Error};\nuse arc_swap::access::DynAccess;\nuse arc_swap::ArcSwap;\nuse futures_util::future::BoxFuture;\nuse futures_util::FutureExt;\nuse helix_core::auto_pairs::AutoPairs;\nuse helix_core::chars::char_is_word;\nuse helix_core::doc_formatter::TextFormat;\nuse helix_core::encoding::Encoding;\nuse helix_core::syntax::{Highlight, LanguageServerFeature};\nuse helix_core::text_annotations::{InlineAnnotation, TextAnnotations};\nuse helix_lsp::util::lsp_pos_to_pos;\nuse helix_vcs::{DiffHandle, DiffProviderRegistry};\n\nuse ::parking_lot::Mutex;\nuse serde::de::{self, Deserialize, Deserializer};\nuse serde::Serialize;\nuse std::borrow::Cow;\nuse std::cell::Cell;\nuse std::collections::HashMap;\nuse std::fmt::Display;\nuse std::future::Future;\nuse std::path::{Path, PathBuf};\nuse std::rc::Rc;\nuse std::str::FromStr;\nuse std::sync::{Arc, Weak};\nuse std::time::SystemTime;\n\nuse helix_core::{\n encoding,\n history::{History, State, UndoKind},\n indent::{auto_detect_indent_style, IndentStyle},\n line_ending::auto_detect_line_ending,\n syntax::{self, LanguageConfiguration},\n ChangeSet, Diagnostic, LineEnding, Range, Rope, RopeBuilder, Selection, Syntax, Transaction,\n};\n\nuse crate::editor::Config;\nuse crate::events::{DocumentDidChange, SelectionDidChange};\nuse crate::{DocumentId, Editor, Theme, View, ViewId};\n\n/// 8kB of buffer space for encoding and decoding `Rope`s.\nconst BUF_SIZE: usize = 8192;\n\nconst DEFAULT_INDENT: IndentStyle = IndentStyle::Tabs;\n\npub const DEFAULT_LANGUAGE_NAME: &str = \"text\";\n\npub const SCRATCH_BUFFER_NAME: &str = \"[scratch]\";\n\n#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]\npub enum Mode {\n Normal = 0,\n Select = 1,\n Insert = 2,\n}\n\nimpl Display for Mode {\n fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n match self {\n Mode::Normal => f.write_str(\"normal\"),\n Mode::Select => f.write_str(\"select\"),\n Mode::Insert => f.write_str(\"insert\"),\n }\n }\n}\n\nimpl FromStr for Mode {\n type Err = Error;\n\n fn from_str(s: &str) -> Result {\n match s {\n \"normal\" => Ok(Mode::Normal),\n \"select\" => Ok(Mode::Select),\n \"insert\" => Ok(Mode::Insert),\n _ => bail!(\"Invalid mode '{}'\", s),\n }\n }\n}\n\n// toml deserializer doesn't seem to recognize string as enum\nimpl<'de> Deserialize<'de> for Mode {\n fn deserialize(deserializer: D) -> Result\n where\n D: Deserializer<'de>,\n {\n let s = String::deserialize(deserializer)?;\n s.parse().map_err(de::Error::custom)\n }\n}\n\nimpl Serialize for Mode {\n fn serialize(&self, serializer: S) -> Result\n where\n S: serde::Serializer,\n {\n serializer.collect_str(self)\n }\n}\n\n/// A snapshot of the text of a document that we want to write out to disk\n#[derive(Debug, Clone)]\npub struct DocumentSavedEvent {\n pub revision: usize,\n pub doc_id: DocumentId,\n pub path: PathBuf,\n pub text: Rope,\n}\n\npub type DocumentSavedEventResult = Result;\npub type DocumentSavedEventFuture = BoxFuture<'static, DocumentSavedEventResult>;\n\n#[derive(Debug)]\npub struct SavePoint {\n /// The view this savepoint is associated with\n pub view: ViewId,\n revert: Mutex,\n}\n\npub struct Document {\n pub(crate) id: DocumentId,\n text: Rope,\n selections: HashMap,\n\n /// Inlay hints annotations for the document, by view.\n ///\n /// To know if they're up-to-date, check the `id` field in `DocumentInlayHints`.\n pub(crate) inlay_hints: HashMap,\n /// Set to `true` when the document is updated, reset to `false` on the next inlay hints\n /// update from the LSP\n pub inlay_hints_oudated: bool,\n\n path: Option,\n encoding: &'static encoding::Encoding,\n has_bom: bool,\n\n pub restore_cursor: bool,\n\n /// Current indent style.\n pub indent_style: IndentStyle,\n\n /// The document's default line ending.\n pub line_ending: LineEnding,\n\n pub syntax: Option,\n /// Corresponding language scope name. Usually `source.`.\n pub language: Option>,\n\n /// Pending changes since last history commit.\n changes: ChangeSet,\n /// State at last commit. Used for calculating reverts.\n old_state: Option,\n /// Undo tree.\n // It can be used as a cell where we will take it out to get some parts of the history and put\n // it back as it separated from the edits. We could split out the parts manually but that will\n // be more troublesome.\n pub history: Cell,\n pub config: Arc>,\n\n savepoints: Vec>,\n\n // Last time we wrote to the file. This will carry the time the file was last opened if there\n // were no saves.\n last_saved_time: SystemTime,\n\n last_saved_revision: usize,\n version: i32, // should be usize?\n pub(crate) modified_since_accessed: bool,\n\n pub(crate) diagnostics: Vec,\n pub(crate) language_servers: HashMap>,\n\n diff_handle: Option,\n version_control_head: Option>>>,\n\n // when document was used for most-recent-used buffer picker\n pub focused_at: std::time::Instant,\n\n pub readonly: bool,\n}\n\n/// Inlay hints for a single `(Document, View)` combo.\n///\n/// There are `*_inlay_hints` field for each kind of hints an LSP can send since we offer the\n/// option to style theme differently in the theme according to the (currently supported) kinds\n/// (`type`, `parameter` and the rest).\n///\n/// Inlay hints are always `InlineAnnotation`s, not overlays or line-ones: LSP may choose to place\n/// them anywhere in the text and will sometime offer config options to move them where the user\n/// wants them but it shouldn't be Helix who decides that so we use the most precise positioning.\n///\n/// The padding for inlay hints needs to be stored separately for before and after (the LSP spec\n/// uses 'left' and 'right' but not all text is left to right so let's be correct) padding because\n/// the 'before' padding must be added to a layer *before* the regular inlay hints and the 'after'\n/// padding comes ... after.\n#[derive(Debug, Clone)]\npub struct DocumentInlayHints {\n /// Identifier for the inlay hints stored in this structure. To be checked to know if they have\n /// to be recomputed on idle or not.\n pub id: DocumentInlayHintsId,\n\n /// Inlay hints of `TYPE` kind, if any.\n pub type_inlay_hints: Rc<[InlineAnnotation]>,\n\n /// Inlay hints of `PARAMETER` kind, if any.\n pub parameter_inlay_hints: Rc<[InlineAnnotation]>,\n\n /// Inlay hints that are neither `TYPE` nor `PARAMETER`.\n ///\n /// LSPs are not required to associate a kind to their inlay hints, for example Rust-Analyzer\n /// currently never does (February 2023) and the LSP spec may add new kinds in the future that\n /// we want to display even if we don't have some special highlighting for them.\n pub other_inlay_hints: Rc<[InlineAnnotation]>,\n\n /// Inlay hint padding. When creating the final `TextAnnotations`, the `before` padding must be\n /// added first, then the regular inlay hints, then the `after` padding.\n pub padding_before_inlay_hints: Rc<[InlineAnnotation]>,\n pub padding_after_inlay_hints: Rc<[InlineAnnotation]>,\n}\n\nimpl DocumentInlayHints {\n /// Generate an empty list of inlay hints with the given ID.\n pub fn empty_with_id(id: DocumentInlayHintsId) -> Self {\n Self {\n id,\n type_inlay_hints: Rc::new([]),\n parameter_inlay_hints: Rc::new([]),\n other_inlay_hints: Rc::new([]),\n padding_before_inlay_hints: Rc::new([]),\n padding_after_inlay_hints: Rc::new([]),\n }\n }\n}\n\n/// Associated with a [`Document`] and [`ViewId`], uniquely identifies the state of inlay hints for\n/// for that document and view: if this changed since the last save, the inlay hints for the view\n/// should be recomputed.\n///\n/// We can't store the `ViewOffset` instead of the first and last asked-for lines because if\n/// softwrapping changes, the `ViewOffset` may not change while the displayed lines will.\n#[derive(Copy, Clone, PartialEq, Eq)]\npub struct DocumentInlayHintsId {\n /// First line for which the inlay hints were requested.\n pub first_line: usize,\n /// Last line for which the inlay hints were requested.\n pub last_line: usize,\n}\n\nuse std::{fmt, mem};\nimpl fmt::Debug for Document {\n fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n f.debug_struct(\"Document\")\n .field(\"id\", &self.id)\n .field(\"text\", &self.text)\n .field(\"selections\", &self.selections)\n .field(\"inlay_hints_oudated\", &self.inlay_hints_oudated)\n .field(\"text_annotations\", &self.inlay_hints)\n .field(\"path\", &self.path)\n .field(\"encoding\", &self.encoding)\n .field(\"restore_cursor\", &self.restore_cursor)\n .field(\"syntax\", &self.syntax)\n .field(\"language\", &self.language)\n .field(\"changes\", &self.changes)\n .field(\"old_state\", &self.old_state)\n // .field(\"history\", &self.history)\n .field(\"last_saved_time\", &self.last_saved_time)\n .field(\"last_saved_revision\", &self.last_saved_revision)\n .field(\"version\", &self.version)\n .field(\"modified_since_accessed\", &self.modified_since_accessed)\n .field(\"diagnostics\", &self.diagnostics)\n // .field(\"language_server\", &self.language_server)\n .finish()\n }\n}\n\nimpl fmt::Debug for DocumentInlayHintsId {\n fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n // Much more agreable to read when debugging\n f.debug_struct(\"DocumentInlayHintsId\")\n .field(\"lines\", &(self.first_line..self.last_line))\n .finish()\n }\n}\n\nenum Encoder {\n Utf16Be,\n Utf16Le,\n EncodingRs(encoding::Encoder),\n}\n\nimpl Encoder {\n fn from_encoding(encoding: &'static encoding::Encoding) -> Self {\n if encoding == encoding::UTF_16BE {\n Self::Utf16Be\n } else if encoding == encoding::UTF_16LE {\n Self::Utf16Le\n } else {\n Self::EncodingRs(encoding.new_encoder())\n }\n }\n\n fn encode_from_utf8(\n &mut self,\n src: &str,\n dst: &mut [u8],\n is_empty: bool,\n ) -> (encoding::CoderResult, usize, usize) {\n if src.is_empty() {\n return (encoding::CoderResult::InputEmpty, 0, 0);\n }\n let mut write_to_buf = |convert: fn(u16) -> [u8; 2]| {\n let to_write = src.char_indices().map(|(indice, char)| {\n let mut encoded: [u16; 2] = [0, 0];\n (\n indice,\n char.encode_utf16(&mut encoded)\n .iter_mut()\n .flat_map(|char| convert(*char))\n .collect::>(),\n )\n });\n\n let mut total_written = 0usize;\n\n for (indice, utf16_bytes) in to_write {\n let character_size = utf16_bytes.len();\n\n if dst.len() <= (total_written + character_size) {\n return (encoding::CoderResult::OutputFull, indice, total_written);\n }\n\n for character in utf16_bytes {\n dst[total_written] = character;\n total_written += 1;\n }\n }\n\n (encoding::CoderResult::InputEmpty, src.len(), total_written)\n };\n\n match self {\n Self::Utf16Be => write_to_buf(u16::to_be_bytes),\n Self::Utf16Le => write_to_buf(u16::to_le_bytes),\n Self::EncodingRs(encoder) => {\n let (code_result, read, written, ..) = encoder.encode_from_utf8(src, dst, is_empty);\n\n (code_result, read, written)\n }\n }\n }\n}\n\n// Apply BOM if encoding permit it, return the number of bytes written at the start of buf\nfn apply_bom(encoding: &'static encoding::Encoding, buf: &mut [u8; BUF_SIZE]) -> usize {\n if encoding == encoding::UTF_8 {\n buf[0] = 0xef;\n buf[1] = 0xbb;\n buf[2] = 0xbf;\n 3\n } else if encoding == encoding::UTF_16BE {\n buf[0] = 0xfe;\n buf[1] = 0xff;\n 2\n } else if encoding == encoding::UTF_16LE {\n buf[0] = 0xff;\n buf[1] = 0xfe;\n 2\n } else {\n 0\n }\n}\n\n// The documentation and implementation of this function should be up-to-date with\n// its sibling function, `to_writer()`.\n//\n/// Decodes a stream of bytes into UTF-8, returning a `Rope` and the\n/// encoding it was decoded as with BOM information. The optional `encoding`\n/// parameter can be used to override encoding auto-detection.\npub fn from_reader(\n reader: &mut R,\n encoding: Option<&'static Encoding>,\n) -> Result<(Rope, &'static Encoding, bool), Error> {\n // These two buffers are 8192 bytes in size each and are used as\n // intermediaries during the decoding process. Text read into `buf`\n // from `reader` is decoded into `buf_out` as UTF-8. Once either\n // `buf_out` is full or the end of the reader was reached, the\n // contents are appended to `builder`.\n let mut buf = [0u8; BUF_SIZE];\n let mut buf_out = [0u8; BUF_SIZE];\n let mut builder = RopeBuilder::new();\n\n let (encoding, has_bom, mut decoder, read) =\n read_and_detect_encoding(reader, encoding, &mut buf)?;\n\n let mut slice = &buf[..read];\n let mut is_empty = read == 0;\n\n // `RopeBuilder::append()` expects a `&str`, so this is the \"real\"\n // output buffer. When decoding, the number of bytes in the output\n // buffer will often exceed the number of bytes in the input buffer.\n // The `result` returned by `decode_to_str()` will state whether or\n // not that happened. The contents of `buf_str` is appended to\n // `builder` and it is reused for the next iteration of the decoding\n // loop.\n //\n // As it is possible to read less than the buffer's maximum from `read()`\n // even when the end of the reader has yet to be reached, the end of\n // the reader is determined only when a `read()` call returns `0`.\n //\n // SAFETY: `buf_out` is a zero-initialized array, thus it will always\n // contain valid UTF-8.\n let buf_str = unsafe { std::str::from_utf8_unchecked_mut(&mut buf_out[..]) };\n let mut total_written = 0usize;\n loop {\n let mut total_read = 0usize;\n\n // An inner loop is necessary as it is possible that the input buffer\n // may not be completely decoded on the first `decode_to_str()` call\n // which would happen in cases where the output buffer is filled to\n // capacity.\n loop {\n let (result, read, written, ..) = decoder.decode_to_str(\n &slice[total_read..],\n &mut buf_str[total_written..],\n is_empty,\n );\n\n // These variables act as the read and write cursors of `buf` and `buf_str` respectively.\n // They are necessary in case the output buffer fills before decoding of the entire input\n // loop is complete. Otherwise, the loop would endlessly iterate over the same `buf` and\n // the data inside the output buffer would be overwritten.\n total_read += read;\n total_written += written;\n match result {\n encoding::CoderResult::InputEmpty => {\n debug_assert_eq!(slice.len(), total_read);\n break;\n }\n encoding::CoderResult::OutputFull => {\n debug_assert!(slice.len() > total_read);\n builder.append(&buf_str[..total_written]);\n total_written = 0;\n }\n }\n }\n // Once the end of the stream is reached, the output buffer is\n // flushed and the loop terminates.\n if is_empty {\n debug_assert_eq!(reader.read(&mut buf)?, 0);\n builder.append(&buf_str[..total_written]);\n break;\n }\n\n // Once the previous input has been processed and decoded, the next set of\n // data is fetched from the reader. The end of the reader is determined to\n // be when exactly `0` bytes were read from the reader, as per the invariants\n // of the `Read` trait.\n let read = reader.read(&mut buf)?;\n slice = &buf[..read];\n is_empty = read == 0;\n }\n let rope = builder.finish();\n Ok((rope, encoding, has_bom))\n}\n\npub fn read_to_string(\n reader: &mut R,\n encoding: Option<&'static Encoding>,\n) -> Result<(String, &'static Encoding, bool), Error> {\n let mut buf = [0u8; BUF_SIZE];\n\n let (encoding, has_bom, mut decoder, read) =\n read_and_detect_encoding(reader, encoding, &mut buf)?;\n\n let mut slice = &buf[..read];\n let mut is_empty = read == 0;\n let mut buf_string = String::with_capacity(buf.len());\n\n loop {\n let mut total_read = 0usize;\n\n loop {\n let (result, read, ..) =\n decoder.decode_to_string(&slice[total_read..], &mut buf_string, is_empty);\n\n total_read += read;\n\n match result {\n encoding::CoderResult::InputEmpty => {\n debug_assert_eq!(slice.len(), total_read);\n break;\n }\n encoding::CoderResult::OutputFull => {\n debug_assert!(slice.len() > total_read);\n buf_string.reserve(buf.len())\n }\n }\n }\n\n if is_empty {\n debug_assert_eq!(reader.read(&mut buf)?, 0);\n break;\n }\n\n let read = reader.read(&mut buf)?;\n slice = &buf[..read];\n is_empty = read == 0;\n }\n Ok((buf_string, encoding, has_bom))\n}\n\n/// Reads the first chunk from a Reader into the given buffer\n/// and detects the encoding.\n///\n/// By default, the encoding of the text is auto-detected by\n/// `encoding_rs` for_bom, and if it fails, from `chardetng`\n/// crate which requires sample data from the reader.\n/// As a manual override to this auto-detection is possible, the\n/// same data is read into `buf` to ensure symmetry in the upcoming\n/// loop.\nfn read_and_detect_encoding(\n reader: &mut R,\n encoding: Option<&'static Encoding>,\n buf: &mut [u8],\n) -> Result<(&'static Encoding, bool, encoding::Decoder, usize), Error> {\n let read = reader.read(buf)?;\n let is_empty = read == 0;\n let (encoding, has_bom) = encoding\n .map(|encoding| (encoding, false))\n .or_else(|| encoding::Encoding::for_bom(buf).map(|(encoding, _bom_size)| (encoding, true)))\n .unwrap_or_else(|| {\n let mut encoding_detector = chardetng::EncodingDetector::new();\n encoding_detector.feed(buf, is_empty);\n (encoding_detector.guess(None, true), false)\n });\n let decoder = encoding.new_decoder();\n\n Ok((encoding, has_bom, decoder, read))\n}\n\n// The documentation and implementation of this function should be up-to-date with\n// its sibling function, `from_reader()`.\n//\n/// Encodes the text inside `rope` into the given `encoding` and writes the\n/// encoded output into `writer.` As a `Rope` can only contain valid UTF-8,\n/// replacement characters may appear in the encoded text.\npub async fn to_writer<'a, W: tokio::io::AsyncWriteExt + Unpin + ?Sized>(\n writer: &'a mut W,\n encoding_with_bom_info: (&'static Encoding, bool),\n rope: &'a Rope,\n) -> Result<(), Error> {\n // Text inside a `Rope` is stored as non-contiguous blocks of data called\n // chunks. The absolute size of each chunk is unknown, thus it is impossible\n // to predict the end of the chunk iterator ahead of time. Instead, it is\n // determined by filtering the iterator to remove all empty chunks and then\n // appending an empty chunk to it. This is valuable for detecting when all\n // chunks in the `Rope` have been iterated over in the subsequent loop.\n let (encoding, has_bom) = encoding_with_bom_info;\n\n let iter = rope\n .chunks()\n .filter(|c| !c.is_empty())\n .chain(std::iter::once(\"\"));\n let mut buf = [0u8; BUF_SIZE];\n\n let mut total_written = if has_bom {\n apply_bom(encoding, &mut buf)\n } else {\n 0\n };\n\n let mut encoder = Encoder::from_encoding(encoding);\n\n for chunk in iter {\n let is_empty = chunk.is_empty();\n let mut total_read = 0usize;\n\n // An inner loop is necessary as it is possible that the input buffer\n // may not be completely encoded on the first `encode_from_utf8()` call\n // which would happen in cases where the output buffer is filled to\n // capacity.\n loop {\n let (result, read, written, ..) =\n encoder.encode_from_utf8(&chunk[total_read..], &mut buf[total_written..], is_empty);\n\n // These variables act as the read and write cursors of `chunk` and `buf` respectively.\n // They are necessary in case the output buffer fills before encoding of the entire input\n // loop is complete. Otherwise, the loop would endlessly iterate over the same `chunk` and\n // the data inside the output buffer would be overwritten.\n total_read += read;\n total_written += written;\n match result {\n encoding::CoderResult::InputEmpty => {\n debug_assert_eq!(chunk.len(), total_read);\n debug_assert!(buf.len() >= total_written);\n break;\n }\n encoding::CoderResult::OutputFull => {\n debug_assert!(chunk.len() > total_read);\n writer.write_all(&buf[..total_written]).await?;\n total_written = 0;\n }\n }\n }\n\n // Once the end of the iterator is reached, the output buffer is\n // flushed and the outer loop terminates.\n if is_empty {\n writer.write_all(&buf[..total_written]).await?;\n writer.flush().await?;\n break;\n }\n }\n\n Ok(())\n}\n\nfn take_with(mut_ref: &mut T, f: F)\nwhere\n T: Default,\n F: FnOnce(T) -> T,\n{\n *mut_ref = f(mem::take(mut_ref));\n}\n\nuse helix_lsp::{lsp, Client, LanguageServerName};\nuse url::Url;\n\nimpl Document {\n pub fn from(\n text: Rope,\n encoding_with_bom_info: Option<(&'static Encoding, bool)>,\n config: Arc>,\n ) -> Self {\n let (encoding, has_bom) = encoding_with_bom_info.unwrap_or((encoding::UTF_8, false));\n let line_ending = config.load().default_line_ending.into();\n let changes = ChangeSet::new(text.slice(..));\n let old_state = None;\n\n Self {\n id: DocumentId::default(),\n path: None,\n encoding,\n has_bom,\n text,\n selections: HashMap::default(),\n inlay_hints: HashMap::default(),\n inlay_hints_oudated: false,\n indent_style: DEFAULT_INDENT,\n line_ending,\n restore_cursor: false,\n syntax: None,\n language: None,\n changes,\n old_state,\n diagnostics: Vec::new(),\n version: 0,\n history: Cell::new(History::default()),\n savepoints: Vec::new(),\n last_saved_time: SystemTime::now(),\n last_saved_revision: 0,\n modified_since_accessed: false,\n language_servers: HashMap::new(),\n diff_handle: None,\n config,\n version_control_head: None,\n focused_at: std::time::Instant::now(),\n readonly: false,\n }\n }\n\n pub fn default(config: Arc>) -> Self {\n let line_ending: LineEnding = config.load().default_line_ending.into();\n let text = Rope::from(line_ending.as_str());\n Self::from(text, None, config)\n }\n\n // TODO: async fn?\n /// Create a new document from `path`. Encoding is auto-detected, but it can be manually\n /// overwritten with the `encoding` parameter.\n pub fn open(\n path: &Path,\n encoding: Option<&'static Encoding>,\n config_loader: Option>,\n config: Arc>,\n ) -> Result {\n // Open the file if it exists, otherwise assume it is a new file (and thus empty).\n let (rope, encoding, has_bom) = if path.exists() {\n let mut file =\n std::fs::File::open(path).context(format!(\"unable to open {:?}\", path))?;\n from_reader(&mut file, encoding)?\n } else {\n let line_ending: LineEnding = config.load().default_line_ending.into();\n let encoding = encoding.unwrap_or(encoding::UTF_8);\n (Rope::from(line_ending.as_str()), encoding, false)\n };\n\n let mut doc = Self::from(rope, Some((encoding, has_bom)), config);\n\n // set the path and try detecting the language\n doc.set_path(Some(path));\n if let Some(loader) = config_loader {\n doc.detect_language(loader);\n }\n\n doc.detect_indent_and_line_ending();\n\n Ok(doc)\n }\n\n /// The same as [`format`], but only returns formatting changes if auto-formatting\n /// is configured.\n pub fn auto_format(&self) -> Option>> {\n if self.language_config()?.auto_format {\n self.format()\n } else {\n None\n }\n }\n\n /// If supported, returns the changes that should be applied to this document in order\n /// to format it nicely.\n // We can't use anyhow::Result here since the output of the future has to be\n // clonable to be used as shared future. So use a custom error type.\n pub fn format(&self) -> Option>> {\n if let Some((fmt_cmd, fmt_args)) = self\n .language_config()\n .and_then(|c| c.formatter.as_ref())\n .and_then(|formatter| {\n Some((\n helix_stdx::env::which(&formatter.command).ok()?,\n &formatter.args,\n ))\n })\n {\n use std::process::Stdio;\n let text = self.text().clone();\n let mut process = tokio::process::Command::new(&fmt_cmd);\n process\n .args(fmt_args)\n .stdin(Stdio::piped())\n .stdout(Stdio::piped())\n .stderr(Stdio::piped());\n\n let formatting_future = async move {\n let mut process = process\n .spawn()\n .map_err(|e| FormatterError::SpawningFailed {\n command: fmt_cmd.to_string_lossy().into(),\n error: e.kind(),\n })?;\n {\n let mut stdin = process.stdin.take().ok_or(FormatterError::BrokenStdin)?;\n to_writer(&mut stdin, (encoding::UTF_8, false), &text)\n .await\n .map_err(|_| FormatterError::BrokenStdin)?;\n }\n\n let output = process\n .wait_with_output()\n .await\n .map_err(|_| FormatterError::WaitForOutputFailed)?;\n\n if !output.status.success() {\n if !output.stderr.is_empty() {\n let err = String::from_utf8_lossy(&output.stderr).to_string();\n log::error!(\"Formatter error: {}\", err);\n return Err(FormatterError::NonZeroExitStatus(Some(err)));\n }\n\n return Err(FormatterError::NonZeroExitStatus(None));\n } else if !output.stderr.is_empty() {\n log::debug!(\n \"Formatter printed to stderr: {}\",\n String::from_utf8_lossy(&output.stderr).to_string()\n );\n }\n\n let str = std::str::from_utf8(&output.stdout)\n .map_err(|_| FormatterError::InvalidUtf8Output)?;\n\n Ok(helix_core::diff::compare_ropes(&text, &Rope::from(str)))\n };\n return Some(formatting_future.boxed());\n };\n\n let text = self.text.clone();\n // finds first language server that supports formatting and then formats\n let language_server = self\n .language_servers_with_feature(LanguageServerFeature::Format)\n .next()?;\n let offset_encoding = language_server.offset_encoding();\n let request = language_server.text_document_formatting(\n self.identifier(),\n lsp::FormattingOptions {\n tab_size: self.tab_width() as u32,\n insert_spaces: matches!(self.indent_style, IndentStyle::Spaces(_)),\n ..Default::default()\n },\n None,\n )?;\n\n let fut = async move {\n let edits = request.await.unwrap_or_else(|e| {\n log::warn!(\"LSP formatting failed: {}\", e);\n Default::default()\n });\n Ok(helix_lsp::util::generate_transaction_from_edits(\n &text,\n edits,\n offset_encoding,\n ))\n };\n Some(fut.boxed())\n }\n\n pub fn save>(\n &mut self,\n path: Option

,\n force: bool,\n ) -> Result<\n impl Future> + 'static + Send,\n anyhow::Error,\n > {\n let path = path.map(|path| path.into());\n self.save_impl(path, force)\n\n // futures_util::future::Ready<_>,\n }\n\n /// The `Document`'s text is encoded according to its encoding and written to the file located\n /// at its `path()`.\n fn save_impl(\n &mut self,\n path: Option,\n force: bool,\n ) -> Result<\n impl Future> + 'static + Send,\n anyhow::Error,\n > {\n log::debug!(\n \"submitting save of doc '{:?}'\",\n self.path().map(|path| path.to_string_lossy())\n );\n\n // we clone and move text + path into the future so that we asynchronously save the current\n // state without blocking any further edits.\n let text = self.text().clone();\n\n let path = match path {\n Some(path) => helix_stdx::path::canonicalize(path),\n None => {\n if self.path.is_none() {\n bail!(\"Can't save with no path set!\");\n }\n self.path.as_ref().unwrap().clone()\n }\n };\n\n let identifier = self.path().map(|_| self.identifier());\n let language_servers = self.language_servers.clone();\n\n // mark changes up to now as saved\n let current_rev = self.get_current_revision();\n let doc_id = self.id();\n\n let encoding_with_bom_info = (self.encoding, self.has_bom);\n let last_saved_time = self.last_saved_time;\n\n // We encode the file according to the `Document`'s encoding.\n let future = async move {\n use tokio::{fs, fs::File};\n if let Some(parent) = path.parent() {\n // TODO: display a prompt asking the user if the directories should be created\n if !parent.exists() {\n if force {\n std::fs::DirBuilder::new().recursive(true).create(parent)?;\n } else {\n bail!(\"can't save file, parent directory does not exist (use :w! to create it)\");\n }\n }\n }\n\n // Protect against overwriting changes made externally\n if !force {\n if let Ok(metadata) = fs::metadata(&path).await {\n if let Ok(mtime) = metadata.modified() {\n if last_saved_time < mtime {\n bail!(\"file modified by an external process, use :w! to overwrite\");\n }\n }\n }\n }\n\n let mut file = File::create(&path).await?;\n to_writer(&mut file, encoding_with_bom_info, &text).await?;\n\n let event = DocumentSavedEvent {\n revision: current_rev,\n doc_id,\n path,\n text: text.clone(),\n };\n\n for (_, language_server) in language_servers {\n if !language_server.is_initialized() {\n return Ok(event);\n }\n if let Some(identifier) = &identifier {\n if let Some(notification) =\n language_server.text_document_did_save(identifier.clone(), &text)\n {\n notification.await?;\n }\n }\n }\n\n Ok(event)\n };\n\n Ok(future)\n }\n\n /// Detect the programming language based on the file type.\n pub fn detect_language(&mut self, config_loader: Arc) {\n self.set_language(\n self.detect_language_config(&config_loader),\n Some(config_loader),\n );\n }\n\n /// Detect the programming language based on the file type.\n pub fn detect_language_config(\n &self,\n config_loader: &syntax::Loader,\n ) -> Option> {\n config_loader\n .language_config_for_file_name(self.path.as_ref()?)\n .or_else(|| config_loader.language_config_for_shebang(self.text().slice(..)))\n }\n\n /// Detect the indentation used in the file, or otherwise defaults to the language indentation\n /// configured in `languages.toml`, with a fallback to tabs if it isn't specified. Line ending\n /// is likewise auto-detected, and will remain unchanged if no line endings were detected.\n pub fn detect_indent_and_line_ending(&mut self) {\n self.indent_style = auto_detect_indent_style(&self.text).unwrap_or_else(|| {\n self.language_config()\n .and_then(|config| config.indent.as_ref())\n .map_or(DEFAULT_INDENT, |config| IndentStyle::from_str(&config.unit))\n });\n if let Some(line_ending) = auto_detect_line_ending(&self.text) {\n self.line_ending = line_ending;\n }\n }\n\n #[cfg(unix)]\n // Detect if the file is readonly and change the readonly field if necessary (unix only)\n pub fn detect_readonly(&mut self) {\n use rustix::fs::{access, Access};\n // Allows setting the flag for files the user cannot modify, like root files\n self.readonly = match &self.path {\n None => false,\n Some(p) => match access(p, Access::WRITE_OK) {\n Ok(_) => false,\n Err(err) if err.kind() == std::io::ErrorKind::NotFound => false,\n Err(_) => true,\n },\n };\n }\n\n #[cfg(not(unix))]\n // Detect if the file is readonly and change the readonly field if necessary (non-unix os)\n pub fn detect_readonly(&mut self) {\n // TODO Use the Windows' function `CreateFileW` to check if a file is readonly\n // Discussion: https://github.com/helix-editor/helix/pull/7740#issuecomment-1656806459\n // Vim implementation: https://github.com/vim/vim/blob/4c0089d696b8d1d5dc40568f25ea5738fa5bbffb/src/os_win32.c#L7665\n // Windows binding: https://microsoft.github.io/windows-docs-rs/doc/windows/Win32/Storage/FileSystem/fn.CreateFileW.html\n self.readonly = match &self.path {\n None => false,\n Some(p) => match std::fs::metadata(p) {\n Err(err) if err.kind() == std::io::ErrorKind::NotFound => false,\n Err(_) => false,\n Ok(metadata) => metadata.permissions().readonly(),\n },\n };\n }\n\n /// Reload the document from its path.\n pub fn reload(\n &mut self,\n view: &mut View,\n provider_registry: &DiffProviderRegistry,\n ) -> Result<(), Error> {\n let encoding = self.encoding;\n let path = self\n .path()\n .filter(|path| path.exists())\n .ok_or_else(|| anyhow!(\"can't find file to reload from {:?}\", self.display_name()))?\n .to_owned();\n\n // Once we have a valid path we check if its readonly status has changed\n self.detect_readonly();\n\n let mut file = std::fs::File::open(&path)?;\n let (rope, ..) = from_reader(&mut file, Some(encoding))?;\n\n // Calculate the difference between the buffer and source text, and apply it.\n // This is not considered a modification of the contents of the file regardless\n // of the encoding.\n let transaction = helix_core::diff::compare_ropes(self.text(), &rope);\n self.apply(&transaction, view.id);\n self.append_changes_to_history(view);\n self.reset_modified();\n\n self.last_saved_time = SystemTime::now();\n\n self.detect_indent_and_line_ending();\n\n match provider_registry.get_diff_base(&path) {\n Some(diff_base) => self.set_diff_base(diff_base),\n None => self.diff_handle = None,\n }\n\n self.version_control_head = provider_registry.get_current_head_name(&path);\n\n Ok(())\n }\n\n /// Sets the [`Document`]'s encoding with the encoding correspondent to `label`.\n pub fn set_encoding(&mut self, label: &str) -> Result<(), Error> {\n let encoding =\n Encoding::for_label(label.as_bytes()).ok_or_else(|| anyhow!(\"unknown encoding\"))?;\n\n self.encoding = encoding;\n\n Ok(())\n }\n\n /// Returns the [`Document`]'s current encoding.\n pub fn encoding(&self) -> &'static Encoding {\n self.encoding\n }\n\n pub fn set_path(&mut self, path: Option<&Path>) {\n let path = path.map(helix_stdx::path::canonicalize);\n\n // if parent doesn't exist we still want to open the document\n // and error out when document is saved\n self.path = path;\n\n self.detect_readonly();\n }\n\n /// Set the programming language for the file and load associated data (e.g. highlighting)\n /// if it exists.\n pub fn set_language(\n &mut self,\n language_config: Option>,\n loader: Option>,\n ) {\n if let (Some(language_config), Some(loader)) = (language_config, loader) {\n if let Some(highlight_config) = language_config.highlight_config(&loader.scopes()) {\n self.syntax = Syntax::new(self.text.slice(..), highlight_config, loader);\n }\n\n self.language = Some(language_config);\n } else {\n self.syntax = None;\n self.language = None;\n };\n }\n\n /// Set the programming language for the file if you know the language but don't have the\n /// [`syntax::LanguageConfiguration`] for it.\n pub fn set_language_by_language_id(\n &mut self,\n language_id: &str,\n config_loader: Arc,\n ) -> anyhow::Result<()> {\n let language_config = config_loader\n .language_config_for_language_id(language_id)\n .ok_or_else(|| anyhow!(\"invalid language id: {}\", language_id))?;\n self.set_language(Some(language_config), Some(config_loader));\n Ok(())\n }\n\n /// Select text within the [`Document`].\n pub fn set_selection(&mut self, view_id: ViewId, selection: Selection) {\n // TODO: use a transaction?\n self.selections\n .insert(view_id, selection.ensure_invariants(self.text().slice(..)));\n helix_event::dispatch(SelectionDidChange {\n doc: self,\n view: view_id,\n })\n }\n\n /// Find the origin selection of the text in a document, i.e. where\n /// a single cursor would go if it were on the first grapheme. If\n /// the text is empty, returns (0, 0).\n pub fn origin(&self) -> Range {\n if self.text().len_chars() == 0 {\n return Range::new(0, 0);\n }\n\n Range::new(0, 1).grapheme_aligned(self.text().slice(..))\n }\n\n /// Reset the view's selection on this document to the\n /// [origin](Document::origin) cursor.\n pub fn reset_selection(&mut self, view_id: ViewId) {\n let origin = self.origin();\n self.set_selection(view_id, Selection::single(origin.anchor, origin.head));\n }\n\n /// Initializes a new selection for the given view if it does not\n /// already have one.\n pub fn ensure_view_init(&mut self, view_id: ViewId) {\n if self.selections.get(&view_id).is_none() {\n self.reset_selection(view_id);\n }\n }\n\n /// Mark document as recent used for MRU sorting\n pub fn mark_as_focused(&mut self) {\n self.focused_at = std::time::Instant::now();\n }\n\n /// Remove a view's selection and inlay hints from this document.\n pub fn remove_view(&mut self, view_id: ViewId) {\n self.selections.remove(&view_id);\n self.inlay_hints.remove(&view_id);\n }\n\n /// Apply a [`Transaction`] to the [`Document`] to change its text.\n fn apply_impl(\n &mut self,\n transaction: &Transaction,\n view_id: ViewId,\n emit_lsp_notification: bool,\n ) -> bool {\n use helix_core::Assoc;\n\n let old_doc = self.text().clone();\n\n let success = transaction.changes().apply(&mut self.text);\n\n if success {\n if emit_lsp_notification {\n helix_event::dispatch(DocumentDidChange {\n doc: self,\n view: view_id,\n old_text: &old_doc,\n });\n }\n\n for selection in self.selections.values_mut() {\n *selection = selection\n .clone()\n // Map through changes\n .map(transaction.changes())\n // Ensure all selections across all views still adhere to invariants.\n .ensure_invariants(self.text.slice(..));\n }\n\n // if specified, the current selection should instead be replaced by transaction.selection\n if let Some(selection) = transaction.selection() {\n self.selections.insert(\n view_id,\n selection.clone().ensure_invariants(self.text.slice(..)),\n );\n helix_event::dispatch(SelectionDidChange {\n doc: self,\n view: view_id,\n });\n }\n\n self.modified_since_accessed = true;\n }\n\n if !transaction.changes().is_empty() {\n self.version += 1;\n // start computing the diff in parallel\n if let Some(diff_handle) = &self.diff_handle {\n diff_handle.update_document(self.text.clone(), false);\n }\n\n // generate revert to savepoint\n if !self.savepoints.is_empty() {\n let revert = transaction.invert(&old_doc);\n self.savepoints\n .retain_mut(|save_point| match save_point.upgrade() {\n Some(savepoint) => {\n let mut revert_to_savepoint = savepoint.revert.lock();\n *revert_to_savepoint =\n revert.clone().compose(mem::take(&mut revert_to_savepoint));\n true\n }\n None => false,\n })\n }\n\n // update tree-sitter syntax tree\n if let Some(syntax) = &mut self.syntax {\n // TODO: no unwrap\n let res = syntax.update(\n old_doc.slice(..),\n self.text.slice(..),\n transaction.changes(),\n );\n if res.is_err() {\n log::error!(\"TS parser failed, disabling TS for the current buffer: {res:?}\");\n self.syntax = None;\n }\n }\n\n let changes = transaction.changes();\n\n // map diagnostics over changes too\n changes.update_positions(self.diagnostics.iter_mut().map(|diagnostic| {\n let assoc = if diagnostic.starts_at_word {\n Assoc::BeforeWord\n } else {\n Assoc::After\n };\n (&mut diagnostic.range.start, assoc)\n }));\n changes.update_positions(self.diagnostics.iter_mut().filter_map(|diagnostic| {\n if diagnostic.zero_width {\n // for zero width diagnostics treat the diagnostic as a point\n // rather than a range\n return None;\n }\n let assoc = if diagnostic.ends_at_word {\n Assoc::AfterWord\n } else {\n Assoc::Before\n };\n Some((&mut diagnostic.range.end, assoc))\n }));\n self.diagnostics.retain_mut(|diagnostic| {\n if diagnostic.zero_width {\n diagnostic.range.end = diagnostic.range.start\n } else if diagnostic.range.start >= diagnostic.range.end {\n return false;\n }\n diagnostic.line = self.text.char_to_line(diagnostic.range.start);\n true\n });\n\n self.diagnostics.sort_unstable_by_key(|diagnostic| {\n (\n diagnostic.range,\n diagnostic.severity,\n diagnostic.language_server_id,\n )\n });\n\n // Update the inlay hint annotations' positions, helping ensure they are displayed in the proper place\n let apply_inlay_hint_changes = |annotations: &mut Rc<[InlineAnnotation]>| {\n if let Some(data) = Rc::get_mut(annotations) {\n changes.update_positions(\n data.iter_mut()\n .map(|annotation| (&mut annotation.char_idx, Assoc::After)),\n );\n }\n };\n\n self.inlay_hints_oudated = true;\n for text_annotation in self.inlay_hints.values_mut() {\n let DocumentInlayHints {\n id: _,\n type_inlay_hints,\n parameter_inlay_hints,\n other_inlay_hints,\n padding_before_inlay_hints,\n padding_after_inlay_hints,\n } = text_annotation;\n\n apply_inlay_hint_changes(padding_before_inlay_hints);\n apply_inlay_hint_changes(type_inlay_hints);\n apply_inlay_hint_changes(parameter_inlay_hints);\n apply_inlay_hint_changes(other_inlay_hints);\n apply_inlay_hint_changes(padding_after_inlay_hints);\n }\n\n if emit_lsp_notification {\n // TODO: move to hook\n // emit lsp notification\n for language_server in self.language_servers() {\n let notify = language_server.text_document_did_change(\n self.versioned_identifier(),\n &old_doc,\n self.text(),\n changes,\n );\n\n if let Some(notify) = notify {\n tokio::spawn(notify);\n }\n }\n }\n }\n success\n }\n\n fn apply_inner(\n &mut self,\n transaction: &Transaction,\n view_id: ViewId,\n emit_lsp_notification: bool,\n ) -> bool {\n // store the state just before any changes are made. This allows us to undo to the\n // state just before a transaction was applied.\n if self.changes.is_empty() && !transaction.changes().is_empty() {\n self.old_state = Some(State {\n doc: self.text.clone(),\n selection: self.selection(view_id).clone(),\n });\n }\n\n let success = self.apply_impl(transaction, view_id, emit_lsp_notification);\n\n if !transaction.changes().is_empty() {\n // Compose this transaction with the previous one\n take_with(&mut self.changes, |changes| {\n changes.compose(transaction.changes().clone())\n });\n }\n success\n }\n /// Apply a [`Transaction`] to the [`Document`] to change its text.\n pub fn apply(&mut self, transaction: &Transaction, view_id: ViewId) -> bool {\n self.apply_inner(transaction, view_id, true)\n }\n\n /// Apply a [`Transaction`] to the [`Document`] to change its text\n /// without notifying the language servers. This is useful for temporary transactions\n /// that must not influence the server.\n pub fn apply_temporary(&mut self, transaction: &Transaction, view_id: ViewId) -> bool {\n self.apply_inner(transaction, view_id, false)\n }\n\n fn undo_redo_impl(&mut self, view: &mut View, undo: bool) -> bool {\n let mut history = self.history.take();\n let txn = if undo { history.undo() } else { history.redo() };\n let success = if let Some(txn) = txn {\n self.apply_impl(txn, view.id, true)\n } else {\n false\n };\n self.history.set(history);\n\n if success {\n // reset changeset to fix len\n self.changes = ChangeSet::new(self.text().slice(..));\n // Sync with changes with the jumplist selections.\n view.sync_changes(self);\n }\n success\n }\n\n /// Undo the last modification to the [`Document`]. Returns whether the undo was successful.\n pub fn undo(&mut self, view: &mut View) -> bool {\n self.undo_redo_impl(view, true)\n }\n\n /// Redo the last modification to the [`Document`]. Returns whether the redo was successful.\n pub fn redo(&mut self, view: &mut View) -> bool {\n self.undo_redo_impl(view, false)\n }\n\n /// Creates a reference counted snapshot (called savpepoint) of the document.\n ///\n /// The snapshot will remain valid (and updated) idenfinitly as long as ereferences to it exist.\n /// Restoring the snapshot will restore the selection and the contents of the document to\n /// the state it had when this function was called.\n pub fn savepoint(&mut self, view: &View) -> Arc {\n let revert = Transaction::new(self.text()).with_selection(self.selection(view.id).clone());\n // check if there is already an existing (identical) savepoint around\n if let Some(savepoint) = self\n .savepoints\n .iter()\n .rev()\n .find_map(|savepoint| savepoint.upgrade())\n {\n let transaction = savepoint.revert.lock();\n if savepoint.view == view.id\n && transaction.changes().is_empty()\n && transaction.selection() == revert.selection()\n {\n drop(transaction);\n return savepoint;\n }\n }\n let savepoint = Arc::new(SavePoint {\n view: view.id,\n revert: Mutex::new(revert),\n });\n self.savepoints.push(Arc::downgrade(&savepoint));\n savepoint\n }\n\n pub fn restore(&mut self, view: &mut View, savepoint: &SavePoint, emit_lsp_notification: bool) {\n assert_eq!(\n savepoint.view, view.id,\n \"Savepoint must not be used with a different view!\"\n );\n // search and remove savepoint using a ptr comparison\n // this avoids a deadlock as we need to lock the mutex\n let savepoint_idx = self\n .savepoints\n .iter()\n .position(|savepoint_ref| savepoint_ref.as_ptr() == savepoint as *const _)\n .expect(\"Savepoint must belong to this document\");\n\n let savepoint_ref = self.savepoints.remove(savepoint_idx);\n let mut revert = savepoint.revert.lock();\n self.apply_inner(&revert, view.id, emit_lsp_notification);\n *revert = Transaction::new(self.text()).with_selection(self.selection(view.id).clone());\n self.savepoints.push(savepoint_ref)\n }\n\n fn earlier_later_impl(&mut self, view: &mut View, uk: UndoKind, earlier: bool) -> bool {\n let txns = if earlier {\n self.history.get_mut().earlier(uk)\n } else {\n self.history.get_mut().later(uk)\n };\n let mut success = false;\n for txn in txns {\n if self.apply_impl(&txn, view.id, true) {\n success = true;\n }\n }\n if success {\n // reset changeset to fix len\n self.changes = ChangeSet::new(self.text().slice(..));\n // Sync with changes with the jumplist selections.\n view.sync_changes(self);\n }\n success\n }\n\n /// Undo modifications to the [`Document`] according to `uk`.\n pub fn earlier(&mut self, view: &mut View, uk: UndoKind) -> bool {\n self.earlier_later_impl(view, uk, true)\n }\n\n /// Redo modifications to the [`Document`] according to `uk`.\n pub fn later(&mut self, view: &mut View, uk: UndoKind) -> bool {\n self.earlier_later_impl(view, uk, false)\n }\n\n /// Commit pending changes to history\n pub fn append_changes_to_history(&mut self, view: &mut View) {\n if self.changes.is_empty() {\n return;\n }\n\n let new_changeset = ChangeSet::new(self.text().slice(..));\n let changes = std::mem::replace(&mut self.changes, new_changeset);\n // Instead of doing this messy merge we could always commit, and based on transaction\n // annotations either add a new layer or compose into the previous one.\n let transaction =\n Transaction::from(changes).with_selection(self.selection(view.id).clone());\n\n // HAXX: we need to reconstruct the state as it was before the changes..\n let old_state = self.old_state.take().expect(\"no old_state available\");\n\n let mut history = self.history.take();\n history.commit_revision(&transaction, &old_state);\n self.history.set(history);\n\n // Update jumplist entries in the view.\n view.apply(&transaction, self);\n }\n\n pub fn id(&self) -> DocumentId {\n self.id\n }\n\n /// If there are unsaved modifications.\n pub fn is_modified(&self) -> bool {\n let history = self.history.take();\n let current_revision = history.current_revision();\n self.history.set(history);\n log::debug!(\n \"id {} modified - last saved: {}, current: {}\",\n self.id,\n self.last_saved_revision,\n current_revision\n );\n current_revision != self.last_saved_revision || !self.changes.is_empty()\n }\n\n /// Save modifications to history, and so [`Self::is_modified`] will return false.\n pub fn reset_modified(&mut self) {\n let history = self.history.take();\n let current_revision = history.current_revision();\n self.history.set(history);\n self.last_saved_revision = current_revision;\n }\n\n /// Set the document's latest saved revision to the given one.\n pub fn set_last_saved_revision(&mut self, rev: usize) {\n log::debug!(\n \"doc {} revision updated {} -> {}\",\n self.id,\n self.last_saved_revision,\n rev\n );\n self.last_saved_revision = rev;\n self.last_saved_time = SystemTime::now();\n }\n\n /// Get the document's latest saved revision.\n pub fn get_last_saved_revision(&mut self) -> usize {\n self.last_saved_revision\n }\n\n /// Get the current revision number\n pub fn get_current_revision(&mut self) -> usize {\n let history = self.history.take();\n let current_revision = history.current_revision();\n self.history.set(history);\n current_revision\n }\n\n /// Corresponding language scope name. Usually `source.`.\n pub fn language_scope(&self) -> Option<&str> {\n self.language\n .as_ref()\n .map(|language| language.scope.as_str())\n }\n\n /// Language name for the document. Corresponds to the `name` key in\n /// `languages.toml` configuration.\n pub fn language_name(&self) -> Option<&str> {\n self.language\n .as_ref()\n .map(|language| language.language_id.as_str())\n }\n\n /// Language ID for the document. Either the `language-id`,\n /// or the document language name if no `language-id` has been specified.\n pub fn language_id(&self) -> Option<&str> {\n self.language_config()?\n .language_server_language_id\n .as_deref()\n .or_else(|| self.language_name())\n }\n\n /// Corresponding [`LanguageConfiguration`].\n pub fn language_config(&self) -> Option<&LanguageConfiguration> {\n self.language.as_deref()\n }\n\n /// Current document version, incremented at each change.\n pub fn version(&self) -> i32 {\n self.version\n }\n\n /// maintains the order as configured in the language_servers TOML array\n pub fn language_servers(&self) -> impl Iterator {\n self.language_config().into_iter().flat_map(move |config| {\n config.language_servers.iter().filter_map(move |features| {\n let ls = &**self.language_servers.get(&features.name)?;\n if ls.is_initialized() {\n Some(ls)\n } else {\n None\n }\n })\n })\n }\n\n pub fn remove_language_server_by_name(&mut self, name: &str) -> Option> {\n self.language_servers.remove(name)\n }\n\n pub fn language_servers_with_feature(\n &self,\n feature: LanguageServerFeature,\n ) -> impl Iterator {\n self.language_config().into_iter().flat_map(move |config| {\n config.language_servers.iter().filter_map(move |features| {\n let ls = &**self.language_servers.get(&features.name)?;\n if ls.is_initialized()\n && ls.supports_feature(feature)\n && features.has_feature(feature)\n {\n Some(ls)\n } else {\n None\n }\n })\n })\n }\n\n pub fn supports_language_server(&self, id: usize) -> bool {\n self.language_servers().any(|l| l.id() == id)\n }\n\n pub fn diff_handle(&self) -> Option<&DiffHandle> {\n self.diff_handle.as_ref()\n }\n\n /// Intialize/updates the differ for this document with a new base.\n pub fn set_diff_base(&mut self, diff_base: Vec) {\n if let Ok((diff_base, ..)) = from_reader(&mut diff_base.as_slice(), Some(self.encoding)) {\n if let Some(differ) = &self.diff_handle {\n differ.update_diff_base(diff_base);\n return;\n }\n self.diff_handle = Some(DiffHandle::new(diff_base, self.text.clone()))\n } else {\n self.diff_handle = None;\n }\n }\n\n pub fn version_control_head(&self) -> Option>> {\n self.version_control_head.as_ref().map(|a| a.load_full())\n }\n\n pub fn set_version_control_head(\n &mut self,\n version_control_head: Option>>>,\n ) {\n self.version_control_head = version_control_head;\n }\n\n #[inline]\n /// Tree-sitter AST tree\n pub fn syntax(&self) -> Option<&Syntax> {\n self.syntax.as_ref()\n }\n\n /// The width that the tab character is rendered at\n pub fn tab_width(&self) -> usize {\n self.language_config()\n .and_then(|config| config.indent.as_ref())\n .map_or(4, |config| config.tab_width) // fallback to 4 columns\n }\n\n // The width (in spaces) of a level of indentation.\n pub fn indent_width(&self) -> usize {\n self.indent_style.indent_width(self.tab_width())\n }\n\n pub fn changes(&self) -> &ChangeSet {\n &self.changes\n }\n\n #[inline]\n /// File path on disk.\n pub fn path(&self) -> Option<&PathBuf> {\n self.path.as_ref()\n }\n\n /// File path as a URL.\n pub fn url(&self) -> Option {\n Url::from_file_path(self.path()?).ok()\n }\n\n #[inline]\n pub fn text(&self) -> &Rope {\n &self.text\n }\n\n #[inline]\n pub fn selection(&self, view_id: ViewId) -> &Selection {\n &self.selections[&view_id]\n }\n\n #[inline]\n pub fn selections(&self) -> &HashMap {\n &self.selections\n }\n\n pub fn relative_path(&self) -> Option {\n self.path\n .as_deref()\n .map(helix_stdx::path::get_relative_path)\n }\n\n pub fn display_name(&self) -> Cow<'static, str> {\n self.relative_path()\n .map(|path| path.to_string_lossy().to_string().into())\n .unwrap_or_else(|| SCRATCH_BUFFER_NAME.into())\n }\n\n // transact(Fn) ?\n\n // -- LSP methods\n\n #[inline]\n pub fn identifier(&self) -> lsp::TextDocumentIdentifier {\n lsp::TextDocumentIdentifier::new(self.url().unwrap())\n }\n\n pub fn versioned_identifier(&self) -> lsp::VersionedTextDocumentIdentifier {\n lsp::VersionedTextDocumentIdentifier::new(self.url().unwrap(), self.version)\n }\n\n pub fn position(\n &self,\n view_id: ViewId,\n offset_encoding: helix_lsp::OffsetEncoding,\n ) -> lsp::Position {\n let text = self.text();\n\n helix_lsp::util::pos_to_lsp_pos(\n text,\n self.selection(view_id).primary().cursor(text.slice(..)),\n offset_encoding,\n )\n }\n\n pub fn lsp_diagnostic_to_diagnostic(\n text: &Rope,\n language_config: Option<&LanguageConfiguration>,\n diagnostic: &helix_lsp::lsp::Diagnostic,\n language_server_id: usize,\n offset_encoding: helix_lsp::OffsetEncoding,\n ) -> Option {\n use helix_core::diagnostic::{Range, Severity::*};\n\n // TODO: convert inside server\n let start =\n if let Some(start) = lsp_pos_to_pos(text, diagnostic.range.start, offset_encoding) {\n start\n } else {\n log::warn!(\"lsp position out of bounds - {:?}\", diagnostic);\n return None;\n };\n\n let end = if let Some(end) = lsp_pos_to_pos(text, diagnostic.range.end, offset_encoding) {\n end\n } else {\n log::warn!(\"lsp position out of bounds - {:?}\", diagnostic);\n return None;\n };\n\n let severity = diagnostic.severity.map(|severity| match severity {\n lsp::DiagnosticSeverity::ERROR => Error,\n lsp::DiagnosticSeverity::WARNING => Warning,\n lsp::DiagnosticSeverity::INFORMATION => Info,\n lsp::DiagnosticSeverity::HINT => Hint,\n severity => unreachable!(\"unrecognized diagnostic severity: {:?}\", severity),\n });\n\n if let Some(lang_conf) = language_config {\n if let Some(severity) = severity {\n if severity < lang_conf.diagnostic_severity {\n return None;\n }\n }\n };\n use helix_core::diagnostic::{DiagnosticTag, NumberOrString};\n\n let code = match diagnostic.code.clone() {\n Some(x) => match x {\n lsp::NumberOrString::Number(x) => Some(NumberOrString::Number(x)),\n lsp::NumberOrString::String(x) => Some(NumberOrString::String(x)),\n },\n None => None,\n };\n\n let tags = if let Some(tags) = &diagnostic.tags {\n let new_tags = tags\n .iter()\n .filter_map(|tag| match *tag {\n lsp::DiagnosticTag::DEPRECATED => Some(DiagnosticTag::Deprecated),\n lsp::DiagnosticTag::UNNECESSARY => Some(DiagnosticTag::Unnecessary),\n _ => None,\n })\n .collect();\n\n new_tags\n } else {\n Vec::new()\n };\n\n let ends_at_word =\n start != end && end != 0 && text.get_char(end - 1).map_or(false, char_is_word);\n let starts_at_word = start != end && text.get_char(start).map_or(false, char_is_word);\n\n Some(Diagnostic {\n range: Range { start, end },\n ends_at_word,\n starts_at_word,\n zero_width: start == end,\n line: diagnostic.range.start.line as usize,\n message: diagnostic.message.clone(),\n severity,\n code,\n tags,\n source: diagnostic.source.clone(),\n data: diagnostic.data.clone(),\n language_server_id,\n })\n }\n\n #[inline]\n pub fn diagnostics(&self) -> &[Diagnostic] {\n &self.diagnostics\n }\n\n pub fn replace_diagnostics(\n &mut self,\n diagnostics: impl IntoIterator,\n unchanged_sources: &[String],\n language_server_id: Option,\n ) {\n if unchanged_sources.is_empty() {\n self.clear_diagnostics(language_server_id);\n } else {\n self.diagnostics.retain(|d| {\n if language_server_id.map_or(false, |id| id != d.language_server_id) {\n return true;\n }\n\n if let Some(source) = &d.source {\n unchanged_sources.contains(source)\n } else {\n false\n }\n });\n }\n self.diagnostics.extend(diagnostics);\n self.diagnostics.sort_unstable_by_key(|diagnostic| {\n (\n diagnostic.range,\n diagnostic.severity,\n diagnostic.language_server_id,\n )\n });\n }\n\n /// clears diagnostics for a given language server id if set, otherwise all diagnostics are cleared\n pub fn clear_diagnostics(&mut self, language_server_id: Option) {\n if let Some(id) = language_server_id {\n self.diagnostics.retain(|d| d.language_server_id != id);\n } else {\n self.diagnostics.clear();\n }\n }\n\n /// Get the document's auto pairs. If the document has a recognized\n /// language config with auto pairs configured, returns that;\n /// otherwise, falls back to the global auto pairs config. If the global\n /// config is false, then ignore language settings.\n pub fn auto_pairs<'a>(&'a self, editor: &'a Editor) -> Option<&'a AutoPairs> {\n let global_config = (editor.auto_pairs).as_ref();\n\n // NOTE: If the user specifies the global auto pairs config as false, then\n // we want to disable it globally regardless of language settings\n #[allow(clippy::question_mark)]\n {\n if global_config.is_none() {\n return None;\n }\n }\n\n match &self.language {\n Some(lang) => lang.as_ref().auto_pairs.as_ref().or(global_config),\n None => global_config,\n }\n }\n\n pub fn text_format(&self, mut viewport_width: u16, theme: Option<&Theme>) -> TextFormat {\n let config = self.config.load();\n let text_width = self\n .language_config()\n .and_then(|config| config.text_width)\n .unwrap_or(config.text_width);\n let soft_wrap_at_text_width = self\n .language_config()\n .and_then(|config| {\n config\n .soft_wrap\n .as_ref()\n .and_then(|soft_wrap| soft_wrap.wrap_at_text_width)\n })\n .or(config.soft_wrap.wrap_at_text_width)\n .unwrap_or(false);\n if soft_wrap_at_text_width {\n // We increase max_line_len by 1 because softwrap considers the newline character\n // as part of the line length while the \"typical\" expectation is that this is not the case.\n // In particular other commands like :reflow do not count the line terminator.\n // This is technically inconsistent for the last line as that line never has a line terminator\n // but having the last visual line exceed the width by 1 seems like a rare edge case.\n viewport_width = viewport_width.min(text_width as u16 + 1)\n }\n let config = self.config.load();\n let editor_soft_wrap = &config.soft_wrap;\n let language_soft_wrap = self\n .language\n .as_ref()\n .and_then(|config| config.soft_wrap.as_ref());\n let enable_soft_wrap = language_soft_wrap\n .and_then(|soft_wrap| soft_wrap.enable)\n .or(editor_soft_wrap.enable)\n .unwrap_or(false);\n let max_wrap = language_soft_wrap\n .and_then(|soft_wrap| soft_wrap.max_wrap)\n .or(config.soft_wrap.max_wrap)\n .unwrap_or(20);\n let max_indent_retain = language_soft_wrap\n .and_then(|soft_wrap| soft_wrap.max_indent_retain)\n .or(editor_soft_wrap.max_indent_retain)\n .unwrap_or(40);\n let wrap_indicator = language_soft_wrap\n .and_then(|soft_wrap| soft_wrap.wrap_indicator.clone())\n .or_else(|| config.soft_wrap.wrap_indicator.clone())\n .unwrap_or_else(|| \"↪ \".into());\n let tab_width = self.tab_width() as u16;\n TextFormat {\n soft_wrap: enable_soft_wrap && viewport_width > 10,\n tab_width,\n max_wrap: max_wrap.min(viewport_width / 4),\n max_indent_retain: max_indent_retain.min(viewport_width * 2 / 5),\n // avoid spinning forever when the window manager\n // sets the size to something tiny\n viewport_width,\n wrap_indicator: wrap_indicator.into_boxed_str(),\n wrap_indicator_highlight: theme\n .and_then(|theme| theme.find_scope_index(\"ui.virtual.wrap\"))\n .map(Highlight),\n }\n }\n\n /// Get the text annotations that apply to the whole document, those that do not apply to any\n /// specific view.\n pub fn text_annotations(&self, _theme: Option<&Theme>) -> TextAnnotations {\n TextAnnotations::default()\n }\n\n /// Set the inlay hints for this document and `view_id`.\n pub fn set_inlay_hints(&mut self, view_id: ViewId, inlay_hints: DocumentInlayHints) {\n self.inlay_hints.insert(view_id, inlay_hints);\n }\n\n /// Get the inlay hints for this document and `view_id`.\n pub fn inlay_hints(&self, view_id: ViewId) -> Option<&DocumentInlayHints> {\n self.inlay_hints.get(&view_id)\n }\n\n /// Completely removes all the inlay hints saved for the document, dropping them to free memory\n /// (since it often means inlay hints have been fully deactivated).\n pub fn reset_all_inlay_hints(&mut self) {\n self.inlay_hints = Default::default();\n }\n}\n\n#[derive(Clone, Debug)]\npub enum FormatterError {\n SpawningFailed {\n command: String,\n error: std::io::ErrorKind,\n },\n BrokenStdin,\n WaitForOutputFailed,\n InvalidUtf8Output,\n DiskReloadError(String),\n NonZeroExitStatus(Option),\n}\n\nimpl std::error::Error for FormatterError {}\n\nimpl Display for FormatterError {\n fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {\n match self {\n Self::SpawningFailed { command, error } => {\n write!(f, \"Failed to spawn formatter {}: {:?}\", command, error)\n }\n Self::BrokenStdin => write!(f, \"Could not write to formatter stdin\"),\n Self::WaitForOutputFailed => write!(f, \"Waiting for formatter output failed\"),\n Self::InvalidUtf8Output => write!(f, \"Invalid UTF-8 formatter output\"),\n Self::DiskReloadError(error) => write!(f, \"Error reloading file from disk: {}\", error),\n Self::NonZeroExitStatus(Some(output)) => write!(f, \"Formatter error: {}\", output),\n Self::NonZeroExitStatus(None) => {\n write!(f, \"Formatter exited with non zero exit status\")\n }\n }\n }\n}\n\n#[cfg(test)]\nmod test {\n use arc_swap::ArcSwap;\n\n use super::*;\n\n #[test]\n fn changeset_to_changes_ignore_line_endings() {\n use helix_lsp::{lsp, Client, OffsetEncoding};\n let text = Rope::from(\"hello\\r\\nworld\");\n let mut doc = Document::from(\n text,\n None,\n Arc::new(ArcSwap::new(Arc::new(Config::default()))),\n );\n let view = ViewId::default();\n doc.set_selection(view, Selection::single(0, 0));\n\n let transaction =\n Transaction::change(doc.text(), vec![(5, 7, Some(\"\\n\".into()))].into_iter());\n let old_doc = doc.text().clone();\n doc.apply(&transaction, view);\n let changes = Client::changeset_to_changes(\n &old_doc,\n doc.text(),\n transaction.changes(),\n OffsetEncoding::Utf8,\n );\n\n assert_eq!(doc.text(), \"hello\\nworld\");\n\n assert_eq!(\n changes,\n &[lsp::TextDocumentContentChangeEvent {\n range: Some(lsp::Range::new(\n lsp::Position::new(0, 5),\n lsp::Position::new(1, 0)\n )),\n text: \"\\n\".into(),\n range_length: None,\n }]\n );\n }\n\n #[test]\n fn changeset_to_changes() {\n use helix_lsp::{lsp, Client, OffsetEncoding};\n let text = Rope::from(\"hello\");\n let mut doc = Document::from(\n text,\n None,\n Arc::new(ArcSwap::new(Arc::new(Config::default()))),\n );\n let view = ViewId::default();\n doc.set_selection(view, Selection::single(5, 5));\n\n // insert\n\n let transaction = Transaction::insert(doc.text(), doc.selection(view), \" world\".into());\n let old_doc = doc.text().clone();\n doc.apply(&transaction, view);\n let changes = Client::changeset_to_changes(\n &old_doc,\n doc.text(),\n transaction.changes(),\n OffsetEncoding::Utf8,\n );\n\n assert_eq!(\n changes,\n &[lsp::TextDocumentContentChangeEvent {\n range: Some(lsp::Range::new(\n lsp::Position::new(0, 5),\n lsp::Position::new(0, 5)\n )),\n text: \" world\".into(),\n range_length: None,\n }]\n );\n\n // delete\n\n let transaction = transaction.invert(&old_doc);\n let old_doc = doc.text().clone();\n doc.apply(&transaction, view);\n let changes = Client::changeset_to_changes(\n &old_doc,\n doc.text(),\n transaction.changes(),\n OffsetEncoding::Utf8,\n );\n\n // line: 0-based.\n // col: 0-based, gaps between chars.\n // 0 1 2 3 4 5 6 7 8 9 0 1\n // |h|e|l|l|o| |w|o|r|l|d|\n // -------------\n // (0, 5)-(0, 11)\n assert_eq!(\n changes,\n &[lsp::TextDocumentContentChangeEvent {\n range: Some(lsp::Range::new(\n lsp::Position::new(0, 5),\n lsp::Position::new(0, 11)\n )),\n text: \"\".into(),\n range_length: None,\n }]\n );\n\n // replace\n\n // also tests that changes are layered, positions depend on previous changes.\n\n doc.set_selection(view, Selection::single(0, 5));\n let transaction = Transaction::change(\n doc.text(),\n vec![(0, 2, Some(\"aei\".into())), (3, 5, Some(\"ou\".into()))].into_iter(),\n );\n // aeilou\n let old_doc = doc.text().clone();\n doc.apply(&transaction, view);\n let changes = Client::changeset_to_changes(\n &old_doc,\n doc.text(),\n transaction.changes(),\n OffsetEncoding::Utf8,\n );\n\n assert_eq!(\n changes,\n &[\n // 0 1 2 3 4 5\n // |h|e|l|l|o|\n // ----\n //\n // aeillo\n lsp::TextDocumentContentChangeEvent {\n range: Some(lsp::Range::new(\n lsp::Position::new(0, 0),\n lsp::Position::new(0, 2)\n )),\n text: \"aei\".into(),\n range_length: None,\n },\n // 0 1 2 3 4 5 6\n // |a|e|i|l|l|o|\n // -----\n //\n // aeilou\n lsp::TextDocumentContentChangeEvent {\n range: Some(lsp::Range::new(\n lsp::Position::new(0, 4),\n lsp::Position::new(0, 6)\n )),\n text: \"ou\".into(),\n range_length: None,\n }\n ]\n );\n }\n\n #[test]\n fn test_line_ending() {\n assert_eq!(\n Document::default(Arc::new(ArcSwap::new(Arc::new(Config::default()))))\n .text()\n .to_string(),\n helix_core::NATIVE_LINE_ENDING.as_str()\n );\n }\n\n macro_rules! decode {\n ($name:ident, $label:expr, $label_override:expr) => {\n #[test]\n fn $name() {\n let encoding = encoding::Encoding::for_label($label_override.as_bytes()).unwrap();\n let base_path = PathBuf::from(env!(\"CARGO_MANIFEST_DIR\")).join(\"tests/encoding\");\n let path = base_path.join(format!(\"{}_in.txt\", $label));\n let ref_path = base_path.join(format!(\"{}_in_ref.txt\", $label));\n assert!(path.exists());\n assert!(ref_path.exists());\n\n let mut file = std::fs::File::open(path).unwrap();\n let text = from_reader(&mut file, Some(encoding.into()))\n .unwrap()\n .0\n .to_string();\n let expectation = std::fs::read_to_string(ref_path).unwrap();\n assert_eq!(text[..], expectation[..]);\n }\n };\n ($name:ident, $label:expr) => {\n decode!($name, $label, $label);\n };\n }\n\n macro_rules! encode {\n ($name:ident, $label:expr, $label_override:expr) => {\n #[test]\n fn $name() {\n let encoding = encoding::Encoding::for_label($label_override.as_bytes()).unwrap();\n let base_path = PathBuf::from(env!(\"CARGO_MANIFEST_DIR\")).join(\"tests/encoding\");\n let path = base_path.join(format!(\"{}_out.txt\", $label));\n let ref_path = base_path.join(format!(\"{}_out_ref.txt\", $label));\n assert!(path.exists());\n assert!(ref_path.exists());\n\n let text = Rope::from_str(&std::fs::read_to_string(path).unwrap());\n let mut buf: Vec = Vec::new();\n helix_lsp::block_on(to_writer(&mut buf, (encoding, false), &text)).unwrap();\n\n let expectation = std::fs::read(ref_path).unwrap();\n assert_eq!(buf, expectation);\n }\n };\n ($name:ident, $label:expr) => {\n encode!($name, $label, $label);\n };\n }\n\n decode!(big5_decode, \"big5\");\n encode!(big5_encode, \"big5\");\n decode!(euc_kr_decode, \"euc_kr\", \"EUC-KR\");\n encode!(euc_kr_encode, \"euc_kr\", \"EUC-KR\");\n decode!(gb18030_decode, \"gb18030\");\n encode!(gb18030_encode, \"gb18030\");\n decode!(iso_2022_jp_decode, \"iso_2022_jp\", \"ISO-2022-JP\");\n encode!(iso_2022_jp_encode, \"iso_2022_jp\", \"ISO-2022-JP\");\n decode!(jis0208_decode, \"jis0208\", \"EUC-JP\");\n encode!(jis0208_encode, \"jis0208\", \"EUC-JP\");\n decode!(jis0212_decode, \"jis0212\", \"EUC-JP\");\n decode!(shift_jis_decode, \"shift_jis\");\n encode!(shift_jis_encode, \"shift_jis\");\n}\n","uri":"file:///C:/Users/there/Desktop/helix/helix-view/src/document.rs","version":0}}} 2024-01-25T19:34:54.148 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":0,"method":"workspace/configuration","params":{"items":[{"section":"rust-analyzer"}]}} 2024-01-25T19:34:54.148 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":1,"method":"window/workDoneProgress/create","params":{"token":"rustAnalyzer/Fetching"}} 2024-01-25T19:34:54.148 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Fetching","value":{"kind":"begin","title":"Fetching","cancellable":false}}} 2024-01-25T19:34:54.148 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","result":[null],"id":0} 2024-01-25T19:34:54.148 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","result":null,"id":1} 2024-01-25T19:34:54.282 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Fetching","value":{"kind":"report","cancellable":false,"message":"metadata"}}} 2024-01-25T19:34:54.342 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","method":"textDocument/inlayHint","params":{"range":{"end":{"character":0,"line":134},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///C:/Users/there/Desktop/helix/helix-view/src/document.rs"}},"id":1} 2024-01-25T19:34:54.347 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":1,"result":[]} 2024-01-25T19:34:54.347 helix_lsp::transport [INFO] rust-analyzer <- [] 2024-01-25T19:34:54.628 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":2,"method":"client/registerCapability","params":{"registrations":[{"id":"workspace/didChangeWatchedFiles","method":"workspace/didChangeWatchedFiles","registerOptions":{"watchers":[{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-core/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-core/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-core/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-dap/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-dap/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-dap/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-event/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-event/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-event/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-loader/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-loader/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-loader/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-lsp/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-lsp/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-lsp/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-parsec/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-parsec/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-parsec/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-stdx/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-stdx/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-stdx/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-term/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-term/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-term/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-tui/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-tui/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-tui/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-vcs/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-vcs/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-vcs/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-view/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-view/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-view/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\xtask/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\xtask/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\xtask/**/Cargo.lock"}]}}]}} 2024-01-25T19:34:54.628 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","result":null,"id":2} 2024-01-25T19:34:54.649 helix_lsp::transport [ERROR] rust-analyzer err <- "[ERROR project_model::workspace] cyclic deps: helix_view(Idx::(117)) -> helix_tui(Idx::(110)), alternative path: helix_tui(Idx::(110)) -> helix_view(Idx::(117))\n" 2024-01-25T19:34:54.655 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Fetching","value":{"kind":"end"}}} 2024-01-25T19:34:54.655 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":3,"method":"window/workDoneProgress/create","params":{"token":"rustAnalyzer/Roots Scanned"}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"begin","title":"Roots Scanned","cancellable":false,"message":"0/204","percentage":0}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"1/204","percentage":0}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","result":null,"id":3} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"2/204","percentage":0}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"3/204","percentage":1}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"4/204","percentage":1}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"5/204","percentage":2}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"6/204","percentage":2}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"7/204","percentage":3}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"8/204","percentage":3}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"9/204","percentage":4}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"10/204","percentage":4}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"11/204","percentage":5}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"12/204","percentage":5}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"13/204","percentage":6}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"14/204","percentage":6}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"15/204","percentage":7}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"16/204","percentage":7}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"17/204","percentage":8}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"18/204","percentage":8}}} 2024-01-25T19:34:54.656 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"19/204","percentage":9}}} 2024-01-25T19:34:54.661 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":4,"method":"window/workDoneProgress/create","params":{"token":"rustAnalyzer/Fetching"}} 2024-01-25T19:34:54.661 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Fetching","value":{"kind":"begin","title":"Fetching","cancellable":false}}} 2024-01-25T19:34:54.661 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","result":null,"id":4} 2024-01-25T19:34:54.661 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"20/204","percentage":9}}} 2024-01-25T19:34:54.661 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"21/204","percentage":10}}} 2024-01-25T19:34:54.661 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"22/204","percentage":10}}} 2024-01-25T19:34:54.661 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"23/204","percentage":11}}} 2024-01-25T19:34:54.661 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"24/204","percentage":11}}} 2024-01-25T19:34:54.661 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"25/204","percentage":12}}} 2024-01-25T19:34:54.661 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"26/204","percentage":12}}} 2024-01-25T19:34:54.665 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"27/204","percentage":13}}} 2024-01-25T19:34:54.667 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"28/204","percentage":13}}} 2024-01-25T19:34:54.667 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"29/204","percentage":14}}} 2024-01-25T19:34:54.667 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"30/204","percentage":14}}} 2024-01-25T19:34:54.667 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"31/204","percentage":15}}} 2024-01-25T19:34:54.670 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"32/204","percentage":15}}} 2024-01-25T19:34:54.670 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"33/204","percentage":16}}} 2024-01-25T19:34:54.670 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"34/204","percentage":16}}} 2024-01-25T19:34:54.670 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"35/204","percentage":17}}} 2024-01-25T19:34:54.670 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"36/204","percentage":17}}} 2024-01-25T19:34:54.670 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"37/204","percentage":18}}} 2024-01-25T19:34:54.675 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"38/204","percentage":18}}} 2024-01-25T19:34:54.675 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"39/204","percentage":19}}} 2024-01-25T19:34:54.675 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"40/204","percentage":19}}} 2024-01-25T19:34:54.675 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"41/204","percentage":20}}} 2024-01-25T19:34:54.675 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"42/204","percentage":20}}} 2024-01-25T19:34:54.675 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"43/204","percentage":21}}} 2024-01-25T19:34:54.675 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"44/204","percentage":21}}} 2024-01-25T19:34:54.675 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"45/204","percentage":22}}} 2024-01-25T19:34:54.682 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"46/204","percentage":22}}} 2024-01-25T19:34:54.688 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"47/204","percentage":23}}} 2024-01-25T19:34:54.693 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"48/204","percentage":23}}} 2024-01-25T19:34:54.693 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"49/204","percentage":24}}} 2024-01-25T19:34:54.693 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"50/204","percentage":24}}} 2024-01-25T19:34:54.699 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"51/204","percentage":25}}} 2024-01-25T19:34:54.699 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"52/204","percentage":25}}} 2024-01-25T19:34:54.699 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"53/204","percentage":25}}} 2024-01-25T19:34:54.699 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"54/204","percentage":26}}} 2024-01-25T19:34:54.699 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"55/204","percentage":26}}} 2024-01-25T19:34:54.699 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"56/204","percentage":27}}} 2024-01-25T19:34:54.699 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"57/204","percentage":27}}} 2024-01-25T19:34:54.705 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"58/204","percentage":28}}} 2024-01-25T19:34:54.705 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"59/204","percentage":28}}} 2024-01-25T19:34:54.705 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"60/204","percentage":29}}} 2024-01-25T19:34:54.705 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"61/204","percentage":29}}} 2024-01-25T19:34:54.705 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"62/204","percentage":30}}} 2024-01-25T19:34:54.705 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"63/204","percentage":30}}} 2024-01-25T19:34:54.705 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"64/204","percentage":31}}} 2024-01-25T19:34:54.705 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"65/204","percentage":31}}} 2024-01-25T19:34:54.711 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"66/204","percentage":32}}} 2024-01-25T19:34:54.711 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"67/204","percentage":32}}} 2024-01-25T19:34:54.711 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"68/204","percentage":33}}} 2024-01-25T19:34:54.711 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"69/204","percentage":33}}} 2024-01-25T19:34:54.719 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"70/204","percentage":34}}} 2024-01-25T19:34:54.719 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"71/204","percentage":34}}} 2024-01-25T19:34:54.719 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"72/204","percentage":35}}} 2024-01-25T19:34:54.719 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"73/204","percentage":35}}} 2024-01-25T19:34:54.719 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"74/204","percentage":36}}} 2024-01-25T19:34:54.719 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"75/204","percentage":36}}} 2024-01-25T19:34:54.719 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"76/204","percentage":37}}} 2024-01-25T19:34:54.720 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"77/204","percentage":37}}} 2024-01-25T19:34:54.720 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"78/204","percentage":38}}} 2024-01-25T19:34:54.720 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"79/204","percentage":38}}} 2024-01-25T19:34:54.720 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"80/204","percentage":39}}} 2024-01-25T19:34:54.720 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"81/204","percentage":39}}} 2024-01-25T19:34:54.720 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"82/204","percentage":40}}} 2024-01-25T19:34:54.720 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"83/204","percentage":40}}} 2024-01-25T19:34:54.720 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"84/204","percentage":41}}} 2024-01-25T19:34:54.720 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"85/204","percentage":41}}} 2024-01-25T19:34:54.729 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"86/204","percentage":42}}} 2024-01-25T19:34:54.729 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"87/204","percentage":42}}} 2024-01-25T19:34:54.729 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"88/204","percentage":43}}} 2024-01-25T19:34:54.729 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"89/204","percentage":43}}} 2024-01-25T19:34:54.729 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"90/204","percentage":44}}} 2024-01-25T19:34:54.729 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"91/204","percentage":44}}} 2024-01-25T19:34:54.729 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"92/204","percentage":45}}} 2024-01-25T19:34:54.742 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"93/204","percentage":45}}} 2024-01-25T19:34:54.754 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"94/204","percentage":46}}} 2024-01-25T19:34:54.754 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"95/204","percentage":46}}} 2024-01-25T19:34:54.754 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"96/204","percentage":47}}} 2024-01-25T19:34:54.754 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"97/204","percentage":47}}} 2024-01-25T19:34:54.754 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"98/204","percentage":48}}} 2024-01-25T19:34:54.754 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"99/204","percentage":48}}} 2024-01-25T19:34:54.754 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"100/204","percentage":49}}} 2024-01-25T19:34:54.754 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"101/204","percentage":49}}} 2024-01-25T19:34:54.754 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"102/204","percentage":50}}} 2024-01-25T19:34:54.754 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"103/204","percentage":50}}} 2024-01-25T19:34:54.765 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"104/204","percentage":50}}} 2024-01-25T19:34:54.765 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"105/204","percentage":51}}} 2024-01-25T19:34:54.765 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"106/204","percentage":51}}} 2024-01-25T19:34:54.765 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"107/204","percentage":52}}} 2024-01-25T19:34:54.765 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"108/204","percentage":52}}} 2024-01-25T19:34:54.765 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"109/204","percentage":53}}} 2024-01-25T19:34:54.765 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"110/204","percentage":53}}} 2024-01-25T19:34:54.765 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"111/204","percentage":54}}} 2024-01-25T19:34:54.765 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"112/204","percentage":54}}} 2024-01-25T19:34:54.765 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"113/204","percentage":55}}} 2024-01-25T19:34:54.766 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"114/204","percentage":55}}} 2024-01-25T19:34:54.766 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"115/204","percentage":56}}} 2024-01-25T19:34:54.776 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"116/204","percentage":56}}} 2024-01-25T19:34:54.776 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"117/204","percentage":57}}} 2024-01-25T19:34:54.776 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"118/204","percentage":57}}} 2024-01-25T19:34:54.776 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"119/204","percentage":58}}} 2024-01-25T19:34:54.776 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"120/204","percentage":58}}} 2024-01-25T19:34:54.776 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"121/204","percentage":59}}} 2024-01-25T19:34:54.789 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"122/204","percentage":59}}} 2024-01-25T19:34:54.789 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"123/204","percentage":60}}} 2024-01-25T19:34:54.789 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"124/204","percentage":60}}} 2024-01-25T19:34:54.789 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"125/204","percentage":61}}} 2024-01-25T19:34:54.806 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"126/204","percentage":61}}} 2024-01-25T19:34:54.806 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"127/204","percentage":62}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"128/204","percentage":62}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"129/204","percentage":63}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"130/204","percentage":63}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"131/204","percentage":64}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"132/204","percentage":64}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"133/204","percentage":65}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"134/204","percentage":65}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"135/204","percentage":66}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"136/204","percentage":66}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"137/204","percentage":67}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"138/204","percentage":67}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"139/204","percentage":68}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"140/204","percentage":68}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"141/204","percentage":69}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"142/204","percentage":69}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"143/204","percentage":70}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"144/204","percentage":70}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"145/204","percentage":71}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"146/204","percentage":71}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"147/204","percentage":72}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"148/204","percentage":72}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"149/204","percentage":73}}} 2024-01-25T19:34:54.822 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"150/204","percentage":73}}} 2024-01-25T19:34:54.839 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Fetching","value":{"kind":"report","cancellable":false,"message":"metadata"}}} 2024-01-25T19:34:54.840 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"151/204","percentage":74}}} 2024-01-25T19:34:54.840 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"152/204","percentage":74}}} 2024-01-25T19:34:54.840 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"153/204","percentage":75}}} 2024-01-25T19:34:54.840 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"154/204","percentage":75}}} 2024-01-25T19:34:54.840 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"155/204","percentage":75}}} 2024-01-25T19:34:54.840 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"156/204","percentage":76}}} 2024-01-25T19:34:54.840 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"157/204","percentage":76}}} 2024-01-25T19:34:54.840 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"158/204","percentage":77}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"159/204","percentage":77}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"160/204","percentage":78}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"161/204","percentage":78}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"162/204","percentage":79}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"163/204","percentage":79}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"164/204","percentage":80}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"165/204","percentage":80}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"166/204","percentage":81}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"167/204","percentage":81}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"168/204","percentage":82}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"169/204","percentage":82}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"170/204","percentage":83}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"171/204","percentage":83}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"172/204","percentage":84}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"173/204","percentage":84}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"174/204","percentage":85}}} 2024-01-25T19:34:54.857 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"175/204","percentage":85}}} 2024-01-25T19:34:54.879 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"176/204","percentage":86}}} 2024-01-25T19:34:54.879 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"177/204","percentage":86}}} 2024-01-25T19:34:54.879 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"178/204","percentage":87}}} 2024-01-25T19:34:54.879 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"179/204","percentage":87}}} 2024-01-25T19:34:54.913 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"180/204","percentage":88}}} 2024-01-25T19:34:54.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"181/204","percentage":88}}} 2024-01-25T19:34:54.996 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"182/204","percentage":89}}} 2024-01-25T19:34:54.996 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"183/204","percentage":89}}} 2024-01-25T19:34:54.996 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"184/204","percentage":90}}} 2024-01-25T19:34:54.996 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"185/204","percentage":90}}} 2024-01-25T19:34:54.996 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"186/204","percentage":91}}} 2024-01-25T19:34:54.996 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"187/204","percentage":91}}} 2024-01-25T19:34:54.996 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"188/204","percentage":92}}} 2024-01-25T19:34:54.996 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"189/204","percentage":92}}} 2024-01-25T19:34:54.996 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"190/204","percentage":93}}} 2024-01-25T19:34:54.996 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"191/204","percentage":93}}} 2024-01-25T19:34:55.081 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"192/204","percentage":94}}} 2024-01-25T19:34:55.081 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"193/204","percentage":94}}} 2024-01-25T19:34:55.081 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"194/204","percentage":95}}} 2024-01-25T19:34:55.129 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"195/204","percentage":95}}} 2024-01-25T19:34:55.129 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"196/204","percentage":96}}} 2024-01-25T19:34:55.129 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"197/204","percentage":96}}} 2024-01-25T19:34:55.129 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"198/204","percentage":97}}} 2024-01-25T19:34:55.129 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"199/204","percentage":97}}} 2024-01-25T19:34:55.129 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"200/204","percentage":98}}} 2024-01-25T19:34:55.129 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"201/204","percentage":98}}} 2024-01-25T19:34:55.129 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"202/204","percentage":99}}} 2024-01-25T19:34:55.129 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"203/204","percentage":99}}} 2024-01-25T19:34:55.129 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"end","message":"204/204"}}} 2024-01-25T19:34:55.164 helix_lsp::transport [ERROR] rust-analyzer err <- "[ERROR project_model::workspace] cyclic deps: helix_view(Idx::(117)) -> helix_tui(Idx::(110)), alternative path: helix_tui(Idx::(110)) -> helix_view(Idx::(117))\n" 2024-01-25T19:34:55.167 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Fetching","value":{"kind":"end"}}} 2024-01-25T19:34:55.167 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":5,"method":"window/workDoneProgress/create","params":{"token":"rustAnalyzer/Fetching"}} 2024-01-25T19:34:55.167 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Fetching","value":{"kind":"begin","title":"Fetching","cancellable":false}}} 2024-01-25T19:34:55.167 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","result":null,"id":5} 2024-01-25T19:34:55.302 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Fetching","value":{"kind":"report","cancellable":false,"message":"metadata"}}} 2024-01-25T19:34:55.649 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Fetching","value":{"kind":"end"}}} 2024-01-25T19:34:55.649 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":6,"method":"window/workDoneProgress/create","params":{"token":"rustAnalyzer/Building"}} 2024-01-25T19:34:55.649 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"begin","title":"Building","cancellable":false}}} 2024-01-25T19:34:55.649 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","result":null,"id":6} 2024-01-25T19:34:55.649 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":7,"method":"window/workDoneProgress/create","params":{"token":"rustAnalyzer/Loading"}} 2024-01-25T19:34:55.649 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Loading","value":{"kind":"begin","title":"Loading","cancellable":false}}} 2024-01-25T19:34:55.649 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","result":null,"id":7} 2024-01-25T19:34:55.651 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Loading","value":{"kind":"end"}}} 2024-01-25T19:34:55.944 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: proc-macro2"}}} 2024-01-25T19:34:55.944 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: proc-macro2"}}} 2024-01-25T19:34:55.944 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: unicode-ident"}}} 2024-01-25T19:34:55.944 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: cfg-if"}}} 2024-01-25T19:34:55.944 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: autocfg"}}} 2024-01-25T19:34:55.944 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows_x86_64_msvc"}}} 2024-01-25T19:34:55.944 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: serde"}}} 2024-01-25T19:34:55.944 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: memchr"}}} 2024-01-25T19:34:55.945 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: once_cell"}}} 2024-01-25T19:34:55.945 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: regex-syntax"}}} 2024-01-25T19:34:55.945 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: version_check"}}} 2024-01-25T19:34:55.945 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: smallvec"}}} 2024-01-25T19:34:55.945 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows_x86_64_msvc"}}} 2024-01-25T19:34:55.945 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: thiserror"}}} 2024-01-25T19:34:55.945 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: fastrand"}}} 2024-01-25T19:34:55.945 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: scopeguard"}}} 2024-01-25T19:34:55.945 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows_x86_64_msvc"}}} 2024-01-25T19:34:55.945 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: parking_lot_core"}}} 2024-01-25T19:34:55.945 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: tinyvec_macros"}}} 2024-01-25T19:34:55.945 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: zerocopy"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: winapi"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: allocator-api2"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: itoa"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: bitflags"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: rustix"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: proc-macro2"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: windows_x86_64_msvc"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: serde"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: aho-corasick"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: windows_x86_64_msvc"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: thiserror"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: windows_x86_64_msvc"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: getrandom"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: lock_api"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: parking_lot_core"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: ahash"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: winapi"}}} 2024-01-25T19:34:55.946 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: tinyvec"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: num-traits"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: rustix"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-trace"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: crc32fast"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: adler"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: anyhow"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: num_cpus"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: sha1_smol"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: prodash"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: cc"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: log"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: quote"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: regex-automata"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows_x86_64_msvc"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows_x86_64_msvc"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: lock_api"}}} 2024-01-25T19:34:55.947 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: ahash"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: winapi"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: unicode-normalization"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows_x86_64_msvc"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: num-traits"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: crc32fast"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: miniz_oxide"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: anyhow"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: tree-sitter"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: either"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: crossbeam-utils"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: dunce"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: time-core"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: memoffset"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: time-core"}}} 2024-01-25T19:34:55.948 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: str_indices"}}} 2024-01-25T19:34:55.949 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-loader"}}} 2024-01-25T19:34:55.949 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: crossbeam-epoch"}}} 2024-01-25T19:34:55.949 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: equivalent"}}} 2024-01-25T19:34:55.949 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: syn"}}} 2024-01-25T19:34:55.949 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows-targets"}}} 2024-01-25T19:34:55.949 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows-targets"}}} 2024-01-25T19:34:55.949 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: bstr"}}} 2024-01-25T19:34:55.949 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: lock_api"}}} 2024-01-25T19:34:55.949 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: ahash"}}} 2024-01-25T19:34:55.949 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows-targets"}}} 2024-01-25T19:34:55.949 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: num-traits"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: winapi-util"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: crc32fast"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-utils"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: tree-sitter"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: time-macros"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: crossbeam-utils"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: memoffset"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: ropey"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: helix-loader"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: anyhow"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: crossbeam-epoch"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: winnow"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: winnow"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: regex"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: memmap2"}}} 2024-01-25T19:34:55.950 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: threadpool"}}} 2024-01-25T19:34:55.951 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: serde_derive"}}} 2024-01-25T19:34:55.951 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: thiserror-impl"}}} 2024-01-25T19:34:55.951 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows-sys"}}} 2024-01-25T19:34:55.951 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows-sys"}}} 2024-01-25T19:34:55.951 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: hashbrown"}}} 2024-01-25T19:34:55.951 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows-sys"}}} 2024-01-25T19:34:55.951 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: same-file"}}} 2024-01-25T19:34:55.951 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: flate2"}}} 2024-01-25T19:34:55.951 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: time"}}} 2024-01-25T19:34:55.951 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: crossbeam-utils"}}} 2024-01-25T19:34:55.951 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: btoi"}}} 2024-01-25T19:34:55.951 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: memoffset"}}} 2024-01-25T19:34:55.951 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: tree-sitter"}}} 2024-01-25T19:34:55.951 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: cc"}}} 2024-01-25T19:34:55.952 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: rayon-core"}}} 2024-01-25T19:34:55.952 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: encoding_rs"}}} 2024-01-25T19:34:55.952 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: serde_json"}}} 2024-01-25T19:34:55.952 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: pin-project-lite"}}} 2024-01-25T19:34:55.952 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: smartstring"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: slotmap"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: ryu"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: unicode-segmentation"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: cov-mark"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: unicode-general-category"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: serde"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: thiserror"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: home"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: parking_lot_core"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: tempfile"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: walkdir"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: errno"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: indexmap"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: crossbeam-epoch"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: libloading"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: crossbeam-channel"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: rayon-core"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: serde_json"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: arc-swap"}}} 2024-01-25T19:34:55.953 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: nucleo-matcher"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: socket2"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: unicode-general-category"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: mio"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: smartstring"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: slotmap"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: tokio-macros"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: slab"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: hashbrown"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: static_assertions"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: parking_lot"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: faster-hex"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: rustix"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: etcetera"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: serde_spanned"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: toml_datetime"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-date"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-validate"}}} 2024-01-25T19:34:55.954 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: crossbeam-deque"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-path"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: serde_json"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-chunk"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: futures-core"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: unicode-linebreak"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: bytes"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: smawk"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: unicode-width"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: imara-diff"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: slotmap"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: unicode-general-category"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: slab"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: smartstring"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: chrono"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: percent-encoding"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-hash"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: which"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-actor"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: toml_edit"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: rayon-core"}}} 2024-01-25T19:34:55.955 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: textwrap"}}} 2024-01-25T19:34:55.956 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: tokio"}}} 2024-01-25T19:34:55.956 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: unicode-bidi"}}} 2024-01-25T19:34:55.956 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: slab"}}} 2024-01-25T19:34:55.956 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: form_urlencoded"}}} 2024-01-25T19:34:55.956 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: futures-task"}}} 2024-01-25T19:34:55.956 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: pin-utils"}}} 2024-01-25T19:34:55.956 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-sec"}}} 2024-01-25T19:34:55.956 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: clru"}}} 2024-01-25T19:34:55.956 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-config-value"}}} 2024-01-25T19:34:55.956 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-quote"}}} 2024-01-25T19:34:55.956 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: unicode-bom"}}} 2024-01-25T19:34:55.956 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: bitflags"}}} 2024-01-25T19:34:55.956 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-macros"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: serde_repr"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: globset"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows_x86_64_msvc"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-parsec"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: crossterm_winapi"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-features"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-stdx"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: toml"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: rayon"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-hashtable"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: idna"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: futures-util"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: tokio-stream"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows-targets"}}} 2024-01-25T19:34:55.957 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: error-code"}}} 2024-01-25T19:34:55.958 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: crossterm"}}} 2024-01-25T19:34:55.958 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: chardetng"}}} 2024-01-25T19:34:55.958 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: termini"}}} 2024-01-25T19:34:55.958 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows_x86_64_msvc"}}} 2024-01-25T19:34:55.958 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: cassowary"}}} 2024-01-25T19:34:55.958 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: serde"}}} 2024-01-25T19:34:55.958 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: memchr"}}} 2024-01-25T19:34:55.958 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: bitflags"}}} 2024-01-25T19:34:55.958 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: equivalent"}}} 2024-01-25T19:34:55.958 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: regex-syntax"}}} 2024-01-25T19:34:55.958 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: cfg-if"}}} 2024-01-25T19:34:55.958 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: hashbrown"}}} 2024-01-25T19:34:55.958 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: either"}}} 2024-01-25T19:34:55.958 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: str_indices"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-object"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-loader"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-fs"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: nucleo"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-commitgraph"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: url"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: futures-executor"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-glob"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows-sys"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: clipboard-win"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows-targets"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: aho-corasick"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: serde_spanned"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: toml_datetime"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: indexmap"}}} 2024-01-25T19:34:55.959 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: smallvec"}}} 2024-01-25T19:34:55.960 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: winnow"}}} 2024-01-25T19:34:55.960 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: once_cell"}}} 2024-01-25T19:34:55.960 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: fastrand"}}} 2024-01-25T19:34:55.960 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: libc"}}} 2024-01-25T19:34:55.960 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: dunce"}}} 2024-01-25T19:34:55.960 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: num_cpus"}}} 2024-01-25T19:34:55.960 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: anyhow"}}} 2024-01-25T19:34:55.960 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: unicase"}}} 2024-01-25T19:34:55.960 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-tempfile"}}} 2024-01-25T19:34:55.960 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-core"}}} 2024-01-25T19:34:55.960 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-revwalk"}}} 2024-01-25T19:34:55.960 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-url"}}} 2024-01-25T19:34:55.960 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-diff"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-event"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: lsp-types"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: errno"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: home"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: windows-sys"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: regex-automata"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: ropey"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: toml_edit"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: libc"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: tempfile"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: threadpool"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: log"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: unicase"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: grep-matcher"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: signal-hook"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: pulldown-cmark"}}} 2024-01-25T19:34:55.961 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: encoding_rs_io"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: fern"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: ignore"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-lock"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-revision"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-pack"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-traverse"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-dap"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-lsp"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: rustix"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: etcetera"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: regex"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: libloading"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: toml"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: libc"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: pulldown-cmark"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: signal-hook"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: unicase"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: grep-regex"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: grep-searcher"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: content_inspector"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: open"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: indoc"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: rand_core"}}} 2024-01-25T19:34:55.962 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-lsp"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-dap"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-loader"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-ref"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-odb"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-refspec"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: which"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: tree-sitter"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: signal-hook-registry"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: pulldown-cmark"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: rand"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-loader"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-event"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-loader"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"path"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"path"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-stdx"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-stdx"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-parsec"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-discover"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix-config"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-stdx"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: signal-hook"}}} 2024-01-25T19:34:55.963 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: quickcheck"}}} 2024-01-25T19:34:55.964 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: gix"}}} 2024-01-25T19:34:55.964 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-loader"}}} 2024-01-25T19:34:55.964 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-core"}}} 2024-01-25T19:34:55.964 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-core"}}} 2024-01-25T19:34:55.964 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-vcs"}}} 2024-01-25T19:34:55.967 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-term"}}} 2024-01-25T19:34:55.967 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-vcs"}}} 2024-01-25T19:34:55.967 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-view"}}} 2024-01-25T19:34:55.967 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"running build-script: helix-term"}}} 2024-01-25T19:34:55.967 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-tui"}}} 2024-01-25T19:34:55.967 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-tui"}}} 2024-01-25T19:34:55.967 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"helix-term"}}} 2024-01-25T19:34:55.967 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"helix-term"}}} 2024-01-25T19:34:55.967 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"helix-term"}}} 2024-01-25T19:34:55.967 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-term"}}} 2024-01-25T19:34:55.967 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-tui"}}} 2024-01-25T19:34:55.968 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"helix-term"}}} 2024-01-25T19:34:55.968 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"helix-term"}}} 2024-01-25T19:34:55.968 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"helix-term"}}} 2024-01-25T19:34:55.968 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-term"}}} 2024-01-25T19:34:55.968 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-tui"}}} 2024-01-25T19:34:55.968 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-tui"}}} 2024-01-25T19:34:55.968 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-view"}}} 2024-01-25T19:34:55.968 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-tui"}}} 2024-01-25T19:34:55.968 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-tui"}}} 2024-01-25T19:34:55.968 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: xtask"}}} 2024-01-25T19:34:55.968 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-term"}}} 2024-01-25T19:34:55.968 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-term"}}} 2024-01-25T19:34:55.968 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: xtask"}}} 2024-01-25T19:34:55.968 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"report","cancellable":false,"message":"building proc-macros: helix-term"}}} 2024-01-25T19:34:56.003 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":8,"method":"client/registerCapability","params":{"registrations":[{"id":"workspace/didChangeWatchedFiles","method":"workspace/didChangeWatchedFiles","registerOptions":{"watchers":[{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-core/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-core/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-core/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-dap/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-dap/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-dap/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-event/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-event/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-event/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-loader/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-loader/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-loader/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\target\\debug\\build\\helix-loader-3d1b9d76efb2e1ba\\out/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\target\\debug\\build\\helix-loader-3d1b9d76efb2e1ba\\out/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\target\\debug\\build\\helix-loader-3d1b9d76efb2e1ba\\out/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-lsp/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-lsp/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-lsp/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-parsec/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-parsec/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-parsec/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-stdx/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-stdx/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-stdx/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-term/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-term/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-term/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\target\\debug\\build\\helix-term-0c9b27b79c32fad3\\out/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\target\\debug\\build\\helix-term-0c9b27b79c32fad3\\out/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\target\\debug\\build\\helix-term-0c9b27b79c32fad3\\out/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-tui/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-tui/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-tui/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-vcs/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-vcs/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-vcs/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-view/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-view/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\helix-view/**/Cargo.lock"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\xtask/**/*.rs"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\xtask/**/Cargo.toml"},{"globPattern":"C:\\Users\\there\\Desktop\\helix\\xtask/**/Cargo.lock"}]}}]}} 2024-01-25T19:34:56.003 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","result":null,"id":8} 2024-01-25T19:34:56.008 helix_lsp::transport [ERROR] rust-analyzer err <- "[ERROR project_model::workspace] cyclic deps: helix_view(Idx::(117)) -> helix_tui(Idx::(110)), alternative path: helix_tui(Idx::(110)) -> helix_view(Idx::(117))\n" 2024-01-25T19:34:56.010 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Building","value":{"kind":"end"}}} 2024-01-25T19:34:56.010 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":9,"method":"window/workDoneProgress/create","params":{"token":"rustAnalyzer/Roots Scanned"}} 2024-01-25T19:34:56.010 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"begin","title":"Roots Scanned","cancellable":false,"message":"0/204","percentage":0}}} 2024-01-25T19:34:56.010 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","result":null,"id":9} 2024-01-25T19:34:56.010 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"1/204","percentage":0}}} 2024-01-25T19:34:56.010 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"2/204","percentage":0}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"3/204","percentage":1}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"4/204","percentage":1}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"5/204","percentage":2}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"6/204","percentage":2}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":10,"method":"window/workDoneProgress/create","params":{"token":"rustAnalyzer/Loading"}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Loading","value":{"kind":"begin","title":"Loading","cancellable":false}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Loading","value":{"kind":"report","cancellable":false,"message":"C:\\Users\\there\\Desktop\\helix\\target\\debug\\deps\\tokio_macros-179fe4fd8647522a.dll"}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Loading","value":{"kind":"report","cancellable":false,"message":"C:\\Users\\there\\Desktop\\helix\\target\\debug\\deps\\gix_macros-bf33524d4a40ade9.dll"}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Loading","value":{"kind":"report","cancellable":false,"message":"C:\\Users\\there\\Desktop\\helix\\target\\debug\\deps\\thiserror_impl-8197e533e3bc9ade.dll"}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","result":null,"id":10} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Loading","value":{"kind":"report","cancellable":false,"message":"C:\\Users\\there\\Desktop\\helix\\target\\debug\\deps\\serde_derive-72855e43a8b3c6f8.dll"}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Loading","value":{"kind":"report","cancellable":false,"message":"C:\\Users\\there\\Desktop\\helix\\target\\debug\\deps\\time_macros-953cd57957eaa20e.dll"}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Loading","value":{"kind":"report","cancellable":false,"message":"C:\\Users\\there\\Desktop\\helix\\target\\debug\\deps\\serde_repr-a2bbccbc397aea52.dll"}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Loading","value":{"kind":"report","cancellable":false,"message":"C:\\Users\\there\\Desktop\\helix\\target\\debug\\deps\\indoc-52f76a128eaaa8e0.dll"}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Loading","value":{"kind":"end"}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"7/204","percentage":3}}} 2024-01-25T19:34:56.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"8/204","percentage":3}}} 2024-01-25T19:34:56.012 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"9/204","percentage":4}}} 2024-01-25T19:34:56.013 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"10/204","percentage":4}}} 2024-01-25T19:34:56.014 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"11/204","percentage":5}}} 2024-01-25T19:34:56.015 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"12/204","percentage":5}}} 2024-01-25T19:34:56.016 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"13/204","percentage":6}}} 2024-01-25T19:34:56.016 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"14/204","percentage":6}}} 2024-01-25T19:34:56.017 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"15/204","percentage":7}}} 2024-01-25T19:34:56.018 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"16/204","percentage":7}}} 2024-01-25T19:34:56.018 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"17/204","percentage":8}}} 2024-01-25T19:34:56.020 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"18/204","percentage":8}}} 2024-01-25T19:34:56.021 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"19/204","percentage":9}}} 2024-01-25T19:34:56.021 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"20/204","percentage":9}}} 2024-01-25T19:34:56.021 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"21/204","percentage":10}}} 2024-01-25T19:34:56.021 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"22/204","percentage":10}}} 2024-01-25T19:34:56.022 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"23/204","percentage":11}}} 2024-01-25T19:34:56.023 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"24/204","percentage":11}}} 2024-01-25T19:34:56.023 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"25/204","percentage":12}}} 2024-01-25T19:34:56.025 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"26/204","percentage":12}}} 2024-01-25T19:34:56.026 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"27/204","percentage":13}}} 2024-01-25T19:34:56.028 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"28/204","percentage":13}}} 2024-01-25T19:34:56.029 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"29/204","percentage":14}}} 2024-01-25T19:34:56.029 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"30/204","percentage":14}}} 2024-01-25T19:34:56.029 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"31/204","percentage":15}}} 2024-01-25T19:34:56.031 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"32/204","percentage":15}}} 2024-01-25T19:34:56.031 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"33/204","percentage":16}}} 2024-01-25T19:34:56.031 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"34/204","percentage":16}}} 2024-01-25T19:34:56.032 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"35/204","percentage":17}}} 2024-01-25T19:34:56.032 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"36/204","percentage":17}}} 2024-01-25T19:34:56.032 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"37/204","percentage":18}}} 2024-01-25T19:34:56.033 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"38/204","percentage":18}}} 2024-01-25T19:34:56.033 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"39/204","percentage":19}}} 2024-01-25T19:34:56.034 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"40/204","percentage":19}}} 2024-01-25T19:34:56.035 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"41/204","percentage":20}}} 2024-01-25T19:34:56.035 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"42/204","percentage":20}}} 2024-01-25T19:34:56.035 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"43/204","percentage":21}}} 2024-01-25T19:34:56.036 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"44/204","percentage":21}}} 2024-01-25T19:34:56.036 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"45/204","percentage":22}}} 2024-01-25T19:34:56.042 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"46/204","percentage":22}}} 2024-01-25T19:34:56.042 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"47/204","percentage":23}}} 2024-01-25T19:34:56.048 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"48/204","percentage":23}}} 2024-01-25T19:34:56.048 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"49/204","percentage":24}}} 2024-01-25T19:34:56.049 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"50/204","percentage":24}}} 2024-01-25T19:34:56.049 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"51/204","percentage":25}}} 2024-01-25T19:34:56.052 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"52/204","percentage":25}}} 2024-01-25T19:34:56.052 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"53/204","percentage":25}}} 2024-01-25T19:34:56.053 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"54/204","percentage":26}}} 2024-01-25T19:34:56.053 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"55/204","percentage":26}}} 2024-01-25T19:34:56.054 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"56/204","percentage":27}}} 2024-01-25T19:34:56.055 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"57/204","percentage":27}}} 2024-01-25T19:34:56.055 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"58/204","percentage":28}}} 2024-01-25T19:34:56.055 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"59/204","percentage":28}}} 2024-01-25T19:34:56.056 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"60/204","percentage":29}}} 2024-01-25T19:34:56.056 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"61/204","percentage":29}}} 2024-01-25T19:34:56.056 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"62/204","percentage":30}}} 2024-01-25T19:34:56.057 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"63/204","percentage":30}}} 2024-01-25T19:34:56.058 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"64/204","percentage":31}}} 2024-01-25T19:34:56.059 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"65/204","percentage":31}}} 2024-01-25T19:34:56.062 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"66/204","percentage":32}}} 2024-01-25T19:34:56.062 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"67/204","percentage":32}}} 2024-01-25T19:34:56.063 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"68/204","percentage":33}}} 2024-01-25T19:34:56.064 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"69/204","percentage":33}}} 2024-01-25T19:34:56.065 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"70/204","percentage":34}}} 2024-01-25T19:34:56.065 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"71/204","percentage":34}}} 2024-01-25T19:34:56.065 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"72/204","percentage":35}}} 2024-01-25T19:34:56.066 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"73/204","percentage":35}}} 2024-01-25T19:34:56.066 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"74/204","percentage":36}}} 2024-01-25T19:34:56.066 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"75/204","percentage":36}}} 2024-01-25T19:34:56.066 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"76/204","percentage":37}}} 2024-01-25T19:34:56.067 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"77/204","percentage":37}}} 2024-01-25T19:34:56.067 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"78/204","percentage":38}}} 2024-01-25T19:34:56.067 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"79/204","percentage":38}}} 2024-01-25T19:34:56.067 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"80/204","percentage":39}}} 2024-01-25T19:34:56.068 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"81/204","percentage":39}}} 2024-01-25T19:34:56.068 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"82/204","percentage":40}}} 2024-01-25T19:34:56.069 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"83/204","percentage":40}}} 2024-01-25T19:34:56.070 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"84/204","percentage":41}}} 2024-01-25T19:34:56.071 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"85/204","percentage":41}}} 2024-01-25T19:34:56.071 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"86/204","percentage":42}}} 2024-01-25T19:34:56.071 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"87/204","percentage":42}}} 2024-01-25T19:34:56.072 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"88/204","percentage":43}}} 2024-01-25T19:34:56.072 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"89/204","percentage":43}}} 2024-01-25T19:34:56.073 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"90/204","percentage":44}}} 2024-01-25T19:34:56.074 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"91/204","percentage":44}}} 2024-01-25T19:34:56.074 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"92/204","percentage":45}}} 2024-01-25T19:34:56.088 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"93/204","percentage":45}}} 2024-01-25T19:34:56.088 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"94/204","percentage":46}}} 2024-01-25T19:34:56.088 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"95/204","percentage":46}}} 2024-01-25T19:34:56.089 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"96/204","percentage":47}}} 2024-01-25T19:34:56.091 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"97/204","percentage":47}}} 2024-01-25T19:34:56.093 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"98/204","percentage":48}}} 2024-01-25T19:34:56.094 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"99/204","percentage":48}}} 2024-01-25T19:34:56.094 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"100/204","percentage":49}}} 2024-01-25T19:34:56.095 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"101/204","percentage":49}}} 2024-01-25T19:34:56.097 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"102/204","percentage":50}}} 2024-01-25T19:34:56.098 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"103/204","percentage":50}}} 2024-01-25T19:34:56.098 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"104/204","percentage":50}}} 2024-01-25T19:34:56.099 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"105/204","percentage":51}}} 2024-01-25T19:34:56.100 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"106/204","percentage":51}}} 2024-01-25T19:34:56.101 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"107/204","percentage":52}}} 2024-01-25T19:34:56.101 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"108/204","percentage":52}}} 2024-01-25T19:34:56.102 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"109/204","percentage":53}}} 2024-01-25T19:34:56.102 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"110/204","percentage":53}}} 2024-01-25T19:34:56.103 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"111/204","percentage":54}}} 2024-01-25T19:34:56.103 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"112/204","percentage":54}}} 2024-01-25T19:34:56.103 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"113/204","percentage":55}}} 2024-01-25T19:34:56.104 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"114/204","percentage":55}}} 2024-01-25T19:34:56.105 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"115/204","percentage":56}}} 2024-01-25T19:34:56.106 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"116/204","percentage":56}}} 2024-01-25T19:34:56.106 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"117/204","percentage":57}}} 2024-01-25T19:34:56.107 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"118/204","percentage":57}}} 2024-01-25T19:34:56.108 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"119/204","percentage":58}}} 2024-01-25T19:34:56.108 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"120/204","percentage":58}}} 2024-01-25T19:34:56.111 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"121/204","percentage":59}}} 2024-01-25T19:34:56.113 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"122/204","percentage":59}}} 2024-01-25T19:34:56.115 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"123/204","percentage":60}}} 2024-01-25T19:34:56.119 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"124/204","percentage":60}}} 2024-01-25T19:34:56.120 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"125/204","percentage":61}}} 2024-01-25T19:34:56.121 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"126/204","percentage":61}}} 2024-01-25T19:34:56.134 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"127/204","percentage":62}}} 2024-01-25T19:34:56.134 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"128/204","percentage":62}}} 2024-01-25T19:34:56.135 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"129/204","percentage":63}}} 2024-01-25T19:34:56.135 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"130/204","percentage":63}}} 2024-01-25T19:34:56.136 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"131/204","percentage":64}}} 2024-01-25T19:34:56.136 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"132/204","percentage":64}}} 2024-01-25T19:34:56.138 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"133/204","percentage":65}}} 2024-01-25T19:34:56.138 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"134/204","percentage":65}}} 2024-01-25T19:34:56.139 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"135/204","percentage":66}}} 2024-01-25T19:34:56.139 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"136/204","percentage":66}}} 2024-01-25T19:34:56.140 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"137/204","percentage":67}}} 2024-01-25T19:34:56.140 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"138/204","percentage":67}}} 2024-01-25T19:34:56.141 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"139/204","percentage":68}}} 2024-01-25T19:34:56.141 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"140/204","percentage":68}}} 2024-01-25T19:34:56.141 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"141/204","percentage":69}}} 2024-01-25T19:34:56.142 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"142/204","percentage":69}}} 2024-01-25T19:34:56.142 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"143/204","percentage":70}}} 2024-01-25T19:34:56.143 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"144/204","percentage":70}}} 2024-01-25T19:34:56.143 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"145/204","percentage":71}}} 2024-01-25T19:34:56.144 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"146/204","percentage":71}}} 2024-01-25T19:34:56.146 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"147/204","percentage":72}}} 2024-01-25T19:34:56.146 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"148/204","percentage":72}}} 2024-01-25T19:34:56.146 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"149/204","percentage":73}}} 2024-01-25T19:34:56.147 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"150/204","percentage":73}}} 2024-01-25T19:34:56.147 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"151/204","percentage":74}}} 2024-01-25T19:34:56.148 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"152/204","percentage":74}}} 2024-01-25T19:34:56.148 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"153/204","percentage":75}}} 2024-01-25T19:34:56.152 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"154/204","percentage":75}}} 2024-01-25T19:34:56.152 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"155/204","percentage":75}}} 2024-01-25T19:34:56.153 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"156/204","percentage":76}}} 2024-01-25T19:34:56.154 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"157/204","percentage":76}}} 2024-01-25T19:34:56.154 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"158/204","percentage":77}}} 2024-01-25T19:34:56.168 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"159/204","percentage":77}}} 2024-01-25T19:34:56.168 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"160/204","percentage":78}}} 2024-01-25T19:34:56.169 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"161/204","percentage":78}}} 2024-01-25T19:34:56.170 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"162/204","percentage":79}}} 2024-01-25T19:34:56.170 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"163/204","percentage":79}}} 2024-01-25T19:34:56.171 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"164/204","percentage":80}}} 2024-01-25T19:34:56.172 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"165/204","percentage":80}}} 2024-01-25T19:34:56.172 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"166/204","percentage":81}}} 2024-01-25T19:34:56.172 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"167/204","percentage":81}}} 2024-01-25T19:34:56.173 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"168/204","percentage":82}}} 2024-01-25T19:34:56.206 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"169/204","percentage":82}}} 2024-01-25T19:34:56.206 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"170/204","percentage":83}}} 2024-01-25T19:34:56.206 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"171/204","percentage":83}}} 2024-01-25T19:34:56.206 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"172/204","percentage":84}}} 2024-01-25T19:34:56.206 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"173/204","percentage":84}}} 2024-01-25T19:34:56.206 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"174/204","percentage":85}}} 2024-01-25T19:34:56.206 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"175/204","percentage":85}}} 2024-01-25T19:34:56.206 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"176/204","percentage":86}}} 2024-01-25T19:34:56.206 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"177/204","percentage":86}}} 2024-01-25T19:34:56.207 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"178/204","percentage":87}}} 2024-01-25T19:34:56.207 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"179/204","percentage":87}}} 2024-01-25T19:34:56.207 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":11,"method":"window/workDoneProgress/create","params":{"token":"rustAnalyzer/Fetching"}} 2024-01-25T19:34:56.207 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Fetching","value":{"kind":"begin","title":"Fetching","cancellable":false}}} 2024-01-25T19:34:56.207 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","result":null,"id":11} 2024-01-25T19:34:56.229 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"180/204","percentage":88}}} 2024-01-25T19:34:56.258 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"181/204","percentage":88}}} 2024-01-25T19:34:56.278 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"182/204","percentage":89}}} 2024-01-25T19:34:56.278 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"183/204","percentage":89}}} 2024-01-25T19:34:56.278 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"184/204","percentage":90}}} 2024-01-25T19:34:56.278 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"185/204","percentage":90}}} 2024-01-25T19:34:56.278 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"186/204","percentage":91}}} 2024-01-25T19:34:56.278 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"187/204","percentage":91}}} 2024-01-25T19:34:56.278 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"188/204","percentage":92}}} 2024-01-25T19:34:56.280 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"189/204","percentage":92}}} 2024-01-25T19:34:56.282 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"190/204","percentage":93}}} 2024-01-25T19:34:56.283 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"191/204","percentage":93}}} 2024-01-25T19:34:56.342 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Fetching","value":{"kind":"report","cancellable":false,"message":"metadata"}}} 2024-01-25T19:34:56.357 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"192/204","percentage":94}}} 2024-01-25T19:34:56.357 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"193/204","percentage":94}}} 2024-01-25T19:34:56.357 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"194/204","percentage":95}}} 2024-01-25T19:34:56.357 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"195/204","percentage":95}}} 2024-01-25T19:34:56.357 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"196/204","percentage":96}}} 2024-01-25T19:34:56.357 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"197/204","percentage":96}}} 2024-01-25T19:34:56.357 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"198/204","percentage":97}}} 2024-01-25T19:34:56.357 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"199/204","percentage":97}}} 2024-01-25T19:34:56.359 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"200/204","percentage":98}}} 2024-01-25T19:34:56.360 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"201/204","percentage":98}}} 2024-01-25T19:34:56.361 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"202/204","percentage":99}}} 2024-01-25T19:34:56.362 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"report","cancellable":false,"message":"203/204","percentage":99}}} 2024-01-25T19:34:56.362 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Roots Scanned","value":{"kind":"end","message":"204/204"}}} 2024-01-25T19:34:56.742 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Fetching","value":{"kind":"end"}}} 2024-01-25T19:34:56.742 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":12,"method":"window/workDoneProgress/create","params":{"token":"rustAnalyzer/Indexing"}} 2024-01-25T19:34:56.742 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"begin","title":"Indexing","cancellable":false,"percentage":0}}} 2024-01-25T19:34:56.742 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","result":null,"id":12} 2024-01-25T19:34:56.742 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"0/72 (core + 1 more)","percentage":0}}} 2024-01-25T19:34:56.763 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"1/72 (core)","percentage":1}}} 2024-01-25T19:34:56.842 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","id":13,"method":"window/workDoneProgress/create","params":{"token":"rust-analyzer/flycheck/0"}} 2024-01-25T19:34:56.842 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rust-analyzer/flycheck/0","value":{"kind":"begin","title":"cargo check","cancellable":true}}} 2024-01-25T19:34:56.842 helix_lsp::transport [INFO] rust-analyzer -> {"jsonrpc":"2.0","result":null,"id":13} 2024-01-25T19:34:57.100 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///c:/Users/there/Desktop/helix/helix-stdx/tests/path.rs","diagnostics":[{"range":{"start":{"line":5,"character":22},"end":{"line":5,"character":26}},"severity":2,"code":"unused_imports","source":"rustc","message":"unused imports: `PathBuf`, `Path`\n`#[warn(unused_imports)]` on by default","relatedInformation":[{"location":{"uri":"file:///c:/Users/there/Desktop/helix/helix-stdx/tests/path.rs","range":{"start":{"line":5,"character":20},"end":{"line":5,"character":35}}},"message":"remove the unused imports"}],"tags":[1],"data":{"rendered":"warning: unused imports: `PathBuf`, `Path`\n --> helix-stdx\\tests\\path.rs:6:23\n |\n6 | path::{Component, Path, PathBuf},\n | ^^^^ ^^^^^^^\n |\n = note: `#[warn(unused_imports)]` on by default\n\n"}},{"range":{"start":{"line":5,"character":20},"end":{"line":5,"character":35}},"severity":4,"code":"unused_imports","source":"rustc","message":"remove the unused imports","relatedInformation":[{"location":{"uri":"file:///c:/Users/there/Desktop/helix/helix-stdx/tests/path.rs","range":{"start":{"line":5,"character":22},"end":{"line":5,"character":26}}},"message":"original diagnostic"}]},{"range":{"start":{"line":5,"character":28},"end":{"line":5,"character":35}},"severity":2,"code":"unused_imports","source":"rustc","message":"unused imports: `PathBuf`, `Path`\n`#[warn(unused_imports)]` on by default","relatedInformation":[{"location":{"uri":"file:///c:/Users/there/Desktop/helix/helix-stdx/tests/path.rs","range":{"start":{"line":5,"character":20},"end":{"line":5,"character":35}}},"message":"remove the unused imports"}],"tags":[1],"data":{"rendered":"warning: unused imports: `PathBuf`, `Path`\n --> helix-stdx\\tests\\path.rs:6:23\n |\n6 | path::{Component, Path, PathBuf},\n | ^^^^ ^^^^^^^\n |\n = note: `#[warn(unused_imports)]` on by default\n\n"}}]}} 2024-01-25T19:34:57.100 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///c:/Users/there/Desktop/helix/helix-term/src/lib.rs","diagnostics":[{"range":{"start":{"line":22,"character":8},"end":{"line":22,"character":25}},"severity":2,"code":"unused_imports","source":"rustc","message":"unused import: `keymap::macros::*`","relatedInformation":[{"location":{"uri":"file:///c:/Users/there/Desktop/helix/helix-term/src/lib.rs","range":{"start":{"line":22,"character":0},"end":{"line":22,"character":26}}},"message":"remove the whole `use` item"}],"tags":[1],"data":{"rendered":"warning: unused import: `keymap::macros::*`\n --> helix-term\\src\\lib.rs:23:9\n |\n23 | pub use keymap::macros::*;\n | ^^^^^^^^^^^^^^^^^\n\n"}},{"range":{"start":{"line":22,"character":0},"end":{"line":22,"character":26}},"severity":4,"code":"unused_imports","source":"rustc","message":"remove the whole `use` item","relatedInformation":[{"location":{"uri":"file:///c:/Users/there/Desktop/helix/helix-term/src/lib.rs","range":{"start":{"line":22,"character":8},"end":{"line":22,"character":25}}},"message":"original diagnostic"}]}]}} 2024-01-25T19:34:57.100 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///c:/Users/there/Desktop/helix/helix-term/src/handlers.rs","diagnostics":[{"range":{"start":{"line":11,"character":8},"end":{"line":11,"character":55}},"severity":2,"code":"unused_imports","source":"rustc","message":"unused import: `helix_view::handlers::lsp::SignatureHelpInvoked`\n`#[warn(unused_imports)]` on by default","relatedInformation":[{"location":{"uri":"file:///c:/Users/there/Desktop/helix/helix-term/src/handlers.rs","range":{"start":{"line":11,"character":0},"end":{"line":11,"character":56}}},"message":"remove the whole `use` item"}],"tags":[1],"data":{"rendered":"warning: unused import: `helix_view::handlers::lsp::SignatureHelpInvoked`\n --> helix-term\\src\\handlers.rs:12:9\n |\n12 | pub use helix_view::handlers::lsp::SignatureHelpInvoked;\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: `#[warn(unused_imports)]` on by default\n\n"}},{"range":{"start":{"line":11,"character":0},"end":{"line":11,"character":56}},"severity":4,"code":"unused_imports","source":"rustc","message":"remove the whole `use` item","relatedInformation":[{"location":{"uri":"file:///c:/Users/there/Desktop/helix/helix-term/src/handlers.rs","range":{"start":{"line":11,"character":8},"end":{"line":11,"character":55}}},"message":"original diagnostic"}]}]}} 2024-01-25T19:34:57.131 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rust-analyzer/flycheck/0","value":{"kind":"end"}}} 2024-01-25T19:34:58.467 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"percentage":2}}} 2024-01-25T19:34:58.467 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"2/72 (alloc)","percentage":2}}} 2024-01-25T19:34:58.578 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"percentage":4}}} 2024-01-25T19:34:58.578 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"3/72 (std)","percentage":4}}} 2024-01-25T19:34:58.965 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"percentage":5}}} 2024-01-25T19:34:58.966 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"4/72 (proc_macro)","percentage":5}}} 2024-01-25T19:34:59.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"percentage":6}}} 2024-01-25T19:34:59.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"5/72 (quickcheck + 4 more)","percentage":6}}} 2024-01-25T19:34:59.011 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"5/72 (quickcheck + 11 more)","percentage":6}}} 2024-01-25T19:34:59.012 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"6/72 (quickcheck + 11 more)","percentage":8}}} 2024-01-25T19:34:59.014 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"7/72 (quickcheck + 11 more)","percentage":9}}} 2024-01-25T19:34:59.016 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"8/72 (quickcheck + 11 more)","percentage":11}}} 2024-01-25T19:34:59.020 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"9/72 (quickcheck + 11 more)","percentage":12}}} 2024-01-25T19:34:59.020 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"10/72 (quickcheck + 11 more)","percentage":13}}} 2024-01-25T19:34:59.026 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"11/72 (quickcheck + 11 more)","percentage":15}}} 2024-01-25T19:34:59.027 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"12/72 (quickcheck + 11 more)","percentage":16}}} 2024-01-25T19:34:59.029 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"13/72 (quickcheck + 11 more)","percentage":18}}} 2024-01-25T19:34:59.031 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"14/72 (quickcheck + 11 more)","percentage":19}}} 2024-01-25T19:34:59.042 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"15/72 (quickcheck + 11 more)","percentage":20}}} 2024-01-25T19:34:59.052 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"16/72 (quickcheck + 11 more)","percentage":22}}} 2024-01-25T19:34:59.060 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"17/72 (quickcheck + 11 more)","percentage":23}}} 2024-01-25T19:34:59.075 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"18/72 (quickcheck + 11 more)","percentage":25}}} 2024-01-25T19:34:59.120 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"19/72 (quickcheck + 11 more)","percentage":26}}} 2024-01-25T19:34:59.123 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"20/72 (quickcheck + 11 more)","percentage":27}}} 2024-01-25T19:34:59.143 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"21/72 (futures_util + 11 more)","percentage":29}}} 2024-01-25T19:34:59.147 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"22/72 (futures_util + 11 more)","percentage":30}}} 2024-01-25T19:34:59.148 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"23/72 (futures_util + 11 more)","percentage":31}}} 2024-01-25T19:34:59.148 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"24/72 (futures_util + 11 more)","percentage":33}}} 2024-01-25T19:34:59.163 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"25/72 (futures_util + 11 more)","percentage":34}}} 2024-01-25T19:34:59.168 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"26/72 (futures_util + 11 more)","percentage":36}}} 2024-01-25T19:34:59.170 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"27/72 (futures_util + 11 more)","percentage":37}}} 2024-01-25T19:34:59.172 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"28/72 (futures_util + 11 more)","percentage":38}}} 2024-01-25T19:34:59.181 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"29/72 (futures_util + 11 more)","percentage":40}}} 2024-01-25T19:34:59.185 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"30/72 (futures_util + 11 more)","percentage":41}}} 2024-01-25T19:34:59.186 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"31/72 (futures_util + 11 more)","percentage":43}}} 2024-01-25T19:34:59.195 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"32/72 (futures_util + 11 more)","percentage":44}}} 2024-01-25T19:34:59.199 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"33/72 (futures_util + 11 more)","percentage":45}}} 2024-01-25T19:34:59.254 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"34/72 (futures_util + 11 more)","percentage":47}}} 2024-01-25T19:34:59.320 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"35/72 (futures_util + 11 more)","percentage":48}}} 2024-01-25T19:34:59.361 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"36/72 (futures_util + 11 more)","percentage":50}}} 2024-01-25T19:34:59.398 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"37/72 (futures_util + 11 more)","percentage":51}}} 2024-01-25T19:34:59.433 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"38/72 (futures_util + 11 more)","percentage":52}}} 2024-01-25T19:34:59.436 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"39/72 (futures_util + 10 more)","percentage":54}}} 2024-01-25T19:34:59.466 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"40/72 (futures_util + 9 more)","percentage":55}}} 2024-01-25T19:34:59.507 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"41/72 (tempfile + 9 more)","percentage":56}}} 2024-01-25T19:34:59.511 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"42/72 (tempfile + 8 more)","percentage":58}}} 2024-01-25T19:34:59.557 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"43/72 (tempfile + 11 more)","percentage":59}}} 2024-01-25T19:34:59.559 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"44/72 (tempfile + 10 more)","percentage":61}}} 2024-01-25T19:34:59.559 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"44/72 (tempfile + 11 more)","percentage":61}}} 2024-01-25T19:34:59.575 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"45/72 (tempfile + 11 more)","percentage":62}}} 2024-01-25T19:34:59.582 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"46/72 (tempfile + 11 more)","percentage":63}}} 2024-01-25T19:34:59.606 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"47/72 (tempfile + 11 more)","percentage":65}}} 2024-01-25T19:34:59.613 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"48/72 (tempfile + 11 more)","percentage":66}}} 2024-01-25T19:34:59.624 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"49/72 (tempfile + 11 more)","percentage":68}}} 2024-01-25T19:34:59.628 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"50/72 (tempfile + 10 more)","percentage":69}}} 2024-01-25T19:34:59.641 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"51/72 (tempfile + 9 more)","percentage":70}}} 2024-01-25T19:34:59.726 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"52/72 (tempfile + 8 more)","percentage":72}}} 2024-01-25T19:34:59.844 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"53/72 (tempfile + 7 more)","percentage":73}}} 2024-01-25T19:34:59.862 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"54/72 (crossterm + 6 more)","percentage":75}}} 2024-01-25T19:34:59.863 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"55/72 (crossterm + 5 more)","percentage":76}}} 2024-01-25T19:34:59.865 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"56/72 (crossterm + 4 more)","percentage":77}}} 2024-01-25T19:34:59.865 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"56/72 (crossterm + 5 more)","percentage":77}}} 2024-01-25T19:34:59.867 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"57/72 (crossterm + 4 more)","percentage":79}}} 2024-01-25T19:34:59.919 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"58/72 (crossterm + 3 more)","percentage":80}}} 2024-01-25T19:34:59.981 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"59/72 (crossterm + 3 more)","percentage":81}}} 2024-01-25T19:34:59.981 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"60/72 (crossterm + 2 more)","percentage":83}}} 2024-01-25T19:34:59.981 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"60/72 (crossterm + 3 more)","percentage":83}}} 2024-01-25T19:34:59.983 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"61/72 (crossterm + 2 more)","percentage":84}}} 2024-01-25T19:35:00.240 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"62/72 (gix + 1 more)","percentage":86}}} 2024-01-25T19:35:00.380 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"63/72 (gix + 3 more)","percentage":87}}} 2024-01-25T19:35:00.385 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"64/72 (gix + 2 more)","percentage":88}}} 2024-01-25T19:35:00.416 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"65/72 (gix + 1 more)","percentage":90}}} 2024-01-25T19:35:00.418 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"66/72 (gix)","percentage":91}}} 2024-01-25T19:35:00.418 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"66/72 (gix + 1 more)","percentage":91}}} 2024-01-25T19:35:00.438 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"67/72 (gix)","percentage":93}}} 2024-01-25T19:35:00.574 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"68/72 (helix_vcs)","percentage":94}}} 2024-01-25T19:35:00.574 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"69/72 (helix_view)","percentage":95}}} 2024-01-25T19:35:00.574 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"percentage":97}}} 2024-01-25T19:35:00.574 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"70/72 (helix_tui)","percentage":97}}} 2024-01-25T19:35:00.601 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"message":"71/72 (helix_term)","percentage":98}}} 2024-01-25T19:35:00.681 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"report","cancellable":false,"percentage":100}}} 2024-01-25T19:35:00.681 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"end"}}} 2024-01-25T19:35:05.756 helix_lsp::transport [INFO] rust-analyzer <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///c:/Users/there/Desktop/helix/helix-view/src/document.rs","diagnostics":[{"range":{"start":{"line":955,"character":4},"end":{"line":968,"character":5}},"severity":4,"code":"inactive-code","codeDescription":{"href":"https://rust-analyzer.github.io/manual.html#inactive-code"},"source":"rust-analyzer","message":"code is inactive due to #[cfg] directives: unix is disabled","tags":[1]}],"version":0}}