First version of the config, completely in lua.

This commit is contained in:
Mariano Uvalle 2021-03-31 22:39:21 -04:00
parent 981a85653e
commit eb8998aa2d
11 changed files with 195 additions and 0 deletions

8
.netrwhist Normal file
View file

@ -0,0 +1,8 @@
let g:netrw_dirhistmax =10
let g:netrw_dirhistcnt =6
let g:netrw_dirhist_6='/Users/marianouvalle/dev/AtHomeHRI/backend'
let g:netrw_dirhist_5='/Users/marianouvalle/dev/AtHomeHRI'
let g:netrw_dirhist_4='/Users/marianouvalle/dev/ciudad-de-los-ninos'
let g:netrw_dirhist_3='/Users/marianouvalle/dev/ciudad-de-los-ninos/src'
let g:netrw_dirhist_2='/Users/marianouvalle/dev/ciudad-de-los-ninos'
let g:netrw_dirhist_1='/Users/marianouvalle'

11
init.lua Normal file
View file

@ -0,0 +1,11 @@
require('plugins')
require('colorscheme')
require('keymappings')
require('settings')
require('lsp')
require('lsp.typescript-ls')
require('lsp.python-ls')
require('nv-compe')
require('nv-prettier')

6
lua/colorscheme.lua Normal file
View file

@ -0,0 +1,6 @@
vim.cmd("colorscheme palenight")
vim.g.lightline={
colorscheme='palenight'
}
vim.api.nvim_set_option('background', 'dark')
vim.api.nvim_set_option('termguicolors', true)

28
lua/keymappings.lua Normal file
View file

@ -0,0 +1,28 @@
-- Space as leader.
vim.api.nvim_set_keymap('n', '<Space>', '<NOP>', {noremap = true, silent = true})
vim.g.mapleader = ' '
-- Exit insert mode with jk.
vim.api.nvim_set_keymap('i', 'jk', '<ESC>', {noremap = true, silent = true})
vim.api.nvim_set_keymap('i', 'kj', '<ESC>', {noremap = true, silent = true})
-- C-g as ESC
vim.api.nvim_set_keymap('n', '<C-g>', '<ESC>', {noremap = true, silent = true})
vim.api.nvim_set_keymap('i', '<C-g>', '<ESC>', {noremap = true, silent = true})
vim.api.nvim_set_keymap('v', '<C-g>', '<ESC>', {noremap = true, silent = true})
vim.api.nvim_set_keymap('s', '<C-g>', '<ESC>', {noremap = true, silent = true})
vim.api.nvim_set_keymap('x', '<C-g>', '<ESC>', {noremap = true, silent = true})
vim.api.nvim_set_keymap('c', '<C-g>', '<ESC>', {noremap = true, silent = true})
vim.api.nvim_set_keymap('o', '<C-g>', '<ESC>', {noremap = true, silent = true})
vim.api.nvim_set_keymap('l', '<C-g>', '<ESC>', {noremap = true, silent = true})
vim.api.nvim_set_keymap('t', '<C-g>', '<ESC>', {noremap = true, silent = true})
-- Quick save.
vim.api.nvim_set_keymap('n', '<Leader>fw', ':w<CR>', {silent = true})
-- Toggle between buffesr.
vim.api.nvim_set_keymap('n', '<Leader><Leader>', '<C-^>', {noremap = true, silent = true})
vim.api.nvim_set_keymap('n', '<Leader>ff', ':Files<CR>',{})
vim.api.nvim_set_keymap('n', '<Leader>bs', ':Buffers<CR>',{})
vim.api.nvim_set_keymap('n', '<Leader>ps', ':Rg<CR>', {noremap = true})

11
lua/lsp/init.lua Normal file
View file

@ -0,0 +1,11 @@
vim.cmd('nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>')
vim.cmd('nnoremap <silent> gD <cmd>lua vim.lsp.buf.declaration()<CR>')
vim.cmd('nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>')
vim.cmd('nnoremap <silent> gi <cmd>lua vim.lsp.buf.implementation()<CR>')
vim.cmd('nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR>')
-- scroll down hover doc or scroll in definition preview
vim.cmd('nnoremap <silent> <C-f> <cmd>lua require(\'lspsaga.action\').smart_scroll_with_saga(1)<CR>')
-- scroll up hover doc
vim.cmd('nnoremap <silent> <C-b> <cmd>lua require(\'lspsaga.action\').smart_scroll_with_saga(-1)<CR>')

2
lua/lsp/python-ls.lua Normal file
View file

@ -0,0 +1,2 @@
require'lspconfig'.pyright.setup{}

View file

@ -0,0 +1,2 @@
require'lspconfig'.tsserver.setup{}

79
lua/nv-compe/init.lua Normal file
View file

@ -0,0 +1,79 @@
vim.o.completeopt = "menuone,noselect"
require'compe'.setup {
enabled = true;
autocomplete = true;
debug = false;
min_length = 1;
preselect = 'enable';
throttle_time = 80;
source_timeout = 200;
incomplete_delay = 400;
max_abbr_width = 100;
max_kind_width = 100;
max_menu_width = 100;
documentation = false;
source = {
path = true;
buffer = true;
calc = true;
vsnip = true;
nvim_lsp = true;
nvim_lua = true;
tags = true;
snippets_nvim = true;
treesitter = true;
};
}
local t = function(str)
return vim.api.nvim_replace_termcodes(str, true, true, true)
end
local check_back_space = function()
local col = vim.fn.col('.') - 1
if col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then
return true
else
return false
end
end
-- Use (s-)tab to:
--- move to prev/next item in completion menuone
--- jump to prev/next snippet's placeholder
_G.tab_complete_only = function()
if vim.fn.pumvisible() == 1 then
return t "<C-n>"
else
return t "<Tab>"
end
end
_G.tab_complete = function()
if vim.fn.pumvisible() == 1 then
return t "<C-n>"
elseif vim.fn.call("vsnip#available", {1}) == 1 then
return t "<Plug>(vsnip-expand-or-jump)"
elseif check_back_space() then
return t "<Tab>"
else
return vim.fn['compe#complete']()
end
end
_G.s_tab_complete = function()
if vim.fn.pumvisible() == 1 then
return t "<C-p>"
elseif vim.fn.call("vsnip#jumpable", {-1}) == 1 then
return t "<Plug>(vsnip-jump-prev)"
else
return t "<S-Tab>"
end
end
vim.api.nvim_set_keymap("i", "<C-j>", "v:lua.tab_complete()", {expr = true})
vim.api.nvim_set_keymap("s", "<C-j>", "v:lua.tab_complete()", {expr = true})
vim.api.nvim_set_keymap("i", "<Tab>", "v:lua.tab_complete_only()", {expr = true})
vim.api.nvim_set_keymap("s", "<Tab>", "v:lua.tab_complete_only()", {expr = true})
vim.api.nvim_set_keymap("i", "<C-k>", "v:lua.s_tab_complete()", {expr = true})
vim.api.nvim_set_keymap("s", "<C-k>", "v:lua.s_tab_complete()", {expr = true})

4
lua/nv-prettier/init.lua Normal file
View file

@ -0,0 +1,4 @@
vim.g["prettier#autoformat"] = 1
vim.g["prettier#autoformat_require_pragma"] = 0
vim.g["prettier#exec_cmd_async"] = 1

42
lua/plugins.lua Normal file
View file

@ -0,0 +1,42 @@
local execute = vim.api.nvim_command
local fn = vim.fn
local install_path = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim'
if fn.empty(fn.glob(install_path)) > 0 then
execute('!git clone https://github.com/wbthomason/packer.nvim ' .. install_path)
execute 'packadd packer.nvim'
end
return require('packer').startup(function(use)
-- Packer can manage itself as an optional plugin
use 'wbthomason/packer.nvim'
-- LSP
use 'neovim/nvim-lspconfig'
use 'glepnir/lspsaga.nvim'
-- Autocomplete
use 'hrsh7th/nvim-compe'
-- Theme
use 'drewtempelmeyer/palenight.vim'
use 'kyazdani42/nvim-web-devicons'
-- Syntax
use 'sheerun/vim-polyglot'
use {'prettier/vim-prettier', run = "yarn install"}
-- FZF
use '/usr/local/opt/fzf'
use 'junegunn/fzf.vim'
use {
'nvim-telescope/telescope.nvim',
requires = {{'nvim-lua/popup.nvim'}, {'nvim-lua/plenary.nvim'}}
}
use 'jiangmiao/auto-pairs'
use 'itchyny/lightline.vim'
end)

2
lua/settings.lua Normal file
View file

@ -0,0 +1,2 @@
vim.api.nvim_set_option('signcolumn', 'yes')
vim.cmd(":set number relativenumber")