diff --git a/README.asciidoc b/README.asciidoc index b8f6f7a1..05f4a594 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -911,6 +911,7 @@ Some of Kakoune state is available through environment variables: * +kak_selections+: content of the selection separated by colons, colons in the selection contents are escapted with a backslash. * +kak_bufname+: name of the current buffer + * +kak_buflist+: the current buffer list, each buffer seperated by a colon * +kak_timestamp+: timestamp of the current buffer, the timestamp is an integer value which is incremented each time the buffer is modified. * +kak_runtime+: directory containing the kak binary diff --git a/src/main.cc b/src/main.cc index 8b5d0114..885d7333 100644 --- a/src/main.cc +++ b/src/main.cc @@ -56,6 +56,17 @@ void register_env_vars() "buffile", [](StringView name, const Context& context) -> String { return context.buffer().name(); } + }, { + "buflist", + [](StringView name, const Context& context) + { + String res; + for (auto& buf : BufferManager::instance()) + { + res += buf->display_name() + ":"; + } + res.pop_back(); + return res; } }, { "timestamp", [](StringView name, const Context& context)