Migrate Leaderf to Telescope
Written in Lua. Very flexible. Clean documentation. Easy to extend and configure. Can do everything I wanted with a good feeling.
This commit is contained in:
parent
e29ceb3b66
commit
0d4f5463d1
|
@ -163,6 +163,16 @@ let
|
|||
];
|
||||
};
|
||||
|
||||
telescope-ctags-outline = pkgs.vimUtils.buildVimPlugin {
|
||||
name = "telescope-ctags-outline";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "fcying";
|
||||
repo = "telescope-ctags-outline.nvim";
|
||||
rev = "35b2df9545f72352502703ba06b7ab711fa25e51";
|
||||
sha256 = "e8QcD7H2unmoaLaN1JUxtOGQYBJGAXtfSnj8sW66ff4=";
|
||||
};
|
||||
};
|
||||
|
||||
in {
|
||||
enable = true;
|
||||
|
||||
|
@ -238,8 +248,15 @@ in {
|
|||
}
|
||||
|
||||
{
|
||||
plugin = LeaderF;
|
||||
config = pkgs.lib.fileContents ./neovim/plugins/leaderf.vim;
|
||||
plugin = telescope-nvim;
|
||||
type = "lua";
|
||||
config = pkgs.lib.fileContents ./neovim/plugins/telescope.lua;
|
||||
}
|
||||
|
||||
{
|
||||
plugin = telescope-ctags-outline;
|
||||
type = "lua";
|
||||
config = pkgs.lib.fileContents ./neovim/plugins/telescope-ctags-outline.lua;
|
||||
}
|
||||
|
||||
# Syntax
|
||||
|
@ -308,5 +325,6 @@ in {
|
|||
|
||||
vim-addon-mw-utils
|
||||
vim-textobj-user
|
||||
plenary-nvim
|
||||
];
|
||||
}
|
||||
|
|
|
@ -113,7 +113,7 @@ function! StartProfiling()
|
|||
execute(':profile file *')
|
||||
endfunc
|
||||
|
||||
function! LeaderfCurrentComposerPackage()
|
||||
function! TelescopeCurrentComposerPackage()
|
||||
let l:filePath = split(expand('%:p:h'), '/')
|
||||
|
||||
while !filereadable('/' . join(l:filePath + ['composer.json'], '/')) && len(l:filePath)
|
||||
|
@ -121,7 +121,7 @@ function! LeaderfCurrentComposerPackage()
|
|||
endwhile
|
||||
|
||||
if len(l:filePath)
|
||||
execute(':LeaderfFile /' . join(l:filePath, '/'))
|
||||
execute(':Telescope find_files cwd=/' . join(l:filePath, '/'))
|
||||
else
|
||||
echom 'No composer package detected.'
|
||||
endif
|
||||
|
|
|
@ -10,11 +10,11 @@ nnoremap <leader>v :set paste!<cr>
|
|||
nnoremap <leader>nh :nohlsearch<cr>
|
||||
|
||||
" Configure navigation, e.g. go to buffer, file, ...
|
||||
nnoremap <leader>pp :LeaderfSelf<cr>
|
||||
nnoremap <leader>pf :LeaderfFile<cr>
|
||||
nnoremap <leader>pb :LeaderfBuffer<cr>
|
||||
nnoremap <leader>pt :LeaderfBufTag<cr>
|
||||
nnoremap <silent> <leader>pc :call LeaderfCurrentComposerPackage()<cr>
|
||||
nnoremap <leader>pp :Telescope builtin<cr>
|
||||
nnoremap <leader>pf :Telescope find_files<cr>
|
||||
nnoremap <leader>pb :Telescope buffers<cr>
|
||||
nnoremap <leader>pt :Telescope ctags_outline outline<cr>
|
||||
nnoremap <silent> <leader>pc :call TelescopeCurrentComposerPackage()<cr>
|
||||
|
||||
nnoremap <leader>k :NERDTreeToggle<cr>
|
||||
nnoremap <leader>f :NERDTreeFind<cr>
|
||||
|
|
|
@ -1,209 +0,0 @@
|
|||
let g:Lf_WorkingDirectoryMode = 'c'
|
||||
|
||||
let g:Lf_FollowLinks = 1
|
||||
let g:Lf_ShowHidden = 1
|
||||
|
||||
let g:Lf_WindowPosition = 'popup'
|
||||
let g:Lf_HideHelp = 1
|
||||
|
||||
let g:Lf_GtagsAutoUpdate = 0
|
||||
|
||||
let g:Lf_IgnoreCurrentBufferName = 1
|
||||
|
||||
let g:Lf_ShowDevIcons = 0
|
||||
|
||||
let g:Lf_PreviewInPopup = 0
|
||||
let g:Lf_PreviewCode = 0
|
||||
|
||||
let g:Lf_CursorBlink = 1
|
||||
|
||||
" TODO: Try to port to existing colorscheme, does it work with load order?
|
||||
let g:Lf_PopupPalette = {
|
||||
\ 'dark': {
|
||||
\ 'Lf_hl_popup_inputText': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'blue',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_window': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_blank': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_cursor': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '235',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_prompt': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_spin': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_normalMode': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_inputMode': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_category': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_nameOnlyMode': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_fullPathMode': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_fuzzyMode': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_regexMode': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_cwd': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_lineInfo': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_popup_total': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_cursorline': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '235',
|
||||
\ },
|
||||
\ 'Lf_hl_selection': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_match0': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'blue',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_match1': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'blue',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_match2': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'blue',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_match3': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'blue',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_match4': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'blue',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_match': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'blue',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_lineLocation': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_previewTitle': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_winNumber': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_winIndicators': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_winModified': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_winNomodifiable': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_winDirname': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_quickfixFileName': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_quickfixLineNumber': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_quickfixColumnNumber': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_loclistFileName': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_loclistLineNumber': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ 'Lf_hl_loclistColumnNumber': {
|
||||
\ 'cterm': 'none',
|
||||
\ 'ctermfg': 'none',
|
||||
\ 'ctermbg': '238',
|
||||
\ },
|
||||
\ }
|
||||
\ }
|
17
home/programs/neovim/plugins/telescope-ctags-outline.lua
Normal file
17
home/programs/neovim/plugins/telescope-ctags-outline.lua
Normal file
|
@ -0,0 +1,17 @@
|
|||
require('telescope').setup({
|
||||
extensions = {
|
||||
ctags_outline = {
|
||||
ctags = { 'ctags' },
|
||||
ft_opt = {
|
||||
css = '--css-types=vcit',
|
||||
xml = '--xml-types=ci',
|
||||
rst = '--reStructuredText-types=csSt',
|
||||
markdown = '--Markdown-types=csStT',
|
||||
fluid = '--xml-types=si',
|
||||
yaml = '--yaml-types=t',
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
require('telescope').load_extension('ctags_outline')
|
27
home/programs/neovim/plugins/telescope.lua
Normal file
27
home/programs/neovim/plugins/telescope.lua
Normal file
|
@ -0,0 +1,27 @@
|
|||
local telescopeActions = require "telescope.actions"
|
||||
local telescopeActionsLayout = require "telescope.actions.layout"
|
||||
require('telescope').setup({
|
||||
defaults = {
|
||||
layout_strategy = 'center',
|
||||
layout_config = {
|
||||
width = 0.9,
|
||||
},
|
||||
default_mappings = {
|
||||
i = {
|
||||
["<C-j>"] = telescopeActions.move_selection_next,
|
||||
["<C-k>"] = telescopeActions.move_selection_previous,
|
||||
["<C-c>"] = telescopeActions.close,
|
||||
|
||||
["<CR>"] = telescopeActions.select_default,
|
||||
["<C-h>"] = telescopeActions.which_key,
|
||||
["<C-v>"] = telescopeActions.select_vertical,
|
||||
|
||||
["<C-p>"] = telescopeActionsLayout.toggle_preview,
|
||||
},
|
||||
},
|
||||
|
||||
preview = {
|
||||
hide_on_startup = true,
|
||||
},
|
||||
},
|
||||
})
|
Loading…
Reference in a new issue