Session Lens extends auto-session through Telescope.nvim, creating a simple session switcher with fuzzy finding capabilities.
You can call the switcher from telescope
:Telescope session-lens search_session
Or straight from the plugin's path with lua
:lua require('telescope._extensions.session-lens.main').search_session()
Any plugin manager should do, I use Plug.
Plug 'rmagatti/session-lens'
The plugin is lazy loaded when calling it for the first time but you can pre-load it with Telescope like this if you'd rather have autocomplete for it off the bat.
require("telescope").load_extension("session-lens")
Options can be set by calling the setup function, a common option is changing the shorten path behaviour.
require('telescope._extensions.session-lens').setup {
shorten_path=<true|false>,
}
Another example would be changing how the dropdown looks, this can be done by setting the theme_conf
in the setup opts.
The options in theme_conf
get passed into require('telescope.themes').get_dropdown(theme_conf)
, so anything supported by get_dropdown
can be used here as well.
require('telescope._extensions.session-lens').setup {
shorten_path = true,
theme_conf = { previewer = true, border = false }
}
In addition to the above configs, since everything gets passed into telescope.builtin.find_files
, any configs passed to the setup
if supported by find_files
will override the default behaviour, for example:
require('telescope._extensions.session-lens').setup {
prompt_title = 'YEAH SESSIONS',
}
^ This config results in this:
Session Lens exposes one command
:SearchSession
triggers the customized session picker
Neovim > 0.5
Tested with:
NVIM v0.5.0-dev+a1ec36f
Build type: Release
LuaJIT 2.1.0-beta3