" Pas de compatibilité a VI !
set nocompatible

" PLUGNIS ########################################################
filetype off                  " required
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" Vundle
Plugin 'VundleVim/Vundle.vim'
" I don't know what this is
Plugin 'othree/html5.vim'
" Generate doc for typescript functions
Plugin 'https://gogs.tforgione.fr/tforgione/typescript-doc.git'
call vundle#end()            " required
filetype plugin indent on    " required

" Line numbers and syntaxic coloration
" set nu
" syntax on

" Highlight bad spaces (not working...)
" highlight BadWhitespace ctermbg=red guibg=red
" match BadWhitespace / \| \+\t/

" COLOR #############################################################{{{
set background=dark
syntax enable
colorscheme peachpuff
" }}}

" INDENTATION #######################################################{{{
set expandtab
set tabstop=4
set shiftwidth=4
set autoindent
" }}}

" UI CONFIG #########################################################{{{
set number
set showcmd
set wildmenu
set lazyredraw
set encoding=utf8
let g:airline_powerline_fonts=1
set clipboard=unnamedplus
set updatecount=50
set mouse=a
set ttymouse=sgr
" Espaces insécables grrrr
set list
set listchars=tab:  ,trail:·,extends:>,precedes:<,nbsp:¬
" Remove trailing spaces
autocmd BufWritePre * :%s/\s\+$//e
" Compile on F12
nnoremap <silent><F12> :wa \| !make-client.sh<CR>
inoremap <silent><F12> <C-O>:wa \|!make-client.sh<CR>
vnoremap <silent><F12> :wa \|!make-client.sh<CR>
" Escape on F1
map <F1> <Esc>
imap <F1> <Esc>
" }}}

" SEARCHING #########################################################{{{
set title
set showmatch
set hlsearch
set noincsearch
" }}}

" NERDTREE ##########################################################{{{
let NERDTreeIgnore = ['\.pyc$','__pycache__']
set shell=sh
let g:NERDTreeIndicatorMapCustom = {
	\ "Modified"  : "✹",
	\ "Staged"    : "✚",
	\ "Untracked" : "✭",
	\ "Renamed"   : "➜",
	\ "Unmerged"  : "═",
	\ "Deleted"   : "✖",
	\ "Dirty"     : "✗",
	\ "Clean"     : "✔︎",
	\ "Unknown"   : "?"
	\ }
let g:WebDevIconsNerdTreeGitPluginForceVAlign = 1
" }}}

" BACKUPS ###########################################################{{{
autocmd BufWritePost * :silent execute ':w! ' ."$HOME/.vim/backups/" . escape(substitute(expand('%:p'), "/", "%", "g"), "%")

if exists('+undofile')
    set undofile
    set undolevels=1000
    set undoreload=10000
    if exists('+undodir')
        set undodir=$HOME/.vim/undo
    endif
endif
" }}}


" MARKDOWN PREVIEW ##################################################{{{
set nobackup
let g:markdown_composer_browser = 'firefox'
" }}}