1*f5c631daSSadaf Ebrahimi# Vim YouCompleteMe completion configuration. 2*f5c631daSSadaf Ebrahimi# 3*f5c631daSSadaf Ebrahimi# See doc/topics/ycm.md for details. 4*f5c631daSSadaf Ebrahimi 5*f5c631daSSadaf Ebrahimiimport os 6*f5c631daSSadaf Ebrahimiimport platform 7*f5c631daSSadaf Ebrahimi 8*f5c631daSSadaf Ebrahimirepo_root = os.path.dirname(os.path.abspath(__file__)) 9*f5c631daSSadaf Ebrahimi 10*f5c631daSSadaf Ebrahimi# Paths in the compilation flags must be absolute to allow ycm to find them from 11*f5c631daSSadaf Ebrahimi# any working directory. 12*f5c631daSSadaf Ebrahimidef AbsolutePath(path): 13*f5c631daSSadaf Ebrahimi return os.path.join(repo_root, path) 14*f5c631daSSadaf Ebrahimi 15*f5c631daSSadaf Ebrahimiflags = [ 16*f5c631daSSadaf Ebrahimi '-I', AbsolutePath('src'), 17*f5c631daSSadaf Ebrahimi '-I', AbsolutePath('test'), 18*f5c631daSSadaf Ebrahimi '-DVIXL_DEBUG' 19*f5c631daSSadaf Ebrahimi '-Wall', 20*f5c631daSSadaf Ebrahimi '-Werror', 21*f5c631daSSadaf Ebrahimi '-Wextra', 22*f5c631daSSadaf Ebrahimi '-pedantic', 23*f5c631daSSadaf Ebrahimi '-Wno-newline-eof', 24*f5c631daSSadaf Ebrahimi '-Wwrite-strings', 25*f5c631daSSadaf Ebrahimi '-std=c++11', 26*f5c631daSSadaf Ebrahimi '-x', 'c++' 27*f5c631daSSadaf Ebrahimi] 28*f5c631daSSadaf Ebrahimi 29*f5c631daSSadaf Ebrahimiif platform.machine() != 'aarch64': 30*f5c631daSSadaf Ebrahimi flags.append('-DVIXL_INCLUDE_SIMULATOR_AARCH64') 31*f5c631daSSadaf Ebrahimi 32*f5c631daSSadaf Ebrahimi 33*f5c631daSSadaf Ebrahimidef FlagsForFile(filename, **kwargs): 34*f5c631daSSadaf Ebrahimi return { 35*f5c631daSSadaf Ebrahimi 'flags': flags, 36*f5c631daSSadaf Ebrahimi 'do_cache': True 37*f5c631daSSadaf Ebrahimi } 38*f5c631daSSadaf Ebrahimi 39