From c0dbd8f9b9e6be0ef1522d49c29e11e6d80f795f Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Wed, 22 Jun 2022 16:28:09 -0700 Subject: [PATCH] Add python outline and bracket queries --- crates/language/src/buffer.rs | 2 +- crates/zed/src/languages/python/brackets.scm | 3 +++ crates/zed/src/languages/python/outline.scm | 9 +++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 crates/zed/src/languages/python/brackets.scm create mode 100644 crates/zed/src/languages/python/outline.scm diff --git a/crates/language/src/buffer.rs b/crates/language/src/buffer.rs index 69d51ce9db..7fb414166d 100644 --- a/crates/language/src/buffer.rs +++ b/crates/language/src/buffer.rs @@ -1902,7 +1902,7 @@ impl BufferSnapshot { } while stack.last().map_or(false, |prev_range| { - !prev_range.contains(&item_range.start) || !prev_range.contains(&item_range.end) + prev_range.start > item_range.start || prev_range.end < item_range.end }) { stack.pop(); } diff --git a/crates/zed/src/languages/python/brackets.scm b/crates/zed/src/languages/python/brackets.scm new file mode 100644 index 0000000000..191fd9c084 --- /dev/null +++ b/crates/zed/src/languages/python/brackets.scm @@ -0,0 +1,3 @@ +("(" @open ")" @close) +("[" @open "]" @close) +("{" @open "}" @close) diff --git a/crates/zed/src/languages/python/outline.scm b/crates/zed/src/languages/python/outline.scm new file mode 100644 index 0000000000..373c7c7c68 --- /dev/null +++ b/crates/zed/src/languages/python/outline.scm @@ -0,0 +1,9 @@ +(class_definition + "class" @context + name: (identifier) @name + ) @item + +(function_definition + "async"? @context + "def" @context + name: (_) @name) @item \ No newline at end of file