summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2022-11-06 20:09:38 +1100
committerMaxime Coste <mawww@kakoune.org>2022-11-06 20:09:38 +1100
commite67fdf94c66fc7cb0b7a76a15656cabdab4ea460 (patch)
tree658b1028bef3675d92bb1ec1326f6d0d7de3f148
parente40ee184a66d1ef49ed68b6bc7349417bab938ec (diff)
parent84379f446662d20ef23244cabf0df02e6d3251bb (diff)
Merge remote-tracking branch 'occivink/add-selection-count-value'
-rw-r--r--doc/pages/expansions.asciidoc4
-rw-r--r--src/main.cc4
2 files changed, 8 insertions, 0 deletions
diff --git a/doc/pages/expansions.asciidoc b/doc/pages/expansions.asciidoc
index 674f5707..81ccd7b7 100644
--- a/doc/pages/expansions.asciidoc
+++ b/doc/pages/expansions.asciidoc
@@ -373,6 +373,10 @@ The following expansions are supported (with required context _in italics_):
_in window scope_ +
unquoted list of the lengths (in codepoints) of the selections
+*%val{selection_count}*::
+ _in window scope_ +
+ the number of selections
+
*%val{session}*::
name of the current session
diff --git a/src/main.cc b/src/main.cc
index 08baed94..2b09ccd6 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -350,6 +350,10 @@ static const EnvVarDesc builtin_env_vars[] = { {
return to_string(char_length(context.buffer(), s));
}) | gather<Vector<String>>(); }
}, {
+ "selection_count", false,
+ [](StringView name, const Context& context) -> Vector<String>
+ { return {to_string(context.selections().size())}; }
+ }, {
"window_width", false,
[](StringView name, const Context& context) -> Vector<String>
{ return {to_string(context.window().dimensions().column)}; }