"set runtimepath^=~/.vim/bundle/ctrlp.vim
""set runtimepath^=~/.vim/bundle/nerdtree
set nocompatible
syntax on
filetype plugin on
set tabstop=4 shiftwidth=4 expandtab
set number
set hlsearch
"set relativenumber

""folding
set foldenable foldlevelstart=20 foldmethod=indent

" finding files
 set path+=**
 set wildmenu

" " tags
 command! MakeTags !ctags -R .
"
" linter
autocmd FileType python setlocal makeprg=pylint\ --output-format=parseable
autocmd FileType yaml   setlocal ts=2 sts=2 sw=2 makeprg=yamllint\ --f\ parsable\ %
autocmd FileType json   autocmd BufWritePre <buffer> %!python -m json.tool 2>/dev/null
autocmd BufWritePost *.py silent make! <afile> | silent redraw!
autocmd QuickFixCmdPost [^l]* cwindow

" file browsing
let g:netrw_banner=0
let g:netrw_browse_split=4
let g:netrw_altv=1
let g:netrw_liststyle=3
let g:netrw_list_hide=netrw_gitignore#Hide()
let g:netrw_list_hide.=',\(\^\|\s\s\)\zs\.\S\+'

" cursorline
set cursorline 
hi CursorLine  cterm=NONE ctermbg=darkgrey ctermfg=white

" statusline
let g:gitparsedbranchname = ' '
function! UpdateGitBranch()
  let l:branchname = system("git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n'")
  let g:branchstatus = strlen(l:branchname) >  0?'  '.l:branchname.' ':''
endfunction

augroup UPDATE_GITBRANCH
" clear old commands
autocmd!
" update git branch
autocmd BufWritePre * :call UpdateGitBranch()
autocmd BufReadPost * :call UpdateGitBranch()
autocmd BufEnter * :call UpdateGitBranch()
augroup END

set laststatus=2
set statusline=
set statusline+=%#PmenuSel#
set statusline+=%{g:branchstatus}
set statusline+=%#BufTabLineCurrent#
set statusline+=\ %M
set statusline+=\ %r
set statusline+=\ %F
set statusline+=%= "Right side settings
set statusline+=\ %y
set statusline+=%#CursorColumn#
set statusline+=\ %{&fileencoding?&fileencoding:&encoding}
set statusline+=\[%{&fileformat}\]
set statusline+=\ %c:%l/%L
set statusline+=\ %p%%
set statusline+=\ [%n]


" Tree of files
map <C-n>  :Lex <bar> vertical resize 30 <CR>

"let g:vimspector_enable_mappings = 'HUMAN'
"packadd! vimspector

"packadd! gruvbox
colorscheme gruvbox
set bg=dark