From 0dd996f2c3151c5915b6b1f127f0655c2f83d9d4 Mon Sep 17 00:00:00 2001
From: Max Christian Pohle
Date: Sun, 11 Jun 2017 01:45:25 +0200
Subject: Bugfixes, switched from airline to lightline

---
 compton.conf      |   2 +-
 doc/shortcuts.txt |   1 +
 vimrc-full        |  94 +++++++++++++++++---------------
 ycm_extra_conf.py | 158 +++++-------------------------------------------------
 4 files changed, 65 insertions(+), 190 deletions(-)

diff --git a/compton.conf b/compton.conf
index 79a3606..f83ce40 100644
--- a/compton.conf
+++ b/compton.conf
@@ -61,4 +61,4 @@ wintypes:
 #opacity-rule = ["90:class_g = 'URxvt'", "90:class_g = ''"   ];
 
 
-opacity-rule = ["90:class_g = 'xfce4-terminal'", "90:class_g = 'Xfce4-terminal'", "90:class_g = 'termite'", "90:class_g = 'i3bar'", "90:class_g = 'i3-frame'"   ];
+opacity-rule = ["90:class_g = 'xfce4-terminal'", "90:class_g = 'Xfce4-terminal'", "90:class_g = 'termite'", "90:class_g = 'i3bar'", "90:class_g = 'i3-frame'", "90:class_g = 'Gnome-terminal'", "90:class_g = 'gnome-terminal-server'"   ];
diff --git a/doc/shortcuts.txt b/doc/shortcuts.txt
index 8c0d773..a01c7a1 100644
--- a/doc/shortcuts.txt
+++ b/doc/shortcuts.txt
@@ -79,6 +79,7 @@ ma              = set marker a-z (a in this case)
 <C-W>s          = splits buffer horizontally (same as screen)
 <C-W>w          = moves the cursor to the next window and back
 <C-W>[dir]      = moves the cursor in that direction (use hjkl or arrow keys)
+<C-W>[HK]       = make a vertical split horizontal and vice versa
 
 
 [vimdiff]
diff --git a/vimrc-full b/vimrc-full
index e605d38..fac043b 100644
--- a/vimrc-full
+++ b/vimrc-full
@@ -166,49 +166,51 @@ nnoremap <F9> :TagbarToggle<CR>|                      " bind TagBar to Hotkey Ct
 set laststatus=2                                        | " required by AirLine, without status line does not appear until a window split
 set background=light                                    |
 
-Plug 'vim-airline/vim-airline'                          | " beautification of the mode line
-let g:airline_section_c                          = "%F" | " was: %F
-let g:airline_detect_modified                    = 1    |
-let g:airline_detect_paste                       = 0    |
-let g:airline_exclude_preview                    = 0    |
-let g:airline_inactive_collapse                  = 1    |
-let g:airline_powerline_fonts                    = 1    |
-let g:airline_skip_empty_sections                = 1    |
-" let g:airline_extensions                         = []   |
-
-let g:airline#extensions#tabline#enabled         = 1    |
-let g:airline#extensions#tabline#left_alt_sep    = ''   |
-let g:airline#extensions#tabline#left_sep        = ''   |
-let g:airline#extensions#tabline#right_alt_sep   = ''   |
-let g:airline#extensions#tabline#right_sep       = ''   |
-let g:airline#extensions#tabline#fnamemod        = ':t' | " let airline just show the filename without its path
-let g:airline#extensions#tabline#disable_refresh = 0    |
-let g:airline#extensions#tabline#enabled         = 1    |
-let g:airline#extensions#tabline#show_buffers    = 1    |
-let g:airline#extensions#tabline#show_tabs       = 0    |
-let g:airline#extensions#tabline#ignore_bufadd_pat = '\c\vgundo|undotree|vimfiler|tagbar|nerd_tree|preview|^$'
-
-let g:airline_extensions#branch#enabled          = 1    |
-let g:airline_extensions#whitespace#enabled      = 1    |
-let b:airline_whitespace_checks                  = ['indent', 'trailing', 'long', 'mixed-indent-file']
-
-if has('python')
-  let g:airline_extensions#syntastic#enabled     = 1    |
-  let g:airline_extensions#ycm#enabled           = 1    |
-endif
-
-let g:airline#extensions#tagbar#flags            = 'f'  | " even though the airline extension is off this controls :h tagbar-extend
-let g:airline#extensions#tagbar#enabled          = 0    |
-
-" AIRLINE_Theme:
-Plug 'vim-airline/vim-airline-themes'                   | " airline themes to match any light and dark terminal using :AirlineTheme
-let base16colorspace=256                                |
-let g:airline_theme='base16'                            | " specifies which colorscheme should airline uses
-let g:airline#themes#base16#constant             = 0    |
-" let g:solarized_base16 = 1
-" let g:airline_base16_improved_contrast = 1
-" let g:airline_theme='badcat'                       | " specifies which colorscheme should airline uses
-" let g:airline_theme='papercolor'                   | " specifies which colorscheme should ionirline uses
+Plug 'itchyny/lightline.vim'
+
+"    Plug 'vim-airline/vim-airline'                          | " beautification of the mode line
+"    let g:airline_section_c                          = "%F" | " was: %F
+"    let g:airline_detect_modified                    = 1    |
+"    let g:airline_detect_paste                       = 0    |
+"    let g:airline_exclude_preview                    = 0    |
+"    let g:airline_inactive_collapse                  = 1    |
+"    let g:airline_powerline_fonts                    = 1    |
+"    let g:airline_skip_empty_sections                = 1    |
+"    let g:airline_extensions                         = []   |
+"    
+"    let g:airline#extensions#tabline#enabled         = 1    |
+"    let g:airline#extensions#tabline#left_alt_sep    = ''   |
+"    let g:airline#extensions#tabline#left_sep        = ''   |
+"    let g:airline#extensions#tabline#right_alt_sep   = ''   |
+"    let g:airline#extensions#tabline#right_sep       = ''   |
+"    let g:airline#extensions#tabline#fnamemod        = ':t' | " let airline just show the filename without its path
+"    let g:airline#extensions#tabline#disable_refresh = 1    | " refresh airline on bufadd ?
+"    let g:airline#extensions#tabline#enabled         = 1    |
+"    let g:airline#extensions#tabline#show_buffers    = 1    |
+"    let g:airline#extensions#tabline#show_tabs       = 0    |
+"    let g:airline#extensions#tabline#ignore_bufadd_pat = '\c\vgundo|undotree|vimfiler|tagbar|nerd_tree|preview|^$'
+"    
+"    let g:airline_extensions#branch#enabled          = 1    |
+"    let g:airline_extensions#whitespace#enabled      = 0    | " airlines whitespace check is slow :/
+"    let b:airline_whitespace_checks                  = ['indent', 'trailing', 'long', 'mixed-indent-file']
+"    
+"    if has('python')
+"      let g:airline_extensions#syntastic#enabled     = 1    |
+"      let g:airline_extensions#ycm#enabled           = 1    |
+"    endif
+"    
+"    let g:airline#extensions#tagbar#flags            = 'f'  | " even though the airline extension is off this controls :h tagbar-extend
+"    let g:airline#extensions#tagbar#enabled          = 0    |
+"    
+"    " AIRLINE_Theme:
+"    Plug 'vim-airline/vim-airline-themes'                   | " airline themes to match any light and dark terminal using :AirlineTheme
+"    let base16colorspace=256                                |
+"    let g:airline_theme='base16'                            | " specifies which colorscheme should airline uses
+"    let g:airline#themes#base16#constant             = 0    |
+"    " let g:solarized_base16 = 1
+"    " let g:airline_base16_improved_contrast = 1
+"    " let g:airline_theme='badcat'                       | " specifies which colorscheme should airline uses
+"    " let g:airline_theme='papercolor'                   | " specifies which colorscheme should ionirline uses
 
 " Autocompleter: =====================================
 if has("python")
@@ -593,7 +595,7 @@ if has("autocmd")
     " autocmd BufEnter * @f
   augroup END
 
-  autocmd VimEnter * set nobuflisted
+  " autocmd VimEnter * set nobuflisted
 endif
 
 
@@ -659,6 +661,7 @@ let g:netrw_winsize       = 20      | " window size in percent
 
 
 highlight WordBold cterm=bold gui=bold
+let w:m1 = 0
 function! HighlightWordUnderCursor()
     if(exists('w:m1') && w:m1 > 0)
       call matchdelete(w:m1)
@@ -670,6 +673,9 @@ function! HighlightWordUnderCursor()
     endif
 endfunction
 autocmd! CursorHold,CursorHoldI * call HighlightWordUnderCursor()
+if version >= 702 " clean up (see: http://vim.wikia.com/wiki/VimTip396)
+  autocmd BufWinLeave * call clearmatches()
+endif
 
 " au BufNewFile,BufRead,BufEnter *.cpp,*.hpp set omnifunc=omni#cpp#complete#Main
 " Enable omni completion.
diff --git a/ycm_extra_conf.py b/ycm_extra_conf.py
index c4cc609..092887d 100644
--- a/ycm_extra_conf.py
+++ b/ycm_extra_conf.py
@@ -1,145 +1,13 @@
-# Generated by YCM Generator at 2015-09-05 13:02:32.549813
-
-# This file is NOT licensed under the GPLv3, which is the license for the rest
-# of YouCompleteMe.
-#
-# Here's the license text for this file:
-#
-# This is free and unencumbered software released into the public domain.
-#
-# Anyone is free to copy, modify, publish, use, compile, sell, or
-# distribute this software, either in source code form or as a compiled
-# binary, for any purpose, commercial or non-commercial, and by any
-# means.
-#
-# In jurisdictions that recognize copyright laws, the author or authors
-# of this software dedicate any and all copyright interest in the
-# software to the public domain. We make this dedication for the benefit
-# of the public at large and to the detriment of our heirs and
-# successors. We intend this dedication to be an overt act of
-# relinquishment in perpetuity of all present and future rights to this
-# software under copyright law.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-# OTHER DEALINGS IN THE SOFTWARE.
-#
-# For more information, please refer to <http://unlicense.org/>
-
-import os
-import ycm_core
-
-flags = [
-    '-x',
-    'c',
-    '-D_GNU_SOURCE',
-    '-I./',
-    '-I/usr/include',
-    '-I/usr/local/include',
-    '-Wall',
-    '-I', '../submodules/',
-    '-I', 'lib/',
-    '-I', 'submodules/qdecoder/src/',
-]
-
-
-# Set this to the absolute path to the folder (NOT the file!) containing the
-# compile_commands.json file to use that instead of 'flags'. See here for
-# more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html
-#
-# You can get CMake to generate this file for you by adding:
-#   set( CMAKE_EXPORT_COMPILE_COMMANDS 1 )
-# to your CMakeLists.txt file.
-#
-# Most projects will NOT need to set this to anything; you can just change the
-# 'flags' list of compilation flags. Notice that YCM itself uses that approach.
-compilation_database_folder = ''
-
-if os.path.exists( compilation_database_folder ):
-  database = ycm_core.CompilationDatabase( compilation_database_folder )
-else:
-  database = None
-
-SOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', '.m', '.mm' ]
-
-def DirectoryOfThisScript():
-  return os.path.dirname( os.path.abspath( __file__ ) )
-
-
-def MakeRelativePathsInFlagsAbsolute( flags, working_directory ):
-  if not working_directory:
-    return list( flags )
-  new_flags = []
-  make_next_absolute = False
-  path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ]
-  for flag in flags:
-    new_flag = flag
-
-    if make_next_absolute:
-      make_next_absolute = False
-      if not flag.startswith( '/' ):
-        new_flag = os.path.join( working_directory, flag )
-
-    for path_flag in path_flags:
-      if flag == path_flag:
-        make_next_absolute = True
-        break
-
-      if flag.startswith( path_flag ):
-        path = flag[ len( path_flag ): ]
-        new_flag = path_flag + os.path.join( working_directory, path )
-        break
-
-    if new_flag:
-      new_flags.append( new_flag )
-  return new_flags
-
-
-def IsHeaderFile( filename ):
-  extension = os.path.splitext( filename )[ 1 ]
-  return extension in [ '.h', '.hxx', '.hpp', '.hh' ]
-
-
-def GetCompilationInfoForFile( filename ):
-  # The compilation_commands.json file generated by CMake does not have entries
-  # for header files. So we do our best by asking the db for flags for a
-  # corresponding source file, if any. If one exists, the flags for that file
-  # should be good enough.
-  if IsHeaderFile( filename ):
-    basename = os.path.splitext( filename )[ 0 ]
-    for extension in SOURCE_EXTENSIONS:
-      replacement_file = basename + extension
-      if os.path.exists( replacement_file ):
-        compilation_info = database.GetCompilationInfoForFile(
-          replacement_file )
-        if compilation_info.compiler_flags_:
-          return compilation_info
-    return None
-  return database.GetCompilationInfoForFile( filename )
-
-
-def FlagsForFile( filename, **kwargs ):
-  if database:
-    # Bear in mind that compilation_info.compiler_flags_ does NOT return a
-    # python list, but a "list-like" StringVec object
-    compilation_info = GetCompilationInfoForFile( filename )
-    if not compilation_info:
-      return None
-
-    final_flags = MakeRelativePathsInFlagsAbsolute(
-      compilation_info.compiler_flags_,
-      compilation_info.compiler_working_dir_ )
-
-  else:
-    relative_to = DirectoryOfThisScript()
-    final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to )
-
-  return {
-    'flags': final_flags,
-    'do_cache': True
-  }
-
+def FlagsForFile(filename, **kwargs):
+    return {
+        'flags': [
+            '-x',
+            'c',
+            '-isystem',
+            '/usr/include',
+            '-isystem',
+            '-isystem',
+            '-I',
+            '.',
+        ],
+    }
-- 
cgit v1.2.3