summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkshay <[email protected]>2022-01-15 09:26:27 +0000
committerAkshay <[email protected]>2022-01-15 09:26:27 +0000
commit4ff231c3a55d2b49cd72d824d45480b6b7961190 (patch)
tree05ca13dea4535ec683b01cc47fc70ef5e19d9e63
parent458ec6367670a847cc7a48f8ab32299b22509417 (diff)
switch to nvim-cmp
l---------[-rw-r--r--]init.vim203
-rw-r--r--lua/completions.lua37
2 files changed, 38 insertions, 202 deletions
diff --git a/init.vim b/init.vim
index 01f3b1f..1923a48 100644..120000
--- a/init.vim
+++ b/init.vim
@@ -1,202 +1 @@
1let &t_ZM = "\e[3m" /nix/store/rfv8sgqc8mhpyyzb6j71k6gmgps03cc9-home-manager-files/.config/nvim/init.vim \ No newline at end of file
2
3call plug#begin('~/.local/share/nvim/plugged')
4
5Plug 'airblade/vim-gitgutter'
6Plug 'godlygeek/tabular'
7Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
8Plug 'junegunn/fzf.vim'
9Plug 'vimwiki/vimwiki'
10
11" tpope
12Plug 'tpope/vim-repeat'
13Plug 'tpope/vim-surround'
14Plug 'tpope/vim-unimpaired'
15Plug 'tpope/vim-fugitive'
16
17" syntax and friends
18" Plug 'rust-lang/rust.vim', {'for': 'rust'}
19Plug 'lervag/vimtex', {'for': 'tex'}
20Plug 'neovimhaskell/haskell-vim', {'for': ['haskell', 'cabal']}
21Plug 'elmcast/elm-vim'
22Plug 'LnL7/vim-nix'
23
24" my stuff
25Plug 'git@ferrn:vim/vim-colors-plain'
26Plug 'git@ferrn:vim/better-text-objs'
27
28" nvim only
29Plug 'neovim/nvim-lspconfig'
30Plug 'nvim-lua/completion-nvim'
31Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
32
33call plug#end()
34
35
36" augroups
37
38augroup plaintext
39 autocmd!
40 autocmd FileType text,markdown setlocal ts=2 sts=2 sw=2 expandtab textwidth=60
41augroup END
42
43augroup webdev
44 autocmd!
45 autocmd FileType less,css,html,js?,ts? setlocal ts=2 sts=2 sw=2 expandtab
46 autocmd FileType less,css,html nnoremap <Leader>s viB:sort<cr>
47augroup END
48
49augroup lisp_stuff
50 autocmd!
51 autocmd BufReadPost *.lisp set filetype=scheme
52augroup END
53
54augroup restorecursor
55 autocmd BufReadPost *
56 \ if line("'\"") > 1 && line("'\"") <= line("$") |
57 \ execute "normal! g`\"" |
58 \ endif
59augroup END
60
61augroup fzfstatus
62 if has('nvim') && !exists('g:fzf_layout')
63 autocmd! FileType fzf
64 autocmd FileType fzf set laststatus=0 noshowmode noruler
65 \| autocmd BufLeave <buffer> set laststatus=2 showmode ruler
66 endif
67augroup END
68
69augroup completions
70 " Use completion-nvim in every buffer
71 autocmd!
72 autocmd BufEnter * lua require'completion'.on_attach()
73augroup END
74
75" general settings
76set nobackup
77set nowritebackup
78set noswapfile " get rid of swapfiles everywhere
79set dir=/tmp
80
81syntax on
82
83set omnifunc=syntaxcomplete#Complete
84set completefunc=LanguageClient#complete
85set list
86filetype off
87filetype plugin indent on
88set laststatus=2
89set nowrap
90set noshowmode
91set listchars=tab:┊\ ,nbsp:␣,trail:·,extends:>,precedes:<
92set fillchars=vert:\│,stl:\ ,stlnc:\
93set ignorecase
94set smartcase
95set sidescroll=40
96set incsearch
97set hlsearch
98set undofile
99set undodir=~/tmp
100set path+=**
101set backspace=indent,eol,start
102set hidden
103set wildmenu
104set complete=.,w,b,i,u,t,
105set background=dark
106set mouse=a
107set conceallevel=0
108set nonumber
109set grepprg=rg\ --vimgrep\ --no-heading
110set grepformat=%f:%l:%c:%m,%f:%l:%m
111set cmdheight=2
112set shortmess+=c
113set updatetime=300
114set signcolumn=yes
115set inccommand=split
116set showmatch
117set diffopt+=vertical
118set completeopt=menuone,noinsert,noselect
119
120let g:netrw_browsex_viewer= "xdg-open"
121
122colorscheme plain
123
124set shiftwidth=4 " indent = 4 spaces
125set expandtab
126set tabstop=4 " tab = 4 spaces
127set softtabstop=4 " backspace through spaces
128
129" Functions
130function! GetTabber() " a lil function that integrates well with Tabular.vim
131 let c = nr2char(getchar())
132 :execute 'Tabularize /' . c
133endfunction
134
135" Ugh
136command! WQ wq
137command! Wq wq
138command! Wqa wqa
139command! WQa wqa
140command! W w
141command! Q q
142
143" abbreviations
144abclear
145iab #i #include
146iab #d #define
147cab dst put =strftime('%d %a, %b %Y')<cr>
148cab vg vimgrep
149cab vga vimgrepadd
150cab bfd bufdo
151
152" man pages
153let g:ft_man_open_mode = 'tab'
154
155let g:gitgutter_override_sign_column_highlight = 0
156let g:gitgutter_sign_added = '+'
157let g:gitgutter_sign_modified = '~'
158let g:gitgutter_sign_removed = '-'
159let g:gitgutter_sign_removed_first_line = '-'
160let g:gitgutter_sign_modified_removed = '~'
161
162let g:fzf_colors =
163 \ { 'fg': ['fg', 'Noise'],
164 \ 'bg': ['bg', 'Noise'],
165 \ 'hl': ['fg', 'Statement'],
166 \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
167 \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
168 \ 'hl+': ['fg', 'Statement'],
169 \ 'info': ['fg', 'PreProc'],
170 \ 'border': ['fg', 'Ignore'],
171 \ 'prompt': ['fg', 'Conditional'],
172 \ 'pointer': ['fg', 'Exception'],
173 \ 'marker': ['fg', 'Keyword'],
174 \ 'spinner': ['fg', 'Label'],
175 \ 'header': ['fg', 'Comment'] }
176let g:fzf_layout = { 'down': '40%' }
177let g:fzf_preview_window = []
178
179highlight GitGutterAdd ctermfg=8
180highlight GitGutterChange ctermfg=8
181highlight GitGutterDelete ctermfg=8
182
183let g:rustfmt_autosave = 1
184
185let g:latex_view_general_viewer = "zathura"
186let g:vimtex_view_method = "zathura"
187let g:tex_flavor = 'latex'
188
189let g:elm_setup_keybindings = 0
190
191let g:completion_matching_strategy_list = ['exact', 'substring', 'fuzzy', 'all']
192let g:completion_trigger_on_delete = 1
193
194sign define LspDiagnosticsSignError text=× texthl=LspDiagnosticsSignError linehl= numhl=
195sign define LspDiagnosticsSignWarning text=\! texthl=LspDiagnosticsSignWarning linehl= numhl=
196sign define LspDiagnosticsSignInformation text=i texthl=LspDiagnosticsSignInformation linehl= numhl=
197sign define LspDiagnosticsSignHint text=\~ texthl=LspDiagnosticsSignHint linehl= numhl=
198
199lua << EOF
200require 'lsp'
201require 'treesitter'
202EOF
diff --git a/lua/completions.lua b/lua/completions.lua
new file mode 100644
index 0000000..f7598a6
--- /dev/null
+++ b/lua/completions.lua
@@ -0,0 +1,37 @@
1local cmp = require 'cmp'
2
3cmp.setup({
4 snippet = {
5 expand = function(args) end,
6 },
7 mapping = {
8 ['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
9 ['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }),
10 ['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
11 ['<C-y>'] = cmp.config.disable,
12 ['<C-e>'] = cmp.mapping({
13 i = cmp.mapping.abort(),
14 c = cmp.mapping.close(),
15 }),
16 ['<CR>'] = cmp.mapping.confirm({ select = true }),
17 },
18 sources = cmp.config.sources({
19 { name = 'nvim_lsp' },
20 }, {
21 { name = 'buffer' },
22 })
23})
24
25cmp.setup.cmdline('/', {
26 sources = {
27 { name = 'buffer' }
28 }
29})
30
31cmp.setup.cmdline(':', {
32 sources = cmp.config.sources({
33 { name = 'path' }
34 }, {
35 { name = 'cmdline' }
36 })
37})