diff --git a/init.lua b/init.lua index bd81d57..80fe4f0 100644 --- a/init.lua +++ b/init.lua @@ -1,11 +1,11 @@ require 'plugins' -vim.cmd('colorscheme space-vim-dark') +vim.g.onedark_style = 'warmer' +require('onedark').setup() require 'lsp' require 'completion' require 'treesitter' -require 'debugger' require 'term' require 'settings' require 'keys' diff --git a/lua/completion.lua b/lua/completion.lua index f8bbbd1..39b7880 100644 --- a/lua/completion.lua +++ b/lua/completion.lua @@ -40,5 +40,7 @@ cmp.setup { sources = { { name = 'nvim_lsp' }, { name = 'luasnip' }, + { name = 'buffer' }, + { name = 'path' }, }, } diff --git a/lua/keys.lua b/lua/keys.lua index 49f2158..675e1f0 100644 --- a/lua/keys.lua +++ b/lua/keys.lua @@ -2,14 +2,15 @@ local key = vim.api.nvim_set_keymap local u = require('utils') vim.cmd([[autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif]]) -vim.cmd([[autocmd BufNewFile,BufRead *.md setlocal filetype=notes]]) -vim.cmd([[autocmd CursorHold * lua vim.lsp.diagnostic.show_line_diagnostics()]]) +vim.cmd([[autocmd CursorHold * lua vim.lsp.diagnostic.show_line_diagnostics({focusable = false})]]) -key('n', ';', ':Files', {}) -key('', '', ':NERDTreeToggle', {}) +key('n', ';', ':Telescope find_files', {}) +key('', '', ':NvimTreeToggle', {}) +key('n', 'gh', '/=expand("")N', {}) key('i', '', 'pumvisible() ? "" : ""', {expr = true, silent = true}) key('i', '', 'pumvisible() ? "" : ""', {expr = true, silent = true}) +key('n','g',':lua require"telescope.builtin".live_grep{}', {}) -- Highlight on yank vim.api.nvim_exec( diff --git a/lua/plugins.lua b/lua/plugins.lua index 55f6a9d..35c8527 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -4,15 +4,38 @@ return require('packer').startup({function() local use = use -- Packer can manage itself use 'wbthomason/packer.nvim' + -- Theme + use 'navarasu/onedark.nvim' + -- use 'liuchengxu/space-vim-dark' - use 'vim-airline/vim-airline' + use { + 'nvim-lualine/lualine.nvim', + requires = {'kyazdani42/nvim-web-devicons', opt = true}, + config = function() require('plugins/lualine') end + } + use { + "folke/todo-comments.nvim", + requires = "nvim-lua/plenary.nvim", + config = function() require("todo-comments").setup()end + } + use { + "folke/which-key.nvim", + config = function() require("which-key").setup() end + } + use { + 'jremmen/vim-ripgrep', + op = true, + cmd = { 'Rg' } + } + use { + 'tpope/vim-dispatch', + opt = true, + cmd = { 'Dispatch', 'Dispatch!' } + } use 'scrooloose/nerdtree' use 'Xuyuanp/nerdtree-git-plugin' - use 'liuchengxu/space-vim-dark' use 'tpope/vim-fugitive' use 'tpope/vim-commentary' - use { 'tpope/vim-dispatch', opt = true, cmd = { 'Dispatch', 'Dispatch!' } } - use 'junegunn/fzf.vim' use 'sheerun/vim-polyglot' use 'honza/vim-snippets' use 'szw/vim-tags' @@ -21,7 +44,6 @@ return require('packer').startup({function() use 'tpope/vim-haml' use 'xolox/vim-notes' use 'xolox/vim-misc' - use 'jremmen/vim-ripgrep' use 'airblade/vim-gitgutter' use 'akinsho/toggleterm.nvim' -- LSP Setup @@ -30,14 +52,31 @@ return require('packer').startup({function() use 'nvim-lua/lsp_extensions.nvim' use 'nvim-lua/completion-nvim' use 'nvim-lua/popup.nvim' + use { + 'nvim-telescope/telescope.nvim', + requires = { {'nvim-lua/plenary.nvim'} } + } + use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' } use 'nvim-lua/plenary.nvim' + use 'L3MON4D3/LuaSnip' -- Snippets plugin use 'hrsh7th/nvim-cmp' -- Autocompletion plugin use 'hrsh7th/cmp-nvim-lsp' use 'saadparwaiz1/cmp_luasnip' - use 'L3MON4D3/LuaSnip' -- Snippets plugin + use "hrsh7th/cmp-buffer" + use "hrsh7th/cmp-path" use 'nvim-treesitter/nvim-treesitter' - -- Debugger -- - use 'mfussenegger/nvim-dap' + + use 'kyazdani42/nvim-web-devicons' + + use { + 'kyazdani42/nvim-tree.lua', + cmd = { + 'NvimTreeOpen', + 'NvimTreeFocus', + 'NvimTreeToggle', + }, + config = function() require'plugins/nvim-tree' end + } end, config = { display = { diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua new file mode 100644 index 0000000..b82270a --- /dev/null +++ b/lua/plugins/lualine.lua @@ -0,0 +1,14 @@ +-- Inserts a component in lualine_c at left section +local config = {} +local function ins_left(component) + table.insert(config.sections.lualine_c, component) +end + +-- Inserts a component in lualine_x ot right section +local function ins_right(component) + table.insert(config.sections.lualine_x, component) +end + +local config = require('lualine').get_config() +config.options.theme = 'onedark' +require('lualine').setup(config) diff --git a/lua/plugins/nvim-tree.lua b/lua/plugins/nvim-tree.lua new file mode 100644 index 0000000..fb8546d --- /dev/null +++ b/lua/plugins/nvim-tree.lua @@ -0,0 +1,33 @@ +local tree_cb = require('nvim-tree.config').nvim_tree_callback + +require("nvim-tree").setup { + auto_close = true, + view = { + width = "15%", + side = "left", + mappings = { + custom_only = true, + list = { + { key = {"", "<2-LeftMouse>"}, cb = tree_cb("edit") }, + { key = "vs", cb = tree_cb("vsplit") }, + { key = "s", cb = tree_cb("split") }, + { key = "t", cb = tree_cb("tabnew") }, + { key = "", cb = tree_cb("preview") }, + { key = "K", cb = tree_cb("first_sibling") }, + { key = "J", cb = tree_cb("last_sibling") }, + { key = "R", cb = tree_cb("refresh") }, + { key = "ma", cb = tree_cb("create") }, + { key = "md", cb = tree_cb("remove") }, + { key = "mm", cb = tree_cb("rename") }, + { key = "", cb = tree_cb("full_rename") }, + { key = "mc", cb = ':lua require"nvim-tree".on_keypress("copy");require"nvim-tree".on_keypress("paste")' }, + { key = "?", cb = tree_cb("toggle_help") }, + } + } + } +} + + + +-- Hide statusline in nvim-tree buffer/tabs. +-- vim.cmd('au BufEnter,BufWinEnter,WinEnter,CmdwinEnter * if bufname("%") == "NvimTree" | set laststatus=0 | else | set laststatus=2 | endif') diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua new file mode 100644 index 0000000..9e08f77 --- /dev/null +++ b/lua/plugins/telescope.lua @@ -0,0 +1,2 @@ + +require('telescope').load_extension('fzf')