fix ycm and add more vimconfig to repo
This commit is contained in:
parent
019a37d58f
commit
1ccfead62b
11
.gitignore
vendored
11
.gitignore
vendored
@ -1,7 +1,12 @@
|
||||
|
||||
# lol passwords in plain text
|
||||
# weechat
|
||||
weechat/irc.conf
|
||||
|
||||
# lol logs
|
||||
weechat/logs/
|
||||
weechat/weechat.log
|
||||
|
||||
# vim
|
||||
vim/bundle
|
||||
vim/tmp
|
||||
|
||||
# other
|
||||
*.pyc
|
||||
|
85
vim/indent/haskell.vim
Normal file
85
vim/indent/haskell.vim
Normal file
@ -0,0 +1,85 @@
|
||||
" Vim indent file
|
||||
" Language: Haskell
|
||||
" Author: motemen <motemen@gmail.com>
|
||||
" Version: 0.1
|
||||
" Last Change: 2007-07-25
|
||||
"
|
||||
" Modify g:haskell_indent_if and g:haskell_indent_case to
|
||||
" change indentation for `if'(default 3) and `case'(default 5).
|
||||
" Example (in .vimrc):
|
||||
" > let g:haskell_indent_if = 2
|
||||
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
|
||||
let b:did_indent = 1
|
||||
|
||||
if !exists('g:haskell_indent_if')
|
||||
" if bool
|
||||
" >>>then ...
|
||||
" >>>else ...
|
||||
let g:haskell_indent_if = 3
|
||||
endif
|
||||
|
||||
if !exists('g:haskell_indent_case')
|
||||
" case xs of
|
||||
" >>>>>[] -> ...
|
||||
" >>>>>(y:ys) -> ...
|
||||
let g:haskell_indent_case = 5
|
||||
endif
|
||||
|
||||
setlocal indentexpr=GetHaskellIndent()
|
||||
setlocal indentkeys=!^F,o,O
|
||||
|
||||
function! GetHaskellIndent()
|
||||
let line = substitute(getline(getpos('.')[1] - 1), '\t', repeat(' ', &tabstop), 'g')
|
||||
|
||||
if line =~ '[!#$%&*+./<=>?@\\^|~-]$\|\<do$'
|
||||
return match(line, '\s*where \zs\|\S') + &shiftwidth
|
||||
endif
|
||||
|
||||
if line =~ '{$'
|
||||
return match(line, '\s*where \zs\|\S') + &shiftwidth
|
||||
endif
|
||||
|
||||
if line =~ '^\(instance\|class\).*\&.*where$'
|
||||
return &shiftwidth
|
||||
endif
|
||||
|
||||
if line =~ ')$'
|
||||
let pos = getpos('.')
|
||||
normal k$
|
||||
let paren_end = getpos('.')
|
||||
normal %
|
||||
let paren_begin = getpos('.')
|
||||
call setpos('.', pos)
|
||||
if paren_begin[1] != paren_end[1]
|
||||
return paren_begin[2] - 1
|
||||
endif
|
||||
endif
|
||||
|
||||
if line !~ '\<else\>'
|
||||
let s = match(line, '\<if\>.*\&.*\zs\<then\>')
|
||||
if s > 0
|
||||
return s
|
||||
endif
|
||||
|
||||
let s = match(line, '\<if\>')
|
||||
if s > 0
|
||||
return s + g:haskell_indent_if
|
||||
endif
|
||||
endif
|
||||
|
||||
let s = match(line, '\<do\s\+\zs[^{]\|\<where\s\+\zs\w\|\<let\s\+\zs\S\|^\s*\zs|\s')
|
||||
if s > 0
|
||||
return s
|
||||
endif
|
||||
|
||||
let s = match(line, '\<case\>')
|
||||
if s > 0
|
||||
return s + g:haskell_indent_case
|
||||
endif
|
||||
|
||||
return match(line, '\S')
|
||||
endfunction
|
@ -15,12 +15,12 @@ Plugin 'gmarik/Vundle.vim'
|
||||
Plugin 'tpope/vim-fugitive'
|
||||
Plugin 'kien/ctrlp.vim'
|
||||
Plugin 'bling/vim-airline'
|
||||
Plugin 'Valloric/YouCompleteMe'
|
||||
Plugin 'scrooloose/nerdtree'
|
||||
Plugin 'Shougo/vimproc.vim'
|
||||
Plugin 'Shougo/vimshell.vim'
|
||||
Plugin 'tpope/vim-markdown'
|
||||
Plugin 'altercation/vim-colors-solarized'
|
||||
Plugin 'Valloric/YouCompleteMe'
|
||||
|
||||
" All of your Plugins must be added before the following line
|
||||
call vundle#end() " required
|
||||
@ -44,7 +44,9 @@ noremap <C-o> :CtrlPBuffer<CR>
|
||||
let g:airline_powerline_fonts=1
|
||||
|
||||
" Configuring YouCompleteMe
|
||||
let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py'
|
||||
let g:ycm_global_ycm_extra_conf = '~/.vim/ycm_extra_conf.py'
|
||||
let g:ycm_server_keep_logfiles = 1
|
||||
let g:ycm_server_log_level = 'debug'
|
||||
|
||||
" Configuring VimShell
|
||||
noremap <C-s> :VimShell -split<CR>
|
13
vim/ycm_extra_conf.py
Normal file
13
vim/ycm_extra_conf.py
Normal file
@ -0,0 +1,13 @@
|
||||
|
||||
def FlagsForFile(filename, **kwargs):
|
||||
c = filename.endswith('.c')
|
||||
flags = [
|
||||
'-Wall',
|
||||
'-Wextra',
|
||||
'-Werror',
|
||||
'-DNDEBUG',
|
||||
'-std=c99' if c else '-std=c++11',
|
||||
'-x', 'c' if c else 'c++',
|
||||
'-isystem', '/usr/include',
|
||||
]
|
||||
return dict(flags=flags, do_cache=True)
|
Loading…
Reference in New Issue
Block a user