blob: e879a56acd559034155645a245f8e43c10118962 (
plain)
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
|
" plugin dependent conf starts
call plug#begin('~/.config/nvim/plugged')
" git
Plug 'tpope/vim-fugitive', { 'tag': 'v3.6' }
Plug 'airblade/vim-gitgutter'
" tmux
Plug 'tmux-plugins/vim-tmux-focus-events'
Plug 'roxma/vim-tmux-clipboard'
Plug 'wincent/terminus'
" life improvements
Plug 'sainnhe/gruvbox-material'
Plug 'preservim/nerdtree'
Plug 'Chiel92/vim-autoformat'
Plug 'godlygeek/tabular'
Plug 'ojroques/nvim-bufdel'
" language support
Plug 'preservim/vim-markdown'
Plug 'samsaga2/vim-z80'
Plug 'tomtom/tcomment_vim'
Plug 'ludovicchabant/vim-gutentags'
Plug 'hiphish/rainbow-delimiters.nvim'
" status line
Plug 'nvim-lualine/lualine.nvim'
" general lua
Plug 'nvim-lua/popup.nvim'
Plug 'nvim-lua/plenary.nvim'
" scala
Plug 'scalameta/nvim-metals'
" rust
Plug 'rust-lang/rust.vim'
" telescope
Plug 'nvim-telescope/telescope.nvim'
" auto complete
Plug 'hrsh7th/nvim-cmp'
Plug 'hrsh7th/cmp-nvim-lsp'
Plug 'hrsh7th/cmp-vsnip'
Plug 'hrsh7th/vim-vsnip'
" LSP
Plug 'neovim/nvim-lspconfig'
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
" LSP helpers
Plug 'kyazdani42/nvim-web-devicons'
Plug 'folke/trouble.nvim'
" learning
Plug 'folke/which-key.nvim'
call plug#end()
:lua << EOF
-- BufKil
require('bufdel').setup {
next = 'cycle',
quit = false,
}
-- which-key
require("which-key").setup { }
-- telescope
require("telescope").setup {
defaults = {
path_display = { truncate = 1 },
preview = { telescope = 0 },
},
}
EOF
function! ToggleGstatus() abort
for l:winnr in range(1, winnr('$'))
if !empty(getwinvar(l:winnr, 'fugitive_status'))
exe l:winnr 'close'
return
endif
endfor
keepalt Git
endfunction
nnoremap gs :call ToggleGstatus()<CR>
source ~/.config/nvim/lualine.lua
" for LSP config
source ~/.config/nvim/lsp.lua
source ~/.config/nvim/treesitter.lua
" scala and metals
source ~/.config/nvim/metals.vim
" haskell
source ~/.config/nvim/haskell.vim
" auto-complete
source ~/.config/nvim/cmp.lua
|