1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
vim.cmd [[ packadd packer.nvim ]]
return require('packer').startup(function()
use 'wbthomason/packer.nvim' -- plugin manager (can manage itself)
use 'junegunn/vim-easy-align' -- align
use 'AndrewRadev/sideways.vim' -- Move arguments sideways
use 'FooSoft/vim-argwrap' -- Put arguments on multiple lines
use 'tpope/vim-eunuch' -- basic commands on current file (Rename/Remove)
use 'romainl/vim-cool' -- only highlight search matches when searching
use 'neovim/nvim-lspconfig' -- nvim lsp configuration
use {
'numToStr/Comment.nvim',
config = function()
require('Comment').setup()
end
}
-- color scheme
use {
'ellisonleao/gruvbox.nvim',
requires = {'rktjmp/lush.nvim'},
config = function()
vim.opt.termguicolors = true
vim.opt.background = "dark"
vim.cmd [[ colorscheme gruvbox ]]
vim.g.gruvbox_italic = 1
vim.g.gruvbox_bold = 1
vim.g.gruvbox_termcolors = 256
vim.g.gruvbox_contrast_dark = 'medium'
vim.g.gruvbox_contrast_light = 'hard'
vim.g.gruvbox_invert_selection = 0
end
}
-- status line
use {
'nvim-lualine/lualine.nvim',
requires = {'kyazdani42/nvim-web-devicons', opt = true},
config = function()
require('lualine').setup {
options = {
theme = 'gruvbox',
icons_enabled = true,
section_separators = '',
component_separators = ''
}
}
end
}
-- better syntax highlight for everything
use {
'nvim-treesitter/nvim-treesitter',
run = ':TSUpdate',
config = function()
require('nvim-treesitter.configs').setup {
highlight = {
enable = true
},
-- indent = { enable = true },
-- TODO: could be neat
-- incremental_selection = {
-- enable = true,
-- keymaps = {
-- init_selection = "gnn",
-- node_incremental = "grn",
-- scope_incremental = "grc",
-- node_decremental = "grm",
-- }
-- }
}
vim.cmd [[ highlight link pythonTSKeywordOperator Keyword ]]
end
}
-- fuzzy finder (replace fzf.vim or ctrlp.vim)
use {
'nvim-telescope/telescope.nvim',
requires = {
{'nvim-lua/plenary.nvim'},
{'kyazdani42/nvim-web-devicons', opt = true},
},
config = function()
local actions = require('telescope.actions')
require('telescope').setup {
defaults = {
mappings = {
i = {
['<C-j>'] = actions.move_selection_next,
['<C-k>'] = actions.move_selection_previous,
['<esc>'] = actions.close,
['kj'] = actions.close,
}
},
}
}
end
}
-- todos,fix,etc.. highlight and list
use {
'folke/todo-comments.nvim',
requires = 'nvim-lua/plenary.nvim',
config = function()
require('todo-comments').setup {
signs = false
}
end
}
end)
|