--[[ Installs and loads plugins and plugins settings --]] -- Packer startup return require('packer').startup(function(use) use 'wbthomason/packer.nvim' -- packer can manage itself use { -- install fzf as a neovim plugin 'junegunn/fzf', run = './install --bin' } use 'vijaymarupudi/nvim-fzf' -- link between lua and fzf use { 'ibhagwan/fzf-lua', -- fzf.vim replacement with lua (only for --linux) -- optional for icon support requires = { 'nvim-tree/nvim-web-devicons' } } use 'neovim/nvim-lspconfig' -- Language Server Protocol easy configuration use 'tpope/vim-fugitive' -- Git plugin use { 'glepnir/dashboard-nvim', -- dashboard event = 'VimEnter', config = function() require('dashboard').setup { theme = 'doom', config = { header = { '', 'MMMMMMMMMWkdXMMMMMMMMMMMMMWXOd:\'.. ..\':oOXWMMMMMMMMMMMMMNxkWMMMMMMMMM', 'MMMMMMMMMWo.;kNMMMMMMMMNOd:\'. .\':oONMMMMMMMMWO:.lWMMMMMMMMM', 'MMMMMMMMMWo ;kNMMMNkc\' \'ckXMMMWO:. lWMMMMMMMMM', 'MMMMMMMMMWo .;kKd\' \'oKO:. lWMMMMMMMMM', 'MMMMMMMMMWo .xO:. :Ox\' lWMMMMMMMMM', 'MMMMMMMMMWo .oKWMNk;. ;kNMMXd\' lWMMMMMMMMM', 'MMMMMMMMMWo..oKWMMMMMNk;. ;kNMMMMMMXd\'.lWMMMMMMMMM', 'MMMMMMMMMWOdKWMMMMMMMMMNk;. ;kNMMMMMMMMMWXxOWMMMMMMMMM', 'MMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMM', 'MMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMM', 'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMM', 'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM', 'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. .;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM', 'XWMMMMMMMW0doooooooooooooooooooooooddddooooooooooooooooooooooooo0WMMMMMMMMX', ',oKWMMMMMWd. ;kNMNk; oWMMMMMMXo\'', '. .oKWMMMMk. ;kNMMMMMNk; .kMMMMMXd\' ', '\' .oXWMMX; ;kNMMMMMMMMMNk; ;KMMWXd\' .', 'c .oXWWx. ;kNMMMMMMMMMMMMMNk; .xWWXd\' :', 'O. .oXNo ;kNMMMMMMMMMMMMMMMMMNk; lXXd\' .k', 'No .oOc ;kNMMMMMMMMMMMMMMMMMMMMMNk; cOd\' lN', 'MX: \'c;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMNk; .;c\' ;KM', 'MM0; ... ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; ... ,0MM', 'MMM0; .:kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk:. ,0MMM', 'MMMMKc ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; :KMMMM', 'MMMMMNd. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; .oXMMMMM', 'MMMMMMW0:. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; ;OWMMMMMM', 'MMMMMMMMNl\'lXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXl\'lXMMMMMMMM', '', }, center = { { icon = ' ' , desc = 'Fichiers récents', key = 'o', keymap = ', f r', action = 'lua require(\'fzf-lua\').oldfiles()', }, { icon = ' ', desc = 'Rechercher un fichier', key = 'r', keymap = ', f f', action = 'lua require(\'fzf-lua\').files()', }, { icon = ' ', desc = 'Rechercher un mot', key = 'm', keymap = ', f w', action = 'lua require(\'fzf-lua\').grep()', }, { icon = ' ', desc = 'Ouvrir des fichiers de configuration', key = 'c', keymap = ', i e', action = 'lua vim.cmd( \'e ~/.config/nvim/init.lua\')', }, }, footer = {} } } end, requires = { 'nvim-tree/nvim-web-devicons' } } use 'lukas-reineke/indent-blankline.nvim' -- add indentation guides --to all lines use {'nvim-treesitter/nvim-treesitter', -- parser generator tool -- (completion and better syntax highlighting) run = function() local ts_update = require('nvim-treesitter.install').update( { with_sync = true } ) ts_update() end, } use 'junegunn/gv.vim' -- git commit browser for vim-fugitive use 'junegunn/vim-peekaboo' -- real time view of the register use 'junegunn/vim-easy-align' -- align multiple line on a symbol use 'tanvirtin/monokai.nvim' -- coloscheme use 'nvim-tree/nvim-web-devicons' -- adds icons to plugins end)