diff --git a/helix-core/src/indent.rs b/helix-core/src/indent.rs index 49552b4f..68d5d7b0 100644 --- a/helix-core/src/indent.rs +++ b/helix-core/src/indent.rs @@ -78,6 +78,8 @@ fn calculate_indentation(node: Option, newline: bool) -> usize { "field_expression", // "where_clause", + // + "use_list", ]; let outdent = &["where", "}", "]", ")"]; @@ -213,6 +215,12 @@ mod test { fn test_suggested_indent_for_line() { let doc = Rope::from( " +use std::{ + io::{self, stdout, Stdout, Write}, + path::PathBuf, + sync::Arc, + time::Duration, +} mod test { fn hello_world() { 1 + 1; diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index 4fe80971..95c98b10 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -644,7 +644,7 @@ pub fn open_below(cx: &mut Context) { let indent_level = helix_core::indent::suggested_indent_for_pos( doc.syntax.as_ref(), &doc.state, - index, + index - 1, // need to match the indentation to the prev line true, ); let indent = " ".repeat(TAB_WIDTH).repeat(indent_level);