diff options
author | Aleksey Kladov <[email protected]> | 2018-08-28 19:45:59 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2018-08-28 19:45:59 +0100 |
commit | e6ab53619b329f0b68417cb9fab41086cd8f0174 (patch) | |
tree | 2c433ff42337816489fdfdb834e463a3d1fd6cdb | |
parent | f5de8212dac608f143a5697187e62336a95a1ab7 (diff) |
be more careful with adding semis
-rw-r--r-- | crates/libeditor/src/typing.rs | 3 | ||||
-rw-r--r-- | crates/libsyntax2/src/yellow/syntax_text.rs | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/crates/libeditor/src/typing.rs b/crates/libeditor/src/typing.rs index 952caf7f6..65a8933a4 100644 --- a/crates/libeditor/src/typing.rs +++ b/crates/libeditor/src/typing.rs | |||
@@ -65,6 +65,9 @@ pub fn on_eq_typed(file: &File, offset: TextUnit) -> Option<ActionResult> { | |||
65 | if contains_offset_nonstrict(expr_range, offset) && offset != expr_range.start() { | 65 | if contains_offset_nonstrict(expr_range, offset) && offset != expr_range.start() { |
66 | return None; | 66 | return None; |
67 | } | 67 | } |
68 | if file.syntax().text().slice(offset..expr_range.start()).contains('\n') { | ||
69 | return None; | ||
70 | } | ||
68 | } else { | 71 | } else { |
69 | return None; | 72 | return None; |
70 | } | 73 | } |
diff --git a/crates/libsyntax2/src/yellow/syntax_text.rs b/crates/libsyntax2/src/yellow/syntax_text.rs index 268547470..d299fd700 100644 --- a/crates/libsyntax2/src/yellow/syntax_text.rs +++ b/crates/libsyntax2/src/yellow/syntax_text.rs | |||
@@ -99,3 +99,9 @@ impl SyntaxTextSlice for ops::RangeFrom<TextUnit> { | |||
99 | Some(TextRange::from_to(self.start, range.end())) | 99 | Some(TextRange::from_to(self.start, range.end())) |
100 | } | 100 | } |
101 | } | 101 | } |
102 | |||
103 | impl SyntaxTextSlice for ops::Range<TextUnit> { | ||
104 | fn restrict(&self, range: TextRange) -> Option<TextRange> { | ||
105 | TextRange::from_to(self.start, self.end).restrict(range) | ||
106 | } | ||
107 | } | ||