]> git.rmz.io Git - dotfiles.git/blobdiff - vim/ycm_extra_conf.py
vim: add close preview mapping
[dotfiles.git] / vim / ycm_extra_conf.py
index ba188217009cb151d2f7e952378053eb66934c10..f0e3679a8182bb48a2189e894b5bbc1471089497 100644 (file)
@@ -1,88 +1,66 @@
 import os
-import shlex
-import subprocess
-import ycm_core
 
-def FlagsForFile( filename, **kwargs ):
-  client_data = kwargs['client_data']
-  cwd = client_data['getcwd()']
-  # These are the compilation flags that will be used in case there's no
-  # compilation database set (by default, one is not set).
-  flags = [
-  '-Wall',
-  # '-Wextra',
-  # '-Wshadow',
-  # '-Werror',
-  # '-Wc++98-compat',
-  # '-Wno-long-long',
-  # '-Wno-variadic-macros',
-  # '-fexceptions',
-  # '-DNDEBUG',
-  '-std=c++11',
-  '-stdlib=libc++',
-  '-x', 'c++',
-  '-I', '.',
-  '-I', './include',
-  '-isystem', '/usr/include/c++/4.9.0',
-  '-isystem', '/usr/include/c++/4.9.0/x86_64-unknown-linux-gnu',
-  '-isystem', '/usr/include/c++/4.9.0/backward',
-  '-isystem', '/usr/lib/clang/3.4.1/include'
-  ]
-  flags += rospack()
-  relative_to = cwd
-  final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to )
-  print flags
 
-  return {
-    'flags': final_flags,
-    'do_cache': True
-  }
+def FlagsForFile(filename, **kwargs):
+    client_data = kwargs['client_data']
+    cwd = client_data['getcwd()']
 
-# This function makes it easy to pull in additional flags from rospack
-def rospack():
-  cmd = ['rospack', 'cflags-only-I']
-  try:
-    out = subprocess.Popen(cmd, shell=False, stdout=subprocess.PIPE).stdout
-  except:
-    return []
-  line = out.readline()[:-1].split(" ")
-  includes = []
-  for include in line:
-    if include.startswith(os.path.expanduser('~')):
-      includes += ['-I', include]
-    else:
-      includes += ['-isystem', include]
-  return filter(lambda a: a != ' ', includes)
+    flags = [
+        '-Wall',
+        # '-Wextra',
+        # '-Wshadow',
+        # '-Werror',
+        # '-Wc++98-compat',
+        # '-Wno-long-long',
+        # '-Wno-variadic-macros',
+        # '-fexceptions',
+        # '-DNDEBUG',
+        '-std=c++14',
+        '-stdlib=libstdc++',
+        '-x', 'c++',
+        '-isystem', '/usr/include',
+        '-isystem', '/usr/local/include',
+        '-isystem', '/usr/include/qt',
+        '-I', '.',
+        '-I', './include',
+    ]
+    relative_to = cwd
+    final_flags = MakeRelativePathsInFlagsAbsolute(flags, relative_to)
+
+    return {
+        'flags': final_flags,
+        'do_cache': True
+    }
 
 
 def DirectoryOfThisScript():
-  return os.path.dirname( os.path.abspath( __file__ ) )
+    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 )
+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
 
-    for path_flag in path_flags:
-      if flag == path_flag:
-        make_next_absolute = True
-        break
+        if make_next_absolute:
+            make_next_absolute = False
+            if not flag.startswith('/'):
+                new_flag = os.path.join(working_directory, flag)
 
-      if flag.startswith( path_flag ):
-        path = flag[ len( path_flag ): ]
-        new_flag = path_flag + os.path.join( working_directory, path )
-        break
+        for path_flag in path_flags:
+            if flag == path_flag:
+                make_next_absolute = True
+                break
 
-    if new_flag:
-      new_flags.append( new_flag )
-  return new_flags
+            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