Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/rmagatti/session-lens

A session-switcher extension for rmagatti/auto-session using Telescope.nvim
https://github.com/rmagatti/session-lens

hacktoberfest lua neovim neovim-plugin

Last synced: 29 days ago
JSON representation

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

Lists

README

        

# Session Lens
Session Lens extends [auto-session](https://github.com/rmagatti/auto-session) through Telescope.nvim, creating a simple session switcher with fuzzy finding capabilities.

# Usage
You can call the switcher from telescope
```viml
:Telescope session-lens search_session
```

Or straight from the plugin's path with lua
```viml
:lua require('session-lens').search_session()
```

# Installation
Any plugin manager should do.

Plug
```viml
" 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
```lua
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.
```lua
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.
```lua
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.
```lua
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:
```lua
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
```