let g:python_host_prog  = '/usr/local/bin/python'
let g:python3_host_prog  = '/usr/local/bin/python3'
" set t_Co=256
set number
set laststatus=2
set background=dark
set shiftwidth=4
set showcmd
set nocompatible
set path+=**
set wildmenu
set tabstop=2
set shiftwidth=2
set expandtab

" colorscheme PaperColor
" colorscheme ubloh
colorscheme muon
" Specify a directory for plugins
" - For Neovim: ~/.local/share/nvim/plugged
" - Avoid using standard Vim directory names like 'plugin'
call plug#begin('~/.local/share/nvim/plugs')

" Make sure you use single quotes
Plug 'arakashic/chromatica.nvim'
Plug 'abudden/taghighlight-automirror'
Plug 'tomasiser/vim-code-dark'
Plug 'romainl/Apprentice'
Plug 'junegunn/vim-easy-align'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'cocopon/iceberg.vim'
Plug 'drewtempelmeyer/palenight.vim'
Plug 'ayu-theme/ayu-vim'
Plug 'arcticicestudio/nord-vim'

" Remove whitespace
Plug 'ntpeters/vim-better-whitespace'
" Any valid git URL is allowed
Plug 'https://github.com/junegunn/vim-github-dashboard.git'

" Multiple Plug commands can be written in a single line using | separators
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
" On-demand loading
Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }
Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'ryanoasis/vim-devicons'
Plug 'tpope/vim-fireplace', { 'for': 'clojure' }

Plug 'Valloric/YouCompleteMe'

" Using a non-master branch
Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }

Plug 'ncm2/ncm2', { 'do': ':UpdateRemotePlugins'}
Plug 'roxma/nvim-yarp'

" NOTE: you need to install completion sources to get completions. Check
" our wiki page for a list of sources: https://github.com/ncm2/ncm2/wiki
Plug 'ncm2/ncm2-bufword'
" Plug 'ncm2/ncm2-tmux'
Plug 'ncm2/ncm2-path'
" Plug 'ncm2/utilsnips'
Plug 'wakatime/vim-wakatime'


Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }

Plug 'autozimu/LanguageClient-neovim', {
    \ 'branch': 'next',
    \ 'do': 'bash install.sh',
    \ }

Plug 'junegunn/fzf'

Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }

Plug 'zchee/deoplete-clang'

" Unmanaged plugin (manually installed and updated)
Plug '~/my-prototype-plugin'


Plug 'autozimu/LanguageClient-neovim', {
    \ 'branch': 'next',
    \ 'do': 'zsh install.sh'
    \ }

Plug 'pangloss/vim-javascript'

Plug 'https://github.com/tpope/vim-fugitive'

Plug 'airblade/vim-gitgutter'

Plug 'ludovicchabant/vim-gutentags'

Plug 'zivyangll/git-blame.vim'

Plug 'simplyzhao/cscope_maps.vim'

Plug 'tpope/vim-commentary'
Plug 'isRuslan/vim-es6'
Plug 'rhysd/vim-clang-format'

call plug#end()

let g:ycm_global_ycm_extra_conf = '~/.local/share/nvim/plugs/YouCompleteMe/.ycm_extra_conf.py'

" C++ syntax highlighting modifications

let g:cpp_class_scope_highlight = 1
let g:cpp_member_variable_highlight = 1
let g:cpp_class_decl_highlight = 1
let g:cpp_experimental_template_highlight = 1

let g:airline#extensions#tabline#enabled = 1
" Chromatica for better better C/C++ syntax highlighting
let g:chromatica#libclang_path='/usr/lib'
let g:chromatica#enable_at_startup=1


" enable ncm2 for all buffers
autocmd BufEnter * call ncm2#enable_for_buffer()

" IMPORTANTE: :help Ncm2PopupOpen for more information
set completeopt=noinsert,menuone,noselect

autocmd StdinReadPre * let s:std_in=1
" Open NERDTree if vim is launched with no file
" autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
" Map Ctrl-N to toggle nerd tree
map <C-n> :NERDTreeToggle<CR>
" Close vim if NERDTree is the only window left open
" autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
nnoremap <Leader>s :<C-u>call gitblame#echo()<CR>
" Any additional tags that we might need (3rfd party C++ libraries, for
" example)
"
set tags+=/usr/local/include/node
" colorscheme codedark

let g:PaperColor_Theme_Options = {
  \   'language': {
  \     'python': {
  \       'highlight_builtins' : 1
  \     },
  \     'cpp': {
  \       'highlight_standard_library': 1
  \     },
  \     'c': {
  \       'highlight_builtins' : 1
  \     }
  \   }
  \ }

let g:gutentags_enabled = 0
  augroup auto_gutentags
    au FileType c,cpp,javascript,python,java,scala,sh,groovy,vim let g:gutentags_enabled=1
  augroup plug#end

    Plug 'bfrg/vim-cpp-modern'
Plug 'octol/vim-cpp-enhanced-highlight'

autocmd FileType c,cpp,h,hpp ClangFormatAutoEnable
set encoding=UTF-8

