Replace neovim telescope with fzf
I've added fzf to zsh and don't want to have multiple different solutions for same problem. I therefore use fzf-lua within neovim which replaces telescope.
This commit is contained in:
parent
df544f1e9e
commit
cee10964f0
|
@ -162,17 +162,6 @@ let
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
telescope-ctags-outline = pkgs.vimUtils.buildVimPluginFrom2Nix rec {
|
|
||||||
pname = "telescope-ctags-outline";
|
|
||||||
version = "35b2df9545f72352502703ba06b7ab711fa25e51";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "fcying";
|
|
||||||
repo = "${pname}.nvim";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "e8QcD7H2unmoaLaN1JUxtOGQYBJGAXtfSnj8sW66ff4=";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
in {
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
@ -225,15 +214,9 @@ in {
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
plugin = telescope-nvim;
|
plugin = fzf-lua;
|
||||||
type = "lua";
|
type = "lua";
|
||||||
config = builtins.readFile(./neovim/plugins/telescope.lua);
|
config = builtins.readFile(./neovim/plugins/fzf-lua.lua);
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
plugin = telescope-ctags-outline;
|
|
||||||
type = "lua";
|
|
||||||
config = builtins.readFile(./neovim/plugins/telescope-ctags-outline.lua);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dressing-nvim
|
dressing-nvim
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
local telescope = require('telescope')
|
|
||||||
local pickers = require('telescope.pickers')
|
|
||||||
local finders = require('telescope.finders')
|
|
||||||
local actions = require('telescope.actions')
|
|
||||||
local action_state = require('telescope.actions.state')
|
|
||||||
local conf = require('telescope.config').values
|
|
||||||
|
|
||||||
local custom_runs = function(opts)
|
|
||||||
opts = opts or {}
|
|
||||||
|
|
||||||
local results = { 'CopyFileName', 'CopyRelativeFilePath', 'CopyFullFilePath' }
|
|
||||||
|
|
||||||
pickers.new(opts, {
|
|
||||||
prompt_title = 'Custom Runs',
|
|
||||||
finder = finders.new_table {
|
|
||||||
results = results
|
|
||||||
},
|
|
||||||
sorter = conf.generic_sorter(opts),
|
|
||||||
attach_mappings = function(prompt_bufnr, map)
|
|
||||||
actions.select_default:replace(function()
|
|
||||||
actions.close(prompt_bufnr)
|
|
||||||
local selection = action_state.get_selected_entry()
|
|
||||||
vim.api.nvim_call_function(selection[1], {})
|
|
||||||
end)
|
|
||||||
return true
|
|
||||||
end,
|
|
||||||
}):find()
|
|
||||||
end
|
|
||||||
|
|
||||||
return telescope.register_extension({
|
|
||||||
exports = { custom_runs = custom_runs },
|
|
||||||
})
|
|
|
@ -113,7 +113,7 @@ function! StartProfiling()
|
||||||
execute(':profile file *')
|
execute(':profile file *')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
function! TelescopeCurrentComposerPackage()
|
function! FilesInCurrentComposerPackage()
|
||||||
let l:filePath = split(expand('%:p:h'), '/')
|
let l:filePath = split(expand('%:p:h'), '/')
|
||||||
|
|
||||||
while !filereadable('/' . join(l:filePath + ['composer.json'], '/')) && len(l:filePath)
|
while !filereadable('/' . join(l:filePath + ['composer.json'], '/')) && len(l:filePath)
|
||||||
|
@ -121,7 +121,7 @@ function! TelescopeCurrentComposerPackage()
|
||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
if len(l:filePath)
|
if len(l:filePath)
|
||||||
execute(':Telescope find_files cwd=/' . join(l:filePath, '/'))
|
execute("lua require ('fzf-lua').files({cwd='/" . join(l:filePath, '/') . "'})")
|
||||||
else
|
else
|
||||||
echom 'No composer package detected.'
|
echom 'No composer package detected.'
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -10,12 +10,11 @@ nnoremap <leader>v :set paste!<cr>
|
||||||
nnoremap <leader>nh :nohlsearch<cr>
|
nnoremap <leader>nh :nohlsearch<cr>
|
||||||
|
|
||||||
" Configure navigation, e.g. go to buffer, file, ...
|
" Configure navigation, e.g. go to buffer, file, ...
|
||||||
nnoremap <leader>pp :lua require('telescope.builtin').builtin({ include_extensions = true })<cr>
|
nnoremap <leader>pp :lua require('fzf-lua').builtin()<CR>
|
||||||
nnoremap <leader>pf :Telescope git_files<cr>
|
nnoremap <leader>pf :lua require('fzf-lua').git_files()<CR>
|
||||||
nnoremap <leader>pb :Telescope buffers<cr>
|
nnoremap <leader>pb :lua require('fzf-lua').buffers()<CR>
|
||||||
nnoremap <leader>pt :Telescope ctags_outline outline<cr>
|
nnoremap <leader>pt :lua require('fzf-lua').btags()<CR>
|
||||||
nnoremap <leader>pr :Telescope custom_runs<cr>
|
nnoremap <silent> <leader>pc :call FilesInCurrentComposerPackage()<cr>
|
||||||
nnoremap <silent> <leader>pc :call TelescopeCurrentComposerPackage()<cr>
|
|
||||||
|
|
||||||
" lca = lsp code action
|
" lca = lsp code action
|
||||||
nnoremap <leader>lca :lua vim.lsp.buf.code_action()<cr>
|
nnoremap <leader>lca :lua vim.lsp.buf.code_action()<cr>
|
||||||
|
|
16
home/programs/neovim/plugins/fzf-lua.lua
Normal file
16
home/programs/neovim/plugins/fzf-lua.lua
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
require("fzf-lua").setup({
|
||||||
|
fzf_bin = "fzf-tmux",
|
||||||
|
fzf_tmux_opts = {
|
||||||
|
["-p"] = "",
|
||||||
|
["-y"] = "1",
|
||||||
|
["-w"] = "95%",
|
||||||
|
["-h"] = "75%",
|
||||||
|
},
|
||||||
|
winopts = {
|
||||||
|
preview = {
|
||||||
|
hidden = "hidden", -- I don't like a preview, keep space for selection
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
require("fzf-lua").register_ui_select()
|
|
@ -1,18 +0,0 @@
|
||||||
require('telescope').setup({
|
|
||||||
extensions = {
|
|
||||||
ctags_outline = {
|
|
||||||
ctags = { 'ctags' },
|
|
||||||
ft_opt = {
|
|
||||||
css = '--css-types=vcit',
|
|
||||||
fluid = '--xml-types=si',
|
|
||||||
markdown = '--Markdown-types=csStT',
|
|
||||||
rst = '--reStructuredText-types=csSt',
|
|
||||||
sql = '--SQL-types=tE',
|
|
||||||
xml = '--xml-types=ci',
|
|
||||||
yaml = '--Yaml-types=t',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
require('telescope').load_extension('ctags_outline')
|
|
|
@ -1,31 +0,0 @@
|
||||||
local telescope = require('telescope')
|
|
||||||
local actions = require('telescope.actions')
|
|
||||||
local actionsLayout = require('telescope.actions.layout')
|
|
||||||
|
|
||||||
telescope.setup({
|
|
||||||
defaults = {
|
|
||||||
layout_strategy = 'center',
|
|
||||||
layout_config = {
|
|
||||||
width = 0.6,
|
|
||||||
},
|
|
||||||
sorting_strategy = 'ascending',
|
|
||||||
default_mappings = {
|
|
||||||
i = {
|
|
||||||
["<C-j>"] = actions.move_selection_next,
|
|
||||||
["<C-k>"] = actions.move_selection_previous,
|
|
||||||
["<C-c>"] = actions.close,
|
|
||||||
|
|
||||||
["<CR>"] = actions.select_default,
|
|
||||||
["<C-h>"] = actions.which_key,
|
|
||||||
["<C-v>"] = actions.select_vertical,
|
|
||||||
|
|
||||||
["<C-p>"] = actionsLayout.toggle_preview,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
preview = {
|
|
||||||
hide_on_startup = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
telescope.load_extension('custom_runs')
|
|
Loading…
Reference in a new issue