| @ -0,0 +1,11 @@ | |||||
| -- General options and remaps | |||||
| require('general.options') | |||||
| require('general.remaps') | |||||
| require('general.autocmd') | |||||
| -- Helper functions | |||||
| require('helper.toggle-tab-width') | |||||
| -- Plugins | |||||
| require('packer-plugins') | |||||
| @ -1,241 +0,0 @@ | |||||
| " My awesome vimrc | |||||
| let mapleader ="," | |||||
| if ! filereadable(expand('~/.config/nvim/autoload/plug.vim')) | |||||
| echo "Downloading junegunn/vim-plug to manage plugins..." | |||||
| silent !mkdir -p ~/.config/nvim/autoload/ | |||||
| silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ~/.config/nvim/autoload/plug.vim | |||||
| autocmd VimEnter * PlugInstall | |||||
| endif | |||||
| function! Cond(cond, ...) | |||||
| let opts = get(a:000, 0, {}) | |||||
| return a:cond ? opts : extend(opts, { 'on': [], 'for': [] }) | |||||
| endfunction | |||||
| call plug#begin('~/.config/nvim/plugged') | |||||
| Plug 'neoclide/coc.nvim', Cond(!exists('g:vscode')) | |||||
| Plug 'nvim-lua/popup.nvim', Cond(!exists('g:vscode')) | |||||
| Plug 'nvim-lua/plenary.nvim', Cond(!exists('g:vscode')) | |||||
| Plug 'nvim-telescope/telescope.nvim', Cond(!exists('g:vscode')) | |||||
| Plug 'nvim-telescope/telescope-fzy-native.nvim', Cond(!exists('g:vscode')) | |||||
| Plug 'Rican7/php-doc-modded' | |||||
| Plug 'udalov/kotlin-vim' | |||||
| Plug 'f-person/git-blame.nvim' | |||||
| Plug 'vimwiki/vimwiki', Cond(!exists('g:vscode')) | |||||
| Plug 'ap/vim-css-color', Cond(!exists('g:vscode')) | |||||
| Plug 'dart-lang/dart-vim-plugin' | |||||
| Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' } | |||||
| Plug 'darrikonn/vim-gofmt', { 'do': ':GoUpdateBinaries' } | |||||
| call plug#end() | |||||
| " Some basics: | |||||
| set clipboard+=unnamedplus | |||||
| set nohlsearch | |||||
| set incsearch | |||||
| set ignorecase | |||||
| autocmd BufWritePre * :%s/\s\+$//e | |||||
| set go=a | |||||
| set mouse=a | |||||
| set smartcase | |||||
| set linebreak | |||||
| set noswapfile | |||||
| set nobackup | |||||
| set undodir=~/.config/nvim/undodir | |||||
| set undofile | |||||
| nnoremap c "_c | |||||
| set nocompatible | |||||
| filetype plugin on | |||||
| syntax on | |||||
| set encoding=utf-8 | |||||
| set number relativenumber | |||||
| autocmd BufWritePre * :%s/\s\+$//e | |||||
| nnoremap <leader>vs :vsplit<Enter> | |||||
| nnoremap <leader>hs :split<Enter> | |||||
| " Tab 2 spaces | |||||
| filetype plugin indent on | |||||
| set tabstop=4 softtabstop=4 expandtab shiftwidth=4 smarttab | |||||
| let g:tabStop=4 | |||||
| function! ToggleTabWidth() | |||||
| if g:tabStop == 2 | |||||
| set tabstop=4 softtabstop=4 shiftwidth=4 | |||||
| let g:tabStop=4 | |||||
| else | |||||
| set tabstop=2 softtabstop=2 shiftwidth=2 | |||||
| let g:tabStop=2 | |||||
| endif | |||||
| endfunction | |||||
| nnoremap <leader>t :call ToggleTabWidth()<CR> | |||||
| autocmd BufNewFile,BufRead *.dart setlocal tabstop=2 softtabstop=2 shiftwidth=2 | |||||
| autocmd BufNewFile,BufRead *.dart let g:tabStop=2 | |||||
| " Disables automatic commenting on newline: | |||||
| autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o | |||||
| nnoremap <leader>t :call ToggleTabWidth()<CR> | |||||
| " Disables automatic commenting on newline: | |||||
| autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o | |||||
| " Remember last cursor position | |||||
| autocmd BufReadPost * if @% !~# '\.git[\/\\]COMMIT_EDITMSG$' && line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif | |||||
| " Automatically save the current session whenever vim is closed | |||||
| autocmd VimLeave * mksession! ~/.config/nvim/session/shutdown_session.vim | |||||
| " <F7> restores that 'shutdown session' | |||||
| noremap <F7> :source ~/.config/nvim/session/shutdown_session.vim<CR> | |||||
| " If you really want to, this next line should restore the shutdown session | |||||
| " automatically, whenever you start vim. (Commented out for now, in case | |||||
| " somebody just copy/pastes this whole block) | |||||
| " | |||||
| " autocmd VimEnter source ~/.vim/shutdown_session.vim<CR> | |||||
| " manually save a session with <F5> | |||||
| noremap <F5> :mksession! ~/.config/nvim/session/manual_session.vim<cr> | |||||
| " recall the manually saved session with <F6> | |||||
| noremap <F6> :source ~/.config/nvim/session/manual_session.vim<cr> | |||||
| " Copy entire document | |||||
| noremap <leader>y <Esc>ggyG<C-o> | |||||
| map <leader>y <Esc>ggyG<C-o> | |||||
| " Set gohtml template files to html syntax | |||||
| autocmd BufNewFile,BufRead *.gohtml set syntax=html | |||||
| nnoremap <leader>1 1gt | |||||
| nnoremap <leader>2 2gt | |||||
| nnoremap <leader>3 3gt | |||||
| nnoremap <leader>4 4gt | |||||
| nnoremap <leader>5 5gt | |||||
| " NETRW | |||||
| let g:netrw_liststyle = 3 | |||||
| let g:netrw_banner = 0 | |||||
| let g:netrw_browse_split = 4 | |||||
| let g:netrw_winsize = 20 | |||||
| let g:netrw_altv = 1 | |||||
| let g:NetrwIsOpen=0 | |||||
| function! ToggleNetrw() | |||||
| if g:NetrwIsOpen | |||||
| let i = bufnr("$") | |||||
| while (i >= 1) | |||||
| if (getbufvar(i, "&filetype") == "netrw") | |||||
| silent exe "bwipeout " . i | |||||
| endif | |||||
| let i-=1 | |||||
| endwhile | |||||
| let g:NetrwIsOpen=0 | |||||
| else | |||||
| let g:NetrwIsOpen=1 | |||||
| silent Lexplore | |||||
| endif | |||||
| endfunction | |||||
| " Add your own mapping. For example: | |||||
| noremap <silent> <C-p> :call ToggleNetrw()<CR> | |||||
| " coc | |||||
| highlight CocErrorSign ctermfg=Black ctermbg=Magenta | |||||
| inoremap <silent><expr> <TAB> | |||||
| \ pumvisible() ? "\<C-n>" : | |||||
| \ <SID>check_back_space() ? "\<TAB>" : | |||||
| \ coc#refresh() | |||||
| inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" | |||||
| function! s:check_back_space() abort | |||||
| let col = col('.') - 1 | |||||
| return !col || getline('.')[col - 1] =~# '\s' | |||||
| endfunction | |||||
| nmap <leader>gd <Plug>(coc-definition) | |||||
| nmap <leader>gr <Plug>(coc-references) | |||||
| nmap <leader>rr <Plug>(coc-rename) | |||||
| nnoremap <leader>prw :CocSearch <C-R>=expand("<cword>")<CR><CR> | |||||
| inoremap <expr> <C-j> pumvisible() ? "\<Down>" : "\<C-j>" | |||||
| inoremap <expr> <C-k> pumvisible() ? "\<Up>" : "\<C-k>" | |||||
| " PHP Doc | |||||
| nnoremap <leader>h :call UpdatePhpDocIfExists()<CR> | |||||
| function! UpdatePhpDocIfExists() | |||||
| normal! k | |||||
| if getline('.') =~ '/' | |||||
| normal! V%d | |||||
| else | |||||
| normal! j | |||||
| endif | |||||
| call PhpDocSingle() | |||||
| normal! k^%k$ | |||||
| if getline('.') =~ ';' | |||||
| exe "normal! $svoid" | |||||
| endif | |||||
| endfunction | |||||
| nnoremap <C-D> :call UpdatePhpDocIfExists()<CR> | |||||
| " VimWiki | |||||
| au filetype vimwiki silent! iunmap <buffer> <Tab> | |||||
| try | |||||
| nmap <silent> <leader>ej :call CocAction('diagnosticNext')<cr> | |||||
| nmap <silent> <leader>ek :call CocAction('diagnosticPrevious')<cr> | |||||
| endtry | |||||
| " Telescope remaps | |||||
| lua require("telescope") | |||||
| nnoremap <C-g> :lua require('telescope.builtin').grep_string({ search = vim.fn.input("Grep For > ")})<CR> | |||||
| nnoremap <C-p> :lua require('telescope.builtin').git_files()<CR> | |||||
| nnoremap <C-q> :lua require('telescope.builtin').find_files()<CR> | |||||
| nnoremap <leader>fb <cmd>lua require('telescope.builtin').buffers()<cr> | |||||
| " Spell-check | |||||
| map <leader>o :setlocal spell! spelllang=en_au<CR> | |||||
| " Shortcutting split navigation, saving a keypress: | |||||
| nnoremap <C-h> <C-w>h | |||||
| nnoremap <C-j> <C-w>j | |||||
| nnoremap <C-k> <C-w>k | |||||
| nnoremap <C-l> <C-w>l | |||||
| " Replace all is aliased to S. | |||||
| nnoremap <c-s> :%s//g<Left><Left> | |||||
| " Navigating with guides | |||||
| inoremap <leader><leader> <Esc>/<++><Enter>"_c4l | |||||
| vnoremap <leader><leader> <Esc>/<++><Enter>"_c4l | |||||
| map <leader><leader> <Esc>/<++><Enter>"_c4l | |||||
| augroup twig_ft | |||||
| au! | |||||
| autocmd BufNewFile,BufRead *.docker set syntax=dockerfile | |||||
| augroup END | |||||
| @ -0,0 +1,33 @@ | |||||
| -- Remove any trailing whitespace from the file on write | |||||
| vim.api.nvim_create_autocmd({ 'BufWritePre' }, { command = [[%s/\s\+$//e]] }) | |||||
| -- Load file on last line | |||||
| -- TODO: change this to use lua | |||||
| vim.api.nvim_create_autocmd({ 'BufRead' }, { | |||||
| command = [[if @% !~# '\.git[\/\\]COMMIT_EDITMSG$' && line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif]] | |||||
| }) | |||||
| -- Save session on VimLeave | |||||
| vim.api.nvim_create_autocmd({ 'VimLeave' }, { | |||||
| command = [[mksession! ~/.config/nvim/session/shutdown_session.vim]] | |||||
| }) | |||||
| -- Set tabs to 2 for dart, vue, and js files | |||||
| vim.api.nvim_create_autocmd({ 'BufNewFile', 'BufRead' }, { | |||||
| pattern = { '*.dart', '*.vue', '*.js' }, | |||||
| callback = function() | |||||
| vim.o.tabstop = 2 | |||||
| vim.o.softtabstop = 2 | |||||
| vim.o.shiftwidth = 2 | |||||
| end | |||||
| }) | |||||
| -- Ensure to read .docker files as a dockerfile | |||||
| vim.api.nvim_create_autocmd({ 'BufNewFile', 'BufRead' }, { | |||||
| pattern = { '*.docker' }, | |||||
| callback = function() | |||||
| vim.o.syntax = 'dockerfile' | |||||
| end | |||||
| }) | |||||
| @ -0,0 +1,30 @@ | |||||
| vim.g.mapleader = ',' | |||||
| vim.o.clipboard = 'unnamedplus' | |||||
| vim.o.nohlsearch = true | |||||
| vim.o.incsearch = true | |||||
| vim.o.ignorecase = true | |||||
| -- autocmd BufWritePre * :%s/\s\+$//e | |||||
| vim.o.mouse = 'a' | |||||
| vim.o.smartcase = true | |||||
| vim.o.linebreak = true | |||||
| vim.o.noswapfile = true | |||||
| vim.o.nobackup = true | |||||
| vim.o.undodir = vim.fn.expand('~/.config/nvim/undodir') | |||||
| vim.o.undofile = true | |||||
| vim.o.encoding = 'utf-8' | |||||
| vim.o.number = true | |||||
| vim.o.relativenumber = true | |||||
| vim.o.tabstop = 4 | |||||
| vim.o.softtabstop = 4 | |||||
| vim.o.expandtab = true | |||||
| vim.o.shiftwidth = 4 | |||||
| vim.o.smarttab = true | |||||
| vim.o.formatoptions = 'tqj' | |||||
| @ -0,0 +1,25 @@ | |||||
| return require('packer').startup(function() | |||||
| -- Packer can manage itself | |||||
| use 'wbthomason/packer.nvim' | |||||
| -- colorscheme | |||||
| use 'gruvbox-community/gruvbox' | |||||
| use { 'neoclide/coc.nvim', run = 'yarn install' } | |||||
| use 'nvim-lua/popup.nvim' | |||||
| use 'nvim-lua/plenary.nvim' | |||||
| use 'nvim-telescope/telescope.nvim' | |||||
| use 'nvim-telescope/telescope-fzy-native.nvim' | |||||
| use 'Rican7/php-doc-modded' | |||||
| use 'f-person/git-blame.nvim' | |||||
| use 'dart-lang/dart-vim-plugin' | |||||
| use { 'fatih/vim-go', cmd = 'GoUpdateBinaries' } | |||||
| use { 'darrikonn/vim-gofmt', cmd = 'GoUpdateBinaries' } | |||||
| use 'aserowy/tmux.nvim' | |||||
| end) | |||||
| @ -0,0 +1,35 @@ | |||||
| local options = { noremap = true } | |||||
| vim.api.nvim_set_keymap('n', 'c', '"_c', options) | |||||
| -- Easily open splits | |||||
| vim.api.nvim_set_keymap('n', '<leader>hs', '<cmd>split<cr>', options) | |||||
| vim.api.nvim_set_keymap('n', '<leader>vs', '<cmd>vsplit<cr>', options) | |||||
| -- Copy the entire file | |||||
| vim.api.nvim_set_keymap('n', '<leader>y', 'ggyG<C-o>', options) | |||||
| -- Easily navigate tabs | |||||
| vim.api.nvim_set_keymap('n', '<leader>1', '1gt', options) | |||||
| vim.api.nvim_set_keymap('n', '<leader>2', '2gt', options) | |||||
| vim.api.nvim_set_keymap('n', '<leader>3', '3gt', options) | |||||
| vim.api.nvim_set_keymap('n', '<leader>4', '4gt', options) | |||||
| vim.api.nvim_set_keymap('n', '<leader>5', '5gt', options) | |||||
| -- Manually store session | |||||
| vim.api.nvim_set_keymap('n', '<F5>', '<cmd>mksession! ~/.config/nvim/session/manual_session.vim<cr>', options) | |||||
| -- Restore manually stored session | |||||
| vim.api.nvim_set_keymap('n', '<F6>', '<cmd>source ~/.config/nvim/session/manual_session.vim<cr>', options) | |||||
| -- Restore auto saved session created on exit | |||||
| vim.api.nvim_set_keymap('n', '<F7>', '<cmd>source ~/.config/nvim/session/shutdown_session.vim<CR>', options) | |||||
| -- Replace all is aliased to S. | |||||
| vim.api.nvim_set_keymap('n', '<C-s>', '<cmd>%s//g<Left><Left>', options) | |||||
| -- Navigating with guides | |||||
| vim.api.nvim_set_keymap('n', '<leader><leader>', '<Esc>/<++><Enter>"_c4l', options) | |||||
| vim.api.nvim_set_keymap('i', '<leader><leader>', '<Esc>/<++><Enter>"_c4l', options) | |||||
| vim.api.nvim_set_keymap('v', '<leader><leader>', '<Esc>/<++><Enter>"_c4l', options) | |||||
| -- Spell-check | |||||
| vim.api.nvim_set_keymap('n', '<leader>o', '<cmd>setlocal spell! spelllang=en_au<cr>', options) | |||||
| @ -0,0 +1,21 @@ | |||||
| vim.o.signcolumn = 'number' | |||||
| -- Bind tab to select next tab complete | |||||
| vim.api.nvim_set_keymap("i", "<TAB>", "pumvisible() ? '<C-n>' : '<TAB>'", {noremap = true, silent = true, expr = true}) | |||||
| vim.api.nvim_set_keymap("n", "<leader>.", "<Plug>(coc-codeaction)", {}) | |||||
| vim.api.nvim_set_keymap("n", "<leader>l", ":CocCommand eslint.executeAutofix<CR>", {}) | |||||
| vim.api.nvim_set_keymap("n", "gd", "<Plug>(coc-definition)", {silent = true}) | |||||
| vim.api.nvim_set_keymap("n", "gr", "<Plug>(coc-references)", {silent = true}) | |||||
| vim.api.nvim_set_keymap("n", "K", ":call CocActionAsync('doHover')<CR>", {silent = true, noremap = true}) | |||||
| vim.api.nvim_set_keymap("n", "<leader>rn", "<Plug>(coc-rename)", {}) | |||||
| vim.api.nvim_set_keymap("n", "<leader>f", ":CocCommand prettier.formatFile<CR>", {noremap = true}) | |||||
| vim.api.nvim_set_keymap("n", "g[", ":call CocActionAsync('diagnosticPrevious')<CR>", {silent = true, noremap = true}) | |||||
| vim.api.nvim_set_keymap("n", "g]", ":call CocActionAsync('diagnosticNext')<CR>", {silent = true, noremap = true}) | |||||
| vim.keymap.set("n", "<C-space>", vim.fn['coc#refresh'](), {silent = true, noremap = true}) | |||||
| -- Bind Ctrl + j,k to up and down for COC completion | |||||
| vim.api.nvim_set_keymap('i', '<C-j>', "pumvisible() ? '<Down>' : '<C-j>'", { noremap = true, expr = true, silent = true }) | |||||
| vim.api.nvim_set_keymap('i', '<C-k>', "pumvisible() ? '<Up>' : '<C-k>'", { noremap = true, expr = true, silent = true }) | |||||
| @ -0,0 +1 @@ | |||||
| vim.cmd[[colorscheme gruvbox]] | |||||
| @ -0,0 +1,159 @@ | |||||
| -- Automatically generated packer.nvim plugin loader code | |||||
| if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then | |||||
| vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"') | |||||
| return | |||||
| end | |||||
| vim.api.nvim_command('packadd packer.nvim') | |||||
| local no_errors, error_msg = pcall(function() | |||||
| local time | |||||
| local profile_info | |||||
| local should_profile = false | |||||
| if should_profile then | |||||
| local hrtime = vim.loop.hrtime | |||||
| profile_info = {} | |||||
| time = function(chunk, start) | |||||
| if start then | |||||
| profile_info[chunk] = hrtime() | |||||
| else | |||||
| profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 | |||||
| end | |||||
| end | |||||
| else | |||||
| time = function(chunk, start) end | |||||
| end | |||||
| local function save_profiles(threshold) | |||||
| local sorted_times = {} | |||||
| for chunk_name, time_taken in pairs(profile_info) do | |||||
| sorted_times[#sorted_times + 1] = {chunk_name, time_taken} | |||||
| end | |||||
| table.sort(sorted_times, function(a, b) return a[2] > b[2] end) | |||||
| local results = {} | |||||
| for i, elem in ipairs(sorted_times) do | |||||
| if not threshold or threshold and elem[2] > threshold then | |||||
| results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' | |||||
| end | |||||
| end | |||||
| _G._packer = _G._packer or {} | |||||
| _G._packer.profile_output = results | |||||
| end | |||||
| time([[Luarocks path setup]], true) | |||||
| local package_path_str = "/home/tovi/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/tovi/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/tovi/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/tovi/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" | |||||
| local install_cpath_pattern = "/home/tovi/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so" | |||||
| if not string.find(package.path, package_path_str, 1, true) then | |||||
| package.path = package.path .. ';' .. package_path_str | |||||
| end | |||||
| if not string.find(package.cpath, install_cpath_pattern, 1, true) then | |||||
| package.cpath = package.cpath .. ';' .. install_cpath_pattern | |||||
| end | |||||
| time([[Luarocks path setup]], false) | |||||
| time([[try_loadstring definition]], true) | |||||
| local function try_loadstring(s, component, name) | |||||
| local success, result = pcall(loadstring(s), name, _G.packer_plugins[name]) | |||||
| if not success then | |||||
| vim.schedule(function() | |||||
| vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) | |||||
| end) | |||||
| end | |||||
| return result | |||||
| end | |||||
| time([[try_loadstring definition]], false) | |||||
| time([[Defining packer_plugins]], true) | |||||
| _G.packer_plugins = { | |||||
| ["coc.nvim"] = { | |||||
| loaded = true, | |||||
| path = "/home/tovi/.local/share/nvim/site/pack/packer/start/coc.nvim", | |||||
| url = "https://github.com/neoclide/coc.nvim" | |||||
| }, | |||||
| ["dart-vim-plugin"] = { | |||||
| loaded = true, | |||||
| path = "/home/tovi/.local/share/nvim/site/pack/packer/start/dart-vim-plugin", | |||||
| url = "https://github.com/dart-lang/dart-vim-plugin" | |||||
| }, | |||||
| ["git-blame.nvim"] = { | |||||
| loaded = true, | |||||
| path = "/home/tovi/.local/share/nvim/site/pack/packer/start/git-blame.nvim", | |||||
| url = "https://github.com/f-person/git-blame.nvim" | |||||
| }, | |||||
| gruvbox = { | |||||
| loaded = true, | |||||
| path = "/home/tovi/.local/share/nvim/site/pack/packer/start/gruvbox", | |||||
| url = "https://github.com/gruvbox-community/gruvbox" | |||||
| }, | |||||
| ["packer.nvim"] = { | |||||
| loaded = true, | |||||
| path = "/home/tovi/.local/share/nvim/site/pack/packer/start/packer.nvim", | |||||
| url = "https://github.com/wbthomason/packer.nvim" | |||||
| }, | |||||
| ["php-doc-modded"] = { | |||||
| loaded = true, | |||||
| path = "/home/tovi/.local/share/nvim/site/pack/packer/start/php-doc-modded", | |||||
| url = "https://github.com/Rican7/php-doc-modded" | |||||
| }, | |||||
| ["plenary.nvim"] = { | |||||
| loaded = true, | |||||
| path = "/home/tovi/.local/share/nvim/site/pack/packer/start/plenary.nvim", | |||||
| url = "https://github.com/nvim-lua/plenary.nvim" | |||||
| }, | |||||
| ["popup.nvim"] = { | |||||
| loaded = true, | |||||
| path = "/home/tovi/.local/share/nvim/site/pack/packer/start/popup.nvim", | |||||
| url = "https://github.com/nvim-lua/popup.nvim" | |||||
| }, | |||||
| ["telescope-fzy-native.nvim"] = { | |||||
| loaded = true, | |||||
| path = "/home/tovi/.local/share/nvim/site/pack/packer/start/telescope-fzy-native.nvim", | |||||
| url = "https://github.com/nvim-telescope/telescope-fzy-native.nvim" | |||||
| }, | |||||
| ["telescope.nvim"] = { | |||||
| loaded = true, | |||||
| path = "/home/tovi/.local/share/nvim/site/pack/packer/start/telescope.nvim", | |||||
| url = "https://github.com/nvim-telescope/telescope.nvim" | |||||
| }, | |||||
| ["tmux.nvim"] = { | |||||
| loaded = true, | |||||
| path = "/home/tovi/.local/share/nvim/site/pack/packer/start/tmux.nvim", | |||||
| url = "https://github.com/aserowy/tmux.nvim" | |||||
| }, | |||||
| ["vim-go"] = { | |||||
| commands = { "GoUpdateBinaries" }, | |||||
| loaded = false, | |||||
| needs_bufread = true, | |||||
| only_cond = false, | |||||
| path = "/home/tovi/.local/share/nvim/site/pack/packer/opt/vim-go", | |||||
| url = "https://github.com/fatih/vim-go" | |||||
| }, | |||||
| ["vim-gofmt"] = { | |||||
| commands = { "GoUpdateBinaries" }, | |||||
| loaded = false, | |||||
| needs_bufread = true, | |||||
| only_cond = false, | |||||
| path = "/home/tovi/.local/share/nvim/site/pack/packer/opt/vim-gofmt", | |||||
| url = "https://github.com/darrikonn/vim-gofmt" | |||||
| } | |||||
| } | |||||
| time([[Defining packer_plugins]], false) | |||||
| -- Command lazy-loads | |||||
| time([[Defining lazy-load commands]], true) | |||||
| pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file GoUpdateBinaries lua require("packer.load")({'vim-go', 'vim-gofmt'}, { cmd = "GoUpdateBinaries", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]]) | |||||
| time([[Defining lazy-load commands]], false) | |||||
| if should_profile then save_profiles() end | |||||
| end) | |||||
| if not no_errors then | |||||
| error_msg = error_msg:gsub('"', '\\"') | |||||
| vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') | |||||
| end | |||||
| @ -0,0 +1,7 @@ | |||||
| vim.keymap.set('n', '<C-d>', function () | |||||
| if vim.bo.filetype ~= 'php' then | |||||
| return | |||||
| end | |||||
| vim.api.nvim_call_function("PhpDocSingle", {}) | |||||
| end, options) | |||||
| @ -0,0 +1,60 @@ | |||||
| local pickers = require("telescope.pickers") | |||||
| local finders = require("telescope.finders") | |||||
| local previewers = require("telescope.previewers") | |||||
| local action_state = require("telescope.actions.state") | |||||
| local conf = require("telescope.config").values | |||||
| local actions = require("telescope.actions") | |||||
| require("telescope").setup({ | |||||
| defaults = { | |||||
| file_sorter = require("telescope.sorters").get_fzy_sorter, | |||||
| prompt_prefix = " >", | |||||
| color_devicons = true, | |||||
| file_previewer = require("telescope.previewers").vim_buffer_cat.new, | |||||
| grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new, | |||||
| qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new, | |||||
| mappings = { | |||||
| i = { | |||||
| ["<C-x>"] = false, | |||||
| ["<C-q>"] = actions.send_to_qflist, | |||||
| }, | |||||
| }, | |||||
| }, | |||||
| }) | |||||
| local M = {} | |||||
| function git_branches () | |||||
| require("telescope.builtin").git_branches({ | |||||
| attach_mappings = function(_, map) | |||||
| map("i", "<c-d>", actions.git_delete_branch) | |||||
| map("n", "<c-d>", actions.git_delete_branch) | |||||
| return true | |||||
| end, | |||||
| }) | |||||
| end | |||||
| local options = { noremap = true } | |||||
| vim.keymap.set('n', '<C-g>', function() | |||||
| local term = vim.fn.input("Grep For > ") | |||||
| if term == '' then | |||||
| return | |||||
| end | |||||
| require('telescope.builtin').grep_string({ search = term }) | |||||
| end, options) | |||||
| vim.keymap.set('n', '<C-p>', function() | |||||
| local ran, errorMessage = pcall(require('telescope.builtin').git_files) | |||||
| if not ran then | |||||
| require('telescope.builtin').find_files() | |||||
| end | |||||
| end, options) | |||||
| -- vim.keymap.set('n', '<C-q>', function() | |||||
| -- end, options) | |||||
| vim.keymap.set('n', '<leader>fb', require('telescope.builtin').buffers, options) | |||||
| @ -0,0 +1,17 @@ | |||||
| require("tmux").setup({ | |||||
| -- overwrite default configuration | |||||
| -- here, e.g. to enable default bindings | |||||
| copy_sync = { | |||||
| -- enables copy sync and overwrites all register actions to | |||||
| -- sync registers *, +, unnamed, and 0 till 9 from tmux in advance | |||||
| enable = true, | |||||
| }, | |||||
| navigation = { | |||||
| -- enables default keybindings (C-hjkl) for normal mode | |||||
| enable_default_keybindings = true, | |||||
| }, | |||||
| resize = { | |||||
| -- enables default keybindings (A-hjkl) for normal mode | |||||
| enable_default_keybindings = true, | |||||
| } | |||||
| }) | |||||
| @ -1,27 +0,0 @@ | |||||
| local actions = require('telescope.actions') | |||||
| require('telescope').setup { | |||||
| defaults = { | |||||
| file_sorter = require('telescope.sorters').get_fzy_sorter, | |||||
| prompt_prefix = ' >', | |||||
| color_devicons = true, | |||||
| file_previewer = require('telescope.previewers').vim_buffer_cat.new, | |||||
| grep_previewer = require('telescope.previewers').vim_buffer_vimgrep.new, | |||||
| qflist_previewer = require('telescope.previewers').vim_buffer_qflist.new, | |||||
| mappings = { | |||||
| i = { | |||||
| ["<C-x>"] = false, | |||||
| ["<C-q>"] = actions.send_to_qflist, | |||||
| }, | |||||
| } | |||||
| }, | |||||
| extensions = { | |||||
| fzy_native = { | |||||
| override_generic_sorter = false, | |||||
| override_file_sorter = true, | |||||
| } | |||||
| } | |||||
| } | |||||
| require('telescope').load_extension('fzy_native') | |||||