xrl 0.0.9

Xi Rpc Lib - Tokio based implementation of the RPC used in the Xi editor
Documentation
#![recursion_limit = "128"]

use criterion::*;
use xrl::{OperationType::*, Update, *};

// Load the Cargo.toml of this project into the cache
fn load_cargo_toml(c: &mut Criterion) {
    let updates = vec![
        Update { rev: None, operations: [Operation { operation_type: Insert, nb_lines: 12, line_num: None, lines: [Line { text: "[package]\n".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(1) }, Line { text: "authors ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(2) }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "[\"Corentin ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "Henry ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "<corentinhenry@gmail.com>\"]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "description ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(3) }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "\"Xi ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "Rpc ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "Lib ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "- ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }].to_vec() }, Operation { operation_type: Invalidate, nb_lines: 115, line_num: None, lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Insert, nb_lines: 12, line_num: None, lines: [Line { text: "[package]\n".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(1) }, Line { text: "authors ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(2) }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "[\"Corentin ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "Henry ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "<corentinhenry@gmail.com>\"]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "description ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(3) }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "\"Xi ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "Rpc ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "Lib ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "- ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }].to_vec() }, Operation { operation_type: Invalidate, nb_lines: 115, line_num: None, lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 12, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 38, line_num: None, lines: [Line { text: "Tokio ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "based ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "implementation ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "of ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "the ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "RPC ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "used ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "in ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "the ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "Xi ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "editor\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "homepage ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(4) }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "\"https://".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "github.com/".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "xi-".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "frontend/".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "keywords ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(5) }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "[\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "    ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(6) }, Line { text: "\"xi\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "    ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(7) }, Line { text: "\"rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "    ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(8) }, Line { text: "\"json-".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(9) }, Line { text: "license-".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(10) }, Line { text: "file ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "\"LICENSE-".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "MIT\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "name ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(11) }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "\"xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "readme ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(12) }].to_vec() }, Operation { operation_type: Invalidate, nb_lines: 77, line_num: None, lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Insert, nb_lines: 38, line_num: None, lines: [Line { text: "[package]\n".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(1) }, Line { text: "authors = [\"Corentin Henry <corentinhenry@gmail.com>\"]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(2) }, Line { text: "description = \"Xi Rpc Lib - Tokio based implementation of the RPC used in the Xi editor\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(3) }, Line { text: "homepage = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(4) }, Line { text: "keywords = [\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(5) }, Line { text: "    \"xi\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(6) }, Line { text: "    \"rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(7) }, Line { text: "    \"json-rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(8) }, Line { text: "]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(9) }, Line { text: "license-file = \"LICENSE-MIT\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(10) }, Line { text: "name = \"xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(11) }, Line { text: "readme = \"README.md\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(12) }, Line { text: "repository = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(13) }, Line { text: "version = \"0.0.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(14) }, Line { text: "edition = \"2018\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(15) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(16) }, Line { text: "[dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(17) }, Line { text: "bytes = \"0.4.12\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(18) }, Line { text: "futures = \"0.1.27\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(19) }, Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(22) }, Line { text: "serde_json = \"1.0.39\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(23) }, Line { text: "tokio = \"0.1.21\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(24) }, Line { text: "tokio-codec = \"0.1.1\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(25) }, Line { text: "tokio-process = \"0.2.3\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(26) }, Line { text: "syntect = { version = \"3.2.0\".to_string(), default-features = false }\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(27) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(28) }, Line { text: "[dependencies.clippy]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(29) }, Line { text: "optional = true\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(30) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(31) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(32) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(33) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(34) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(35) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(36) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(37) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(38) }].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Insert, nb_lines: 38, line_num: None, lines: [Line { text: "[package]\n".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(1) }, Line { text: "authors = [\"Corentin Henry <corentinhenry@gmail.com>\"]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(2) }, Line { text: "description = \"Xi Rpc Lib - Tokio based implementation of the RPC used in the Xi editor\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(3) }, Line { text: "homepage = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(4) }, Line { text: "keywords = [\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(5) }, Line { text: "    \"xi\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(6) }, Line { text: "    \"rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(7) }, Line { text: "    \"json-rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(8) }, Line { text: "]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(9) }, Line { text: "license-file = \"LICENSE-MIT\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(10) }, Line { text: "name = \"xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(11) }, Line { text: "readme = \"README.md\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(12) }, Line { text: "repository = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(13) }, Line { text: "version = \"0.0.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(14) }, Line { text: "edition = \"2018\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(15) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(16) }, Line { text: "[dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(17) }, Line { text: "bytes = \"0.4.12\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(18) }, Line { text: "futures = \"0.1.27\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(19) }, Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(22) }, Line { text: "serde_json = \"1.0.39\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(23) }, Line { text: "tokio = \"0.1.21\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(24) }, Line { text: "tokio-codec = \"0.1.1\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(25) }, Line { text: "tokio-process = \"0.2.3\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(26) }, Line { text: "syntect = { version = \"3.2.0\".to_string(), default-features = false }\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(27) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(28) }, Line { text: "[dependencies.clippy]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(29) }, Line { text: "optional = true\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(30) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(31) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(32) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(33) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(34) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(35) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(36) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(37) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(38) }].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Insert, nb_lines: 38, line_num: None, lines: [Line { text: "[package]\n".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(1) }, Line { text: "authors = [\"Corentin Henry <corentinhenry@gmail.com>\"]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(2) }, Line { text: "description = \"Xi Rpc Lib - Tokio based implementation of the RPC used in the Xi editor\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(3) }, Line { text: "homepage = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(4) }, Line { text: "keywords = [\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(5) }, Line { text: "    \"xi\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(6) }, Line { text: "    \"rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(7) }, Line { text: "    \"json-rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(8) }, Line { text: "]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(9) }, Line { text: "license-file = \"LICENSE-MIT\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(10) }, Line { text: "name = \"xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(11) }, Line { text: "readme = \"README.md\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(12) }, Line { text: "repository = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(13) }, Line { text: "version = \"0.0.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(14) }, Line { text: "edition = \"2018\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(15) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(16) }, Line { text: "[dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(17) }, Line { text: "bytes = \"0.4.12\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(18) }, Line { text: "futures = \"0.1.27\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(19) }, Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(22) }, Line { text: "serde_json = \"1.0.39\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(23) }, Line { text: "tokio = \"0.1.21\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(24) }, Line { text: "tokio-codec = \"0.1.1\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(25) }, Line { text: "tokio-process = \"0.2.3\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(26) }, Line { text: "syntect = { version = \"3.2.0\".to_string(), default-features = false }\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(27) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(28) }, Line { text: "[dependencies.clippy]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(29) }, Line { text: "optional = true\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(30) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(31) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(32) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(33) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(34) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(35) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(36) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(37) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(38) }].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Insert, nb_lines: 38, line_num: None, lines: [Line { text: "[package]\n".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(1) }, Line { text: "authors = [\"Corentin Henry <corentinhenry@gmail.com>\"]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(2) }, Line { text: "description = \"Xi Rpc Lib - Tokio based implementation of the RPC used in the Xi editor\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(3) }, Line { text: "homepage = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(4) }, Line { text: "keywords = [\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(5) }, Line { text: "    \"xi\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(6) }, Line { text: "    \"rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(7) }, Line { text: "    \"json-rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(8) }, Line { text: "]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(9) }, Line { text: "license-file = \"LICENSE-MIT\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(10) }, Line { text: "name = \"xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(11) }, Line { text: "readme = \"README.md\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(12) }, Line { text: "repository = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(13) }, Line { text: "version = \"0.0.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(14) }, Line { text: "edition = \"2018\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(15) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(16) }, Line { text: "[dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(17) }, Line { text: "bytes = \"0.4.12\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(18) }, Line { text: "futures = \"0.1.27\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(19) }, Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(22) }, Line { text: "serde_json = \"1.0.39\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(23) }, Line { text: "tokio = \"0.1.21\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(24) }, Line { text: "tokio-codec = \"0.1.1\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(25) }, Line { text: "tokio-process = \"0.2.3\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(26) }, Line { text: "syntect = { version = \"3.2.0\".to_string(), default-features = false }\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(27) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(28) }, Line { text: "[dependencies.clippy]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(29) }, Line { text: "optional = true\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(30) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(31) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(32) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(33) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(34) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(35) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(36) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(37) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(38) }].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) }
    ];

    c.bench_function("load_cargo_toml", move |b| {
        b.iter(|| {
            let mut linecache = LineCache::default();
            for u in &updates {
                linecache.update(u.clone())
            }
        })
    });
}

// Load the Cargo.toml of this project into the cache and do some edit ops
fn edit_cargo_toml(c: &mut Criterion) {
    let updates = vec![
        Update { rev: None, operations: [Operation { operation_type: Insert, nb_lines: 12, line_num: None, lines: [Line { text: "[package]\n".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(1) }, Line { text: "authors ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(2) }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "[\"Corentin ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "Henry ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "<corentinhenry@gmail.com>\"]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "description ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(3) }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "\"Xi ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "Rpc ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "Lib ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "- ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }].to_vec() }, Operation { operation_type: Invalidate, nb_lines: 115, line_num: None, lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Insert, nb_lines: 12, line_num: None, lines: [Line { text: "[package]\n".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(1) }, Line { text: "authors ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(2) }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "[\"Corentin ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "Henry ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "<corentinhenry@gmail.com>\"]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "description ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(3) }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "\"Xi ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "Rpc ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "Lib ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "- ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }].to_vec() }, Operation { operation_type: Invalidate, nb_lines: 115, line_num: None, lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 12, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 38, line_num: None, lines: [Line { text: "Tokio ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "based ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "implementation ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "of ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "the ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "RPC ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "used ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "in ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "the ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "Xi ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "editor\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "homepage ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(4) }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "\"https://".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "github.com/".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "xi-".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "frontend/".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "keywords ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(5) }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "[\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "    ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(6) }, Line { text: "\"xi\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "    ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(7) }, Line { text: "\"rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "    ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(8) }, Line { text: "\"json-".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(9) }, Line { text: "license-".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(10) }, Line { text: "file ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "\"LICENSE-".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "MIT\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "name ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(11) }, Line { text: "= ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "\"xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: None }, Line { text: "readme ".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(12) }].to_vec() }, Operation { operation_type: Invalidate, nb_lines: 77, line_num: None, lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Insert, nb_lines: 38, line_num: None, lines: [Line { text: "[package]\n".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(1) }, Line { text: "authors = [\"Corentin Henry <corentinhenry@gmail.com>\"]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(2) }, Line { text: "description = \"Xi Rpc Lib - Tokio based implementation of the RPC used in the Xi editor\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(3) }, Line { text: "homepage = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(4) }, Line { text: "keywords = [\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(5) }, Line { text: "    \"xi\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(6) }, Line { text: "    \"rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(7) }, Line { text: "    \"json-rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(8) }, Line { text: "]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(9) }, Line { text: "license-file = \"LICENSE-MIT\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(10) }, Line { text: "name = \"xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(11) }, Line { text: "readme = \"README.md\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(12) }, Line { text: "repository = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(13) }, Line { text: "version = \"0.0.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(14) }, Line { text: "edition = \"2018\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(15) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(16) }, Line { text: "[dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(17) }, Line { text: "bytes = \"0.4.12\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(18) }, Line { text: "futures = \"0.1.27\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(19) }, Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(22) }, Line { text: "serde_json = \"1.0.39\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(23) }, Line { text: "tokio = \"0.1.21\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(24) }, Line { text: "tokio-codec = \"0.1.1\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(25) }, Line { text: "tokio-process = \"0.2.3\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(26) }, Line { text: "syntect = { version = \"3.2.0\".to_string(), default-features = false }\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(27) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(28) }, Line { text: "[dependencies.clippy]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(29) }, Line { text: "optional = true\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(30) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(31) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(32) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(33) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(34) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(35) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(36) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(37) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(38) }].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Insert, nb_lines: 38, line_num: None, lines: [Line { text: "[package]\n".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(1) }, Line { text: "authors = [\"Corentin Henry <corentinhenry@gmail.com>\"]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(2) }, Line { text: "description = \"Xi Rpc Lib - Tokio based implementation of the RPC used in the Xi editor\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(3) }, Line { text: "homepage = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(4) }, Line { text: "keywords = [\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(5) }, Line { text: "    \"xi\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(6) }, Line { text: "    \"rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(7) }, Line { text: "    \"json-rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(8) }, Line { text: "]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(9) }, Line { text: "license-file = \"LICENSE-MIT\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(10) }, Line { text: "name = \"xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(11) }, Line { text: "readme = \"README.md\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(12) }, Line { text: "repository = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(13) }, Line { text: "version = \"0.0.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(14) }, Line { text: "edition = \"2018\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(15) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(16) }, Line { text: "[dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(17) }, Line { text: "bytes = \"0.4.12\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(18) }, Line { text: "futures = \"0.1.27\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(19) }, Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(22) }, Line { text: "serde_json = \"1.0.39\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(23) }, Line { text: "tokio = \"0.1.21\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(24) }, Line { text: "tokio-codec = \"0.1.1\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(25) }, Line { text: "tokio-process = \"0.2.3\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(26) }, Line { text: "syntect = { version = \"3.2.0\".to_string(), default-features = false }\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(27) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(28) }, Line { text: "[dependencies.clippy]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(29) }, Line { text: "optional = true\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(30) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(31) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(32) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(33) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(34) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(35) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(36) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(37) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(38) }].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Insert, nb_lines: 38, line_num: None, lines: [Line { text: "[package]\n".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(1) }, Line { text: "authors = [\"Corentin Henry <corentinhenry@gmail.com>\"]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(2) }, Line { text: "description = \"Xi Rpc Lib - Tokio based implementation of the RPC used in the Xi editor\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(3) }, Line { text: "homepage = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(4) }, Line { text: "keywords = [\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(5) }, Line { text: "    \"xi\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(6) }, Line { text: "    \"rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(7) }, Line { text: "    \"json-rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(8) }, Line { text: "]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(9) }, Line { text: "license-file = \"LICENSE-MIT\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(10) }, Line { text: "name = \"xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(11) }, Line { text: "readme = \"README.md\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(12) }, Line { text: "repository = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(13) }, Line { text: "version = \"0.0.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(14) }, Line { text: "edition = \"2018\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(15) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(16) }, Line { text: "[dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(17) }, Line { text: "bytes = \"0.4.12\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(18) }, Line { text: "futures = \"0.1.27\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(19) }, Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(22) }, Line { text: "serde_json = \"1.0.39\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(23) }, Line { text: "tokio = \"0.1.21\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(24) }, Line { text: "tokio-codec = \"0.1.1\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(25) }, Line { text: "tokio-process = \"0.2.3\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(26) }, Line { text: "syntect = { version = \"3.2.0\".to_string(), default-features = false }\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(27) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(28) }, Line { text: "[dependencies.clippy]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(29) }, Line { text: "optional = true\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(30) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(31) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(32) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(33) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(34) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(35) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(36) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(37) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(38) }].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Insert, nb_lines: 38, line_num: None, lines: [Line { text: "[package]\n".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(1) }, Line { text: "authors = [\"Corentin Henry <corentinhenry@gmail.com>\"]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(2) }, Line { text: "description = \"Xi Rpc Lib - Tokio based implementation of the RPC used in the Xi editor\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(3) }, Line { text: "homepage = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(4) }, Line { text: "keywords = [\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(5) }, Line { text: "    \"xi\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(6) }, Line { text: "    \"rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(7) }, Line { text: "    \"json-rpc\".to_string(),\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(8) }, Line { text: "]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(9) }, Line { text: "license-file = \"LICENSE-MIT\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(10) }, Line { text: "name = \"xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(11) }, Line { text: "readme = \"README.md\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(12) }, Line { text: "repository = \"https://github.com/xi-frontend/xrl\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(13) }, Line { text: "version = \"0.0.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(14) }, Line { text: "edition = \"2018\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(15) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(16) }, Line { text: "[dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(17) }, Line { text: "bytes = \"0.4.12\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(18) }, Line { text: "futures = \"0.1.27\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(19) }, Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(22) }, Line { text: "serde_json = \"1.0.39\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(23) }, Line { text: "tokio = \"0.1.21\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(24) }, Line { text: "tokio-codec = \"0.1.1\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(25) }, Line { text: "tokio-process = \"0.2.3\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(26) }, Line { text: "syntect = { version = \"3.2.0\".to_string(), default-features = false }\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(27) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(28) }, Line { text: "[dependencies.clippy]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(29) }, Line { text: "optional = true\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(30) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(31) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(32) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(33) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(34) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(35) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(36) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(37) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(38) }].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "[package]\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(1) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 20, line_num: Some(2), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [23].to_vec(), styles: [].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 21, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [23].to_vec(), styles: [].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 20, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [16].to_vec(), styles: [StyleDef { offset: 16, length: 1, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 2, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 20, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [16].to_vec(), styles: [StyleDef { offset: 16, length: 1, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 2, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 20, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [16].to_vec(), styles: [StyleDef { offset: 16, length: 1, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 2, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 20, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [16].to_vec(), styles: [StyleDef { offset: 16, length: 1, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 2, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 3, line_num: None, lines: [Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [13].to_vec(), styles: [StyleDef { offset: 13, length: 1, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 3, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 3, line_num: None, lines: [Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [13].to_vec(), styles: [StyleDef { offset: 13, length: 1, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 3, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 3, line_num: None, lines: [Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [13].to_vec(), styles: [StyleDef { offset: 13, length: 1, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 3, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 3, line_num: None, lines: [Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [13].to_vec(), styles: [StyleDef { offset: 13, length: 1, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 3, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 3, line_num: None, lines: [Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [12].to_vec(), styles: [StyleDef { offset: 12, length: 2, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 3, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 3, line_num: None, lines: [Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [12].to_vec(), styles: [StyleDef { offset: 12, length: 2, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 3, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 3, line_num: None, lines: [Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [11].to_vec(), styles: [StyleDef { offset: 11, length: 3, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 3, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 3, line_num: None, lines: [Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [10].to_vec(), styles: [StyleDef { offset: 10, length: 4, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 3, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 3, line_num: None, lines: [Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [9].to_vec(), styles: [StyleDef { offset: 9, length: 5, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 3, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 3, line_num: None, lines: [Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [8].to_vec(), styles: [StyleDef { offset: 8, length: 6, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 3, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 3, line_num: None, lines: [Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [8].to_vec(), styles: [StyleDef { offset: 8, length: 6, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 3, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 4, line_num: None, lines: [Line { text: "futures = \"0.1.27\"\n".to_string(), cursor: [7].to_vec(), styles: [StyleDef { offset: 7, length: 12, style_id: 0 }].to_vec(), line_num: Some(19) }, Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 14, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 4, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 4, line_num: None, lines: [Line { text: "futures = \"0.1.27\"\n".to_string(), cursor: [7].to_vec(), styles: [StyleDef { offset: 7, length: 12, style_id: 0 }].to_vec(), line_num: Some(19) }, Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 14, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 4, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 4, line_num: None, lines: [Line { text: "futures = \"0.1.27\"\n".to_string(), cursor: [7].to_vec(), styles: [StyleDef { offset: 7, length: 12, style_id: 0 }].to_vec(), line_num: Some(19) }, Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 14, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 4, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 4, line_num: None, lines: [Line { text: "futures = \"0.1.27\"\n".to_string(), cursor: [6].to_vec(), styles: [StyleDef { offset: 6, length: 13, style_id: 0 }].to_vec(), line_num: Some(19) }, Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 14, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 4, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 4, line_num: None, lines: [Line { text: "futures = \"0.1.27\"\n".to_string(), cursor: [6].to_vec(), styles: [StyleDef { offset: 6, length: 13, style_id: 0 }].to_vec(), line_num: Some(19) }, Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 14, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 4, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 4, line_num: None, lines: [Line { text: "futures = \"0.1.27\"\n".to_string(), cursor: [6].to_vec(), styles: [StyleDef { offset: 6, length: 13, style_id: 0 }].to_vec(), line_num: Some(19) }, Line { text: "log = \"0.4.6\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 14, style_id: 0 }].to_vec(), line_num: Some(20) }, Line { text: "serde = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 17, style_id: 0 }].to_vec(), line_num: Some(21) }, Line { text: "serde_derive = \"1.0.92\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 23, style_id: 0 }].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 4, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(23), lines: [].to_vec() }].to_vec(), pristine: true, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "future\n".to_string(), cursor: [6].to_vec(), styles: [].to_vec(), line_num: Some(19) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 4, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(20), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "futured\n".to_string(), cursor: [7].to_vec(), styles: [].to_vec(), line_num: Some(19) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(20), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "futuredj\n".to_string(), cursor: [8].to_vec(), styles: [].to_vec(), line_num: Some(19) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(20), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "futuredjw\n".to_string(), cursor: [9].to_vec(), styles: [].to_vec(), line_num: Some(19) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(20), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "futuredjwi\n".to_string(), cursor: [10].to_vec(), styles: [].to_vec(), line_num: Some(19) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(20), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "futuredjwia\n".to_string(), cursor: [11].to_vec(), styles: [].to_vec(), line_num: Some(19) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(20), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "futuredjwiad\n".to_string(), cursor: [12].to_vec(), styles: [].to_vec(), line_num: Some(19) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(20), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "futuredjwiadj\n".to_string(), cursor: [13].to_vec(), styles: [].to_vec(), line_num: Some(19) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(20), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "futuredjwiadja\n".to_string(), cursor: [14].to_vec(), styles: [].to_vec(), line_num: Some(19) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(20), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "futuredjwiadjaw\n".to_string(), cursor: [15].to_vec(), styles: [].to_vec(), line_num: Some(19) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(20), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "futuredjwiadjawi\n".to_string(), cursor: [16].to_vec(), styles: [].to_vec(), line_num: Some(19) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(20), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "futuredjwiadjawiü\n".to_string(), cursor: [18].to_vec(), styles: [].to_vec(), line_num: Some(19) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(20), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 18, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "futuredjwiadjawiü\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(19) }, Line { text: "\n".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(20) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(21), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "d\n".to_string(), cursor: [1].to_vec(), styles: [].to_vec(), line_num: Some(20) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(21), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dw\n".to_string(), cursor: [2].to_vec(), styles: [].to_vec(), line_num: Some(20) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(21), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwa\n".to_string(), cursor: [3].to_vec(), styles: [].to_vec(), line_num: Some(20) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(21), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwao\n".to_string(), cursor: [4].to_vec(), styles: [].to_vec(), line_num: Some(20) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(21), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwaoi\n".to_string(), cursor: [5].to_vec(), styles: [].to_vec(), line_num: Some(20) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(21), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwaoio\n".to_string(), cursor: [6].to_vec(), styles: [].to_vec(), line_num: Some(20) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(21), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwaoioi\n".to_string(), cursor: [7].to_vec(), styles: [].to_vec(), line_num: Some(20) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(21), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwaoioiä\n".to_string(), cursor: [9].to_vec(), styles: [].to_vec(), line_num: Some(20) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(21), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwaoioiäd\n".to_string(), cursor: [10].to_vec(), styles: [].to_vec(), line_num: Some(20) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(21), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwaoioiäda\n".to_string(), cursor: [11].to_vec(), styles: [].to_vec(), line_num: Some(20) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(21), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwaoioiädaw\n".to_string(), cursor: [12].to_vec(), styles: [].to_vec(), line_num: Some(20) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 16, line_num: Some(21), lines: [].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 19, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwaoioiädaw\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(20) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 15, line_num: Some(21), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "harness = false".to_string(), cursor: [15].to_vec(), styles: [].to_vec(), line_num: Some(36) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 34, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "name = \"linecache\"\n".to_string(), cursor: [18].to_vec(), styles: [StyleDef { offset: 18, length: 1, style_id: 0 }].to_vec(), line_num: Some(35) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 15, style_id: 0 }].to_vec(), line_num: Some(36) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 32, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 4, line_num: None, lines: [Line { text: "\n".to_string(), cursor: [0].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(33) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 10, style_id: 0 }].to_vec(), line_num: Some(34) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(35) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 15, style_id: 0 }].to_vec(), line_num: Some(36) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 30, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 6, line_num: None, lines: [Line { text: "[dev-dependencies]\n".to_string(), cursor: [16].to_vec(), styles: [StyleDef { offset: 16, length: 3, style_id: 0 }].to_vec(), line_num: Some(31) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 18, style_id: 0 }].to_vec(), line_num: Some(32) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(33) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 10, style_id: 0 }].to_vec(), line_num: Some(34) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(35) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 15, style_id: 0 }].to_vec(), line_num: Some(36) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 27, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 9, line_num: None, lines: [Line { text: "optional = true\n".to_string(), cursor: [11].to_vec(), styles: [StyleDef { offset: 11, length: 5, style_id: 0 }].to_vec(), line_num: Some(28) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 20, style_id: 0 }].to_vec(), line_num: Some(29) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(30) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(31) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 18, style_id: 0 }].to_vec(), line_num: Some(32) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(33) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 10, style_id: 0 }].to_vec(), line_num: Some(34) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(35) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 15, style_id: 0 }].to_vec(), line_num: Some(36) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 24, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 12, line_num: None, lines: [Line { text: "syntect = { version = \"3.2.0\".to_string(), default-features = false }\n".to_string(), cursor: [8].to_vec(), styles: [StyleDef { offset: 8, length: 50, style_id: 0 }].to_vec(), line_num: Some(25) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(26) }, Line { text: "[dependencies.clippy]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 22, style_id: 0 }].to_vec(), line_num: Some(27) }, Line { text: "optional = true\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 16, style_id: 0 }].to_vec(), line_num: Some(28) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 20, style_id: 0 }].to_vec(), line_num: Some(29) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(30) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(31) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 18, style_id: 0 }].to_vec(), line_num: Some(32) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(33) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 10, style_id: 0 }].to_vec(), line_num: Some(34) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(35) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 15, style_id: 0 }].to_vec(), line_num: Some(36) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 22, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 14, line_num: None, lines: [Line { text: "tokio-codec = \"0.1.1\"\n".to_string(), cursor: [6].to_vec(), styles: [StyleDef { offset: 6, length: 16, style_id: 0 }].to_vec(), line_num: Some(23) }, Line { text: "tokio-process = \"0.2.3\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 24, style_id: 0 }].to_vec(), line_num: Some(24) }, Line { text: "syntect = { version = \"3.2.0\".to_string(), default-features = false }\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 58, style_id: 0 }].to_vec(), line_num: Some(25) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(26) }, Line { text: "[dependencies.clippy]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 22, style_id: 0 }].to_vec(), line_num: Some(27) }, Line { text: "optional = true\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 16, style_id: 0 }].to_vec(), line_num: Some(28) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 20, style_id: 0 }].to_vec(), line_num: Some(29) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(30) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(31) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 18, style_id: 0 }].to_vec(), line_num: Some(32) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(33) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 10, style_id: 0 }].to_vec(), line_num: Some(34) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(35) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 15, style_id: 0 }].to_vec(), line_num: Some(36) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 22, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 14, line_num: None, lines: [Line { text: "tokio-codec = \"0.1.1\"\n".to_string(), cursor: [6].to_vec(), styles: [StyleDef { offset: 6, length: 16, style_id: 0 }].to_vec(), line_num: Some(23) }, Line { text: "tokio-process = \"0.2.3\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 24, style_id: 0 }].to_vec(), line_num: Some(24) }, Line { text: "syntect = { version = \"3.2.0\".to_string(), default-features = false }\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 58, style_id: 0 }].to_vec(), line_num: Some(25) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(26) }, Line { text: "[dependencies.clippy]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 22, style_id: 0 }].to_vec(), line_num: Some(27) }, Line { text: "optional = true\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 16, style_id: 0 }].to_vec(), line_num: Some(28) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 20, style_id: 0 }].to_vec(), line_num: Some(29) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(30) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(31) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 18, style_id: 0 }].to_vec(), line_num: Some(32) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(33) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 10, style_id: 0 }].to_vec(), line_num: Some(34) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(35) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 15, style_id: 0 }].to_vec(), line_num: Some(36) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 21, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 15, line_num: None, lines: [Line { text: "tokio = \"0.1.21\"\n".to_string(), cursor: [5].to_vec(), styles: [StyleDef { offset: 5, length: 12, style_id: 0 }].to_vec(), line_num: Some(22) }, Line { text: "tokio-codec = \"0.1.1\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 22, style_id: 0 }].to_vec(), line_num: Some(23) }, Line { text: "tokio-process = \"0.2.3\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 24, style_id: 0 }].to_vec(), line_num: Some(24) }, Line { text: "syntect = { version = \"3.2.0\".to_string(), default-features = false }\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 58, style_id: 0 }].to_vec(), line_num: Some(25) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(26) }, Line { text: "[dependencies.clippy]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 22, style_id: 0 }].to_vec(), line_num: Some(27) }, Line { text: "optional = true\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 16, style_id: 0 }].to_vec(), line_num: Some(28) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 20, style_id: 0 }].to_vec(), line_num: Some(29) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(30) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(31) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 18, style_id: 0 }].to_vec(), line_num: Some(32) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(33) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 10, style_id: 0 }].to_vec(), line_num: Some(34) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(35) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 15, style_id: 0 }].to_vec(), line_num: Some(36) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 21, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 15, line_num: None, lines: [Line { text: "tokio = \"0.1.21\"\n".to_string(), cursor: [5].to_vec(), styles: [StyleDef { offset: 5, length: 12, style_id: 0 }].to_vec(), line_num: Some(22) }, Line { text: "tokio-codec = \"0.1.1\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 22, style_id: 0 }].to_vec(), line_num: Some(23) }, Line { text: "tokio-process = \"0.2.3\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 24, style_id: 0 }].to_vec(), line_num: Some(24) }, Line { text: "syntect = { version = \"3.2.0\".to_string(), default-features = false }\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 58, style_id: 0 }].to_vec(), line_num: Some(25) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(26) }, Line { text: "[dependencies.clippy]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 22, style_id: 0 }].to_vec(), line_num: Some(27) }, Line { text: "optional = true\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 16, style_id: 0 }].to_vec(), line_num: Some(28) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 20, style_id: 0 }].to_vec(), line_num: Some(29) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(30) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(31) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 18, style_id: 0 }].to_vec(), line_num: Some(32) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(33) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 10, style_id: 0 }].to_vec(), line_num: Some(34) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(35) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 15, style_id: 0 }].to_vec(), line_num: Some(36) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 21, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 15, line_num: None, lines: [Line { text: "tokio = \"0.1.21\"\n".to_string(), cursor: [5].to_vec(), styles: [StyleDef { offset: 5, length: 12, style_id: 0 }].to_vec(), line_num: Some(22) }, Line { text: "tokio-codec = \"0.1.1\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 22, style_id: 0 }].to_vec(), line_num: Some(23) }, Line { text: "tokio-process = \"0.2.3\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 24, style_id: 0 }].to_vec(), line_num: Some(24) }, Line { text: "syntect = { version = \"3.2.0\".to_string(), default-features = false }\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 58, style_id: 0 }].to_vec(), line_num: Some(25) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(26) }, Line { text: "[dependencies.clippy]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 22, style_id: 0 }].to_vec(), line_num: Some(27) }, Line { text: "optional = true\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 16, style_id: 0 }].to_vec(), line_num: Some(28) }, Line { text: "version = \"0.0.302\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 20, style_id: 0 }].to_vec(), line_num: Some(29) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(30) }, Line { text: "[dev-dependencies]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(31) }, Line { text: "criterion = \"0.2\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 18, style_id: 0 }].to_vec(), line_num: Some(32) }, Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 1, style_id: 0 }].to_vec(), line_num: Some(33) }, Line { text: "[[bench]]\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 10, style_id: 0 }].to_vec(), line_num: Some(34) }, Line { text: "name = \"linecache\"\n".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 19, style_id: 0 }].to_vec(), line_num: Some(35) }, Line { text: "harness = false".to_string(), cursor: [].to_vec(), styles: [StyleDef { offset: 0, length: 15, style_id: 0 }].to_vec(), line_num: Some(36) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 21, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "tokio".to_string(), cursor: [5].to_vec(), styles: [].to_vec(), line_num: Some(22) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 21, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "tokiod".to_string(), cursor: [6].to_vec(), styles: [].to_vec(), line_num: Some(22) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 21, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "tokiods".to_string(), cursor: [7].to_vec(), styles: [].to_vec(), line_num: Some(22) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 21, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "tokiodsa".to_string(), cursor: [8].to_vec(), styles: [].to_vec(), line_num: Some(22) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 21, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "tokiodsa\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(22) }, Line { text: "".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(23) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 22, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(23) }, Line { text: "".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(24) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 23, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(24) }, Line { text: "".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(25) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 24, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(25) }, Line { text: "".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(26) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 25, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(26) }, Line { text: "".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(27) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 26, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(27) }, Line { text: "".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(28) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 27, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(28) }, Line { text: "".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(29) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 28, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "d".to_string(), cursor: [1].to_vec(), styles: [].to_vec(), line_num: Some(29) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 28, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dw".to_string(), cursor: [2].to_vec(), styles: [].to_vec(), line_num: Some(29) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 28, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwa".to_string(), cursor: [3].to_vec(), styles: [].to_vec(), line_num: Some(29) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 28, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwaü".to_string(), cursor: [5].to_vec(), styles: [].to_vec(), line_num: Some(29) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 28, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwaüo".to_string(), cursor: [6].to_vec(), styles: [].to_vec(), line_num: Some(29) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 28, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwaüoi".to_string(), cursor: [7].to_vec(), styles: [].to_vec(), line_num: Some(29) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 28, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwaüoid".to_string(), cursor: [8].to_vec(), styles: [].to_vec(), line_num: Some(29) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 28, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwaüoida".to_string(), cursor: [9].to_vec(), styles: [].to_vec(), line_num: Some(29) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 28, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dwaüoidaw".to_string(), cursor: [10].to_vec(), styles: [].to_vec(), line_num: Some(29) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 28, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "dwaüoidaw\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(29) }, Line { text: "".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(30) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 29, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "d".to_string(), cursor: [1].to_vec(), styles: [].to_vec(), line_num: Some(30) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 29, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "di".to_string(), cursor: [2].to_vec(), styles: [].to_vec(), line_num: Some(30) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 29, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "dia".to_string(), cursor: [3].to_vec(), styles: [].to_vec(), line_num: Some(30) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 29, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "diaw".to_string(), cursor: [4].to_vec(), styles: [].to_vec(), line_num: Some(30) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 29, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "diawj".to_string(), cursor: [5].to_vec(), styles: [].to_vec(), line_num: Some(30) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 29, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "diawjo".to_string(), cursor: [6].to_vec(), styles: [].to_vec(), line_num: Some(30) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 29, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "diawjoü".to_string(), cursor: [8].to_vec(), styles: [].to_vec(), line_num: Some(30) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 29, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "diawjoüd".to_string(), cursor: [9].to_vec(), styles: [].to_vec(), line_num: Some(30) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 29, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "diawjoüd\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(30) }, Line { text: "".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(31) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 30, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "d".to_string(), cursor: [1].to_vec(), styles: [].to_vec(), line_num: Some(31) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 30, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 2, line_num: None, lines: [Line { text: "d\n".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(31) }, Line { text: "".to_string(), cursor: [0].to_vec(), styles: [].to_vec(), line_num: Some(32) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 31, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "d".to_string(), cursor: [1].to_vec(), styles: [].to_vec(), line_num: Some(32) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
        Update { rev: None, operations: [Operation { operation_type: Copy, nb_lines: 21, line_num: Some(1), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "tokiodsa\n".to_string(), cursor: [8].to_vec(), styles: [].to_vec(), line_num: Some(22) }].to_vec() }, Operation { operation_type: Skip, nb_lines: 1, line_num: None, lines: [].to_vec() }, Operation { operation_type: Copy, nb_lines: 9, line_num: Some(23), lines: [].to_vec() }, Operation { operation_type: Insert, nb_lines: 1, line_num: None, lines: [Line { text: "d".to_string(), cursor: [].to_vec(), styles: [].to_vec(), line_num: Some(32) }].to_vec() }].to_vec(), pristine: false, view_id: ViewId(1) },
    ];

    c.bench_function("edit_cargo_toml", move |b| {
        b.iter(|| {
            let mut linecache = LineCache::default();
            for u in &updates {
                linecache.update(u.clone())
            }
        })
    });
}

criterion_group!(benches, load_cargo_toml, edit_cargo_toml);
criterion_main!(benches);