/session-lens

A session-switcher extension for rmagatti/auto-session using Telescope.nvim

Primary LanguageLuaMIT LicenseMIT

Session Lens

Session Lens extends auto-session through Telescope.nvim, creating a simple session switcher with fuzzy finding capabilities.

Usage

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()

Installation

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")

Configuration

Custom

Options can be set by calling the setup function, a common option is changing the shorten path behaviour.

require('session-lens').setup {
    path_display={'shorten'},
}

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 {
  path_display = {'shorten'},
  theme_conf = { border = false },
  previewer = true
}

👇 Screen Shot 2021-04-17 at 9 17 43 PM

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',
}

👇 Screen Shot 2021-04-17 at 8 16 49 PM

Commands

Session Lens exposes one command

  • :SearchSession triggers the customized session picker

Compatibility

Neovim > 0.5

Tested with:

NVIM v0.5.0-dev+a1ec36f
Build type: Release
LuaJIT 2.1.0-beta3