@@ -63,13 +63,13 @@ use helix_lsp::lsp;
6363use url::Url;
6464
6565impl Document {
66− pub fn new(state: State) -> Self {
67− let changes = ChangeSet::new(&state.doc);
66+ pub fn new(text: Rope) -> Self {
67+ let changes = ChangeSet::new(&text);
6868 let old_state = None;
6969
7070 Self {
7171 path: None,
72− state,
72+ state: State::new(text),
7373 mode: Mode::Normal,
7474 restore_cursor: false,
7575 syntax: None,
@@ -93,7 +93,7 @@ impl Document {
9393
9494 // TODO: create if not found
9595
96− let mut doc = Self::new(State::new(doc));
96+ let mut doc = Self::new(doc);
9797
9898 let language_config = LOADER.language_config_for_file_name(path.as_path());
9999 doc.set_language(language_config, scopes);
@@ -340,13 +340,10 @@ mod test {
340340
341341 #[test]
342342 fn changeset_to_changes() {
343− use helix_core::{Rope, State, Transaction};
344− // use helix_view::Document;
345343 use helix_lsp::{lsp, Client};
346344 let text = Rope::from("hello");
347− let mut state = State::new(text);
348− state.selection = Selection::single(5, 5);
349− let mut doc = Document::new(state);
345+ let mut doc = Document::new(text);
346+ doc.set_selection(Selection::single(5, 5));
350347
351348 // insert
352349