• Stars
    star
    199
  • Rank 191,554 (Top 4 %)
  • Language
    Lua
  • License
    MIT License
  • Created about 3 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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 and theme_conf in the setup options. The options in theme_conf get passed into require('telescope.themes').get_dropdown(theme_conf), so anything supported by get_dropdown (or the function that corresponds to the specified theme) can be used here as well.

require('session-lens').setup {
  path_display = {'shorten'},
  theme = 'ivy', -- default is dropdown
  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