Expose buffer list to shell over $kak_buflist

This commit is contained in:
Eike Plack 2014-12-23 02:49:53 +01:00
parent 1b14cd1cfe
commit 9f81093411
2 changed files with 12 additions and 0 deletions

View File

@ -911,6 +911,7 @@ Some of Kakoune state is available through environment variables:
* +kak_selections+: content of the selection separated by colons, colons in * +kak_selections+: content of the selection separated by colons, colons in
the selection contents are escapted with a backslash. the selection contents are escapted with a backslash.
* +kak_bufname+: name of the current buffer * +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 * +kak_timestamp+: timestamp of the current buffer, the timestamp is an
integer value which is incremented each time the buffer is modified. integer value which is incremented each time the buffer is modified.
* +kak_runtime+: directory containing the kak binary * +kak_runtime+: directory containing the kak binary

View File

@ -56,6 +56,17 @@ void register_env_vars()
"buffile", "buffile",
[](StringView name, const Context& context) -> String [](StringView name, const Context& context) -> String
{ return context.buffer().name(); } { 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", "timestamp",
[](StringView name, const Context& context) [](StringView name, const Context& context)