Restructure how bracket pairs are overridden to unify lists
This way, a bracket pair that is disabled in a given scope can still be skipped, if it was auto-closed before that scope existed.
This commit is contained in:
parent
2982a98d1c
commit
8922156923
22 changed files with 341 additions and 454 deletions
|
@ -1761,8 +1761,8 @@ impl Editor {
|
|||
// bracket of any of this language's bracket pairs.
|
||||
let mut bracket_pair = None;
|
||||
let mut is_bracket_pair_start = false;
|
||||
for pair in language.brackets() {
|
||||
if pair.close && pair.start.ends_with(text.as_ref()) {
|
||||
for (pair, enabled) in language.brackets() {
|
||||
if enabled && pair.close && pair.start.ends_with(text.as_ref()) {
|
||||
bracket_pair = Some(pair.clone());
|
||||
is_bracket_pair_start = true;
|
||||
break;
|
||||
|
@ -1930,11 +1930,11 @@ impl Editor {
|
|||
.map(|c| c.len_utf8())
|
||||
.sum::<usize>();
|
||||
|
||||
insert_extra_newline = language.brackets().iter().any(|pair| {
|
||||
insert_extra_newline = language.brackets().any(|(pair, enabled)| {
|
||||
let pair_start = pair.start.trim_end();
|
||||
let pair_end = pair.end.trim_start();
|
||||
|
||||
pair.newline
|
||||
enabled && pair.newline
|
||||
&& buffer
|
||||
.contains_str_at(end + trailing_whitespace_len, pair_end)
|
||||
&& buffer.contains_str_at(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue