Insert file path on the current buffer using Telescope.nvim
telescope-insert-path.nvim
Set of telescope.nvim actions to insert file path on the current buffer.

Supported Path Types
- Absolute path
- Relative path (to current working directory)
- Relative path (to buffer file)
- Relative to git root
- Relative to custom source direcotry
Custom source directory
The custom source directory can be set using the methodrequire('telescopeinsertpath').setsourcedir().
A default custom source directory can be set using the global option telescopeinsertpathsourcedir. In the case this option is set and present in the root of the project (git root or cwd) this will be used, if the value does not exists or it's not a directory the root of the project will be used as default.
Supported Insert Locations
i: before cursora: after cursorI: beginning of the lineA: end of the lineo: new line afterO: new line before
Supported Vim Modes after Insertion
You can configure it to be in these three modes after insertion:
- Insert
- Normal
- Visual mode with the path selected
Supported Telescope Modes
- Multiple selections
- Any modes (Find files, Live grep, ...)
Installation
Install using vim-plug:
Plug 'kiyoon/telescope-insert-path.nvim'
Install using packer:
use {'kiyoon/telescope-insert-path.nvim'}
Setup telescope with path actions in vimscript / lua:
local pathactions = require('telescopeinsert_path')
require('telescope').setup { defaults = { mappings = { n = { -- E.g. Type [i, [I, [a, [A, [o, [O to insert relative path and select the path in visual mode. -- Other mappings work the same way with a different prefix. ["["] = pathactions.insertreltobufpath_visual, ["]"] = pathactions.insertabspath_visual, ["{"] = pathactions.insertreltobufpath_insert, ["}"] = pathactions.insertabspath_insert, ["-"] = pathactions.insertreltobufpath_normal, ["="] = pathactions.insertabspath_normal, -- If you want to get relative path that is relative to the cwd, use -- relpath instead of reltobufpath -- You can skip the location postfix if you specify that in the function name. -- ["<C-o>"] = pathactions.insertrelpathovisual, } } } }