|
@@ -1,8 +1,6 @@
|
|
syntax on
|
|
syntax on
|
|
filetype plugin indent on
|
|
filetype plugin indent on
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
" Plugins
|
|
" Plugins
|
|
call plug#begin('~/.vim/plugged')
|
|
call plug#begin('~/.vim/plugged')
|
|
Plug 'chriskempson/base16-vim'
|
|
Plug 'chriskempson/base16-vim'
|
|
@@ -10,6 +8,9 @@ call plug#begin('~/.vim/plugged')
|
|
Plug 'neovim/nvim-lspconfig'
|
|
Plug 'neovim/nvim-lspconfig'
|
|
Plug 'nvim-lua/completion-nvim'
|
|
Plug 'nvim-lua/completion-nvim'
|
|
Plug 'kaicataldo/material.vim', { 'branch': 'main' }
|
|
Plug 'kaicataldo/material.vim', { 'branch': 'main' }
|
|
|
|
+ Plug 'nvim-lua/popup.nvim'
|
|
|
|
+ Plug 'nvim-lua/plenary.nvim'
|
|
|
|
+ Plug 'nvim-telescope/telescope.nvim'
|
|
call plug#end()
|
|
call plug#end()
|
|
|
|
|
|
" General vim configurations
|
|
" General vim configurations
|
|
@@ -29,13 +30,28 @@ set nu
|
|
set hidden
|
|
set hidden
|
|
set undodir=~/.config/nvim/undodir
|
|
set undodir=~/.config/nvim/undodir
|
|
set undofile
|
|
set undofile
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+" Theme settings
|
|
|
|
+" https://github.com/kaicataldo/material.vim
|
|
|
|
+if (has('termguicolors'))
|
|
|
|
+ set termguicolors
|
|
|
|
+endif
|
|
|
|
+let g:material_theme_style = 'darker'
|
|
|
|
+colorscheme material
|
|
|
|
+
|
|
|
|
+
|
|
" Lsp configuration for multiple languages
|
|
" Lsp configuration for multiple languages
|
|
lua require'lspconfig'.bashls.setup{}
|
|
lua require'lspconfig'.bashls.setup{}
|
|
lua require'lspconfig'.jsonls.setup{}
|
|
lua require'lspconfig'.jsonls.setup{}
|
|
-lua require'lspconfig'.jedi_language_server.setup{on_attach=require'completion'.on_attach }
|
|
|
|
|
|
+lua require'lspconfig'.pyls.setup{ on_attach=require'completion'.on_attach }
|
|
lua require'lspconfig'.gopls.setup{ on_attach=require'completion'.on_attach }
|
|
lua require'lspconfig'.gopls.setup{ on_attach=require'completion'.on_attach }
|
|
lua require'lspconfig'.rust_analyzer.setup{ on_attach=require'completion'.on_attach }
|
|
lua require'lspconfig'.rust_analyzer.setup{ on_attach=require'completion'.on_attach }
|
|
lua require'lspconfig'.clangd.setup{ on_attach=require'completion'.on_attach }
|
|
lua require'lspconfig'.clangd.setup{ on_attach=require'completion'.on_attach }
|
|
|
|
+
|
|
|
|
+" auto complete matching strategy
|
|
|
|
+let g:completion_matching_strategy_list = ['exact', 'substring', 'fuzzy']
|
|
|
|
+
|
|
" Use <Tab> and <S-Tab> to navigate through popup menu
|
|
" Use <Tab> and <S-Tab> to navigate through popup menu
|
|
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
|
|
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
|
|
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
|
|
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
|
|
@@ -44,14 +60,6 @@ inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
|
|
" Avoid showing message extra message when using completion
|
|
" Avoid showing message extra message when using completion
|
|
set shortmess+=c
|
|
set shortmess+=c
|
|
|
|
|
|
-" Theme settings
|
|
|
|
-" https://github.com/kaicataldo/material.vim
|
|
|
|
-if (has('termguicolors'))
|
|
|
|
- set termguicolors
|
|
|
|
-endif
|
|
|
|
-let g:material_theme_style = 'darker'
|
|
|
|
-colorscheme material
|
|
|
|
-
|
|
|
|
|
|
|
|
" Tree-sitter config
|
|
" Tree-sitter config
|
|
lua require'nvim-treesitter.configs'.setup { highlight = { enable = true } }
|
|
lua require'nvim-treesitter.configs'.setup { highlight = { enable = true } }
|
|
@@ -61,3 +69,8 @@ let mapleader = " "
|
|
nnoremap <leader>n gt
|
|
nnoremap <leader>n gt
|
|
nnoremap <leader>m gT
|
|
nnoremap <leader>m gT
|
|
|
|
|
|
|
|
+" Telescope shortcuts
|
|
|
|
+nnoremap <leader>ff <cmd>Telescope find_files<cr>
|
|
|
|
+nnoremap <leader>fg <cmd>Telescope live_grep<cr>
|
|
|
|
+nnoremap <leader>fb <cmd>Telescope buffers<cr>
|
|
|
|
+nnoremap <leader>fh <cmd>Telescope help_tags<cr>
|