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:
Daniel Siepmann 2023-03-02 13:25:23 +01:00
parent df544f1e9e
commit cee10964f0
Signed by: Daniel Siepmann
GPG key ID: 33D6629915560EF4
7 changed files with 25 additions and 108 deletions

View file

@ -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 {
enable = true;
@ -225,15 +214,9 @@ in {
}
{
plugin = telescope-nvim;
plugin = fzf-lua;
type = "lua";
config = builtins.readFile(./neovim/plugins/telescope.lua);
}
{
plugin = telescope-ctags-outline;
type = "lua";
config = builtins.readFile(./neovim/plugins/telescope-ctags-outline.lua);
config = builtins.readFile(./neovim/plugins/fzf-lua.lua);
}
dressing-nvim

View file

@ -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 },
})

View file

@ -113,7 +113,7 @@ function! StartProfiling()
execute(':profile file *')
endfunc
function! TelescopeCurrentComposerPackage()
function! FilesInCurrentComposerPackage()
let l:filePath = split(expand('%:p:h'), '/')
while !filereadable('/' . join(l:filePath + ['composer.json'], '/')) && len(l:filePath)
@ -121,7 +121,7 @@ function! TelescopeCurrentComposerPackage()
endwhile
if len(l:filePath)
execute(':Telescope find_files cwd=/' . join(l:filePath, '/'))
execute("lua require ('fzf-lua').files({cwd='/" . join(l:filePath, '/') . "'})")
else
echom 'No composer package detected.'
endif

View file

@ -10,12 +10,11 @@ nnoremap <leader>v :set paste!<cr>
nnoremap <leader>nh :nohlsearch<cr>
" Configure navigation, e.g. go to buffer, file, ...
nnoremap <leader>pp :lua require('telescope.builtin').builtin({ include_extensions = true })<cr>
nnoremap <leader>pf :Telescope git_files<cr>
nnoremap <leader>pb :Telescope buffers<cr>
nnoremap <leader>pt :Telescope ctags_outline outline<cr>
nnoremap <leader>pr :Telescope custom_runs<cr>
nnoremap <silent> <leader>pc :call TelescopeCurrentComposerPackage()<cr>
nnoremap <leader>pp :lua require('fzf-lua').builtin()<CR>
nnoremap <leader>pf :lua require('fzf-lua').git_files()<CR>
nnoremap <leader>pb :lua require('fzf-lua').buffers()<CR>
nnoremap <leader>pt :lua require('fzf-lua').btags()<CR>
nnoremap <silent> <leader>pc :call FilesInCurrentComposerPackage()<cr>
" lca = lsp code action
nnoremap <leader>lca :lua vim.lsp.buf.code_action()<cr>

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

View file

@ -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')

View file

@ -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')