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('session-lens').search_session()
Any plugin manager should do.
Plug
" Plugin dependencies
Plug 'nvim-telescope/telescope.nvim'
Plug 'rmagatti/auto-session'
Plug 'rmagatti/session-lens'
See https://github.com/nvim-telescope/telescope.nvim for it's dependencies
Packer
use {
'rmagatti/session-lens',
requires = {'rmagatti/auto-session', 'nvim-telescope/telescope.nvim'},
config = function()
require('session-lens').setup({--[[your custom config--]]})
end
}
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('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('session-lens').setup {
shorten_path = false,
theme_conf = { border = false },
previewer = true
}
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('session-lens').setup {
prompt_title = 'YEAH SESSIONS',
}
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