" ....... "
" PLUGINS "
" ''''''' "

let g:netrw_banner=0
let g:netrw_liststyle=3

let g:local_vimrc=".vimrc_local.vim"
let python_highlight_all = 1
let g:vim_markdown_folding_disabled=1
let g:swap_custom_ops = ['and', 'or']

set statusline+=%#warningmsg#
set statusline+=%*

let g:gitgutter_sign_added = '✚'
let g:gitgutter_sign_modified = '❱'
let g:gitgutter_sign_removed = 'x'
let g:gitgutter_sign_removed_first_line = '^'
let g:gitgutter_sign_modified_removed = '❰'



" ..................... "
" PROGRAM / ENVIRONMENT "
" ''''''''''''''''''''' "

set clipboard=unnamed
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp1250,latin1
set history=500

" swap settings "
if isdirectory($HOME . '/.local/share/vim') == 0
  :silent !mkdir -p ~/.local/share/vim/swap >/dev/null 2>&1
endif
set directory=./.vim-swap//
set directory+=~/.local/share/vim/swap//
set directory+=~/tmp//
set directory+=.


" ............ "
" UI - GENERAL "
" '''''''''''' "

set updatetime=100
set t_vb=
set pastetoggle=<F4>
nmap <F3> :set wrap!<CR>

if has('mouse')
  set mouse=a
endif

if !exists(":DiffOrig")
  command DiffOrig vert new
    \ | set bt=nofile
    \ | r ++edit #
    \ | 0d_
    \ | diffthis
    \ | wincmd p
    \ | diffthis
endif


" ............ "
" UI - EDITING "
" '''''''''''' "

set autoindent
set backspace=indent,eol,start
set expandtab
set incsearch
set shiftwidth=4
set tabstop=4

inoremap <C-Left> <C-P>
inoremap <C-Right> <C-N>
noremap p p`[
noremap P P`[
nnoremap ,, :b#<CR>
nnoremap ,m :previous<CR>
nnoremap ,. :next<CR>
nnoremap ,l :ls<CR>
nnoremap ,w :set wrap!<CR>

if has("autocmd")
  filetype plugin indent on
  augroup vimrcEx
  au!
  autocmd FileType text setlocal textwidth=78
  autocmd BufNewFile,BufReadPost *.md set filetype=markdown
  autocmd BufNewFile,BufReadPost *TESTOUT.log* set filetype=beakerlib
  autocmd BufReadPost *
    \ if line("'\"") > 1 && line("'\"") <= line("$") |
    \   exe "normal! g`\"" |
    \ endif
  augroup END
else
  set autoindent
endif

" .......... "
" UI - LOOKS "
" '''''''''' "

set list
set list listchars=tab:→\ ,trail:·,precedes:←
set ruler
set showcmd
set nowrap

if &t_Co > 2 || has("gui_running")
  syntax on
  set hlsearch
endif

colorscheme hipster
" colorscheme 1989
hi Folded ctermbg=NONE
"set gfn=Droid\ Sans\ Mono\ 9
set number
highlight LineNr term=bold cterm=NONE ctermfg=DarkGrey ctermbg=NONE gui=NONE guifg=DarkGrey guibg=NONE
highlight MatchParen cterm=bold ctermfg=NONE ctermbg=black
highlight Search term=NONE cterm=NONE ctermfg=NONE ctermbg=235 "DarkGreen
highlight clear SignColumn
set signcolumn=number
set laststatus=2
set noshowmode


let g:lightline = {
      \ 'colorscheme': 'wombat',
      \ }


if &term =~ "xterm\\|rxvt"
  silent !echo -ne "\033]12;gray75\007"
  let &t_SI = "\<Esc>]12;gray25\x7"
  let &t_EI = "\<Esc>]12;gray75\x7"
  autocmd VimLeave * let &t_me="\<Esc>]12;white\x7"
endif


" ................................................ "
" How to Do 90% of What Plugins Do (With Just Vim) "
" '''''''''''''''''''''''''''''''''''''''''''''''' "

set nocompatible
set path+=**
set wildmenu

" ................................................ "
" Fixing mystery of `import re` scannig vcs.rh/...
" '''''''''''''''''''''''''''''''''''''''''''''''' "

set complete=.,t