aboutsummaryrefslogtreecommitdiff
path: root/contrib/YouCompleteMe
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2023-01-25 18:31:31 +0000
committerJosh Rahm <joshuarahm@gmail.com>2023-01-25 18:31:31 +0000
commit9243becbedbb6a1592208051f8fa2b090dcc5e7d (patch)
tree607c2a862ec3f4399b8766383f6f8e04c4aa43b4 /contrib/YouCompleteMe
parent9e40b6e9e1bc67f2d856adb837ee64dd0e25b717 (diff)
parent3c48d3c83fc21dbc0841f9210f04bdb073d73cd1 (diff)
downloadrneovim-usermarks.tar.gz
rneovim-usermarks.tar.bz2
rneovim-usermarks.zip
Merge remote-tracking branch 'upstream/master' into usermarksusermarks
Diffstat (limited to 'contrib/YouCompleteMe')
-rw-r--r--contrib/YouCompleteMe/README.md31
-rw-r--r--contrib/YouCompleteMe/ycm_extra_conf.py65
2 files changed, 0 insertions, 96 deletions
diff --git a/contrib/YouCompleteMe/README.md b/contrib/YouCompleteMe/README.md
deleted file mode 100644
index 345a9d8d12..0000000000
--- a/contrib/YouCompleteMe/README.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# YouCompleteMe Integration
-
-## What is this?
-
-This provides the code necessary to configure vim's YCM plugin to provide C
-semantic support (completion, go-to-definition, etc) for developers working on
-the Neovim project.
-
-## Installation
-
-### Step 1
-
-Install [YouCompleteMe](https://github.com/Valloric/YouCompleteMe).
-
-### Step 2
-
-```bash
-cp contrib/YouCompleteMe/ycm_extra_conf.py .ycm_extra_conf.py
-echo .ycm_extra_conf.py >> .git/info/exclude
-make
-```
-
-Tip: to improve source code navigation, add something like this to your nvim
-configuration:
-
-```vim
-au FileType c,cpp nnoremap <buffer> <c-]> :YcmCompleter GoTo<CR>
-```
-
-And use `ctrl+]` when the cursor is positioned in a symbol to quickly jump to a
-definition or declaration.
diff --git a/contrib/YouCompleteMe/ycm_extra_conf.py b/contrib/YouCompleteMe/ycm_extra_conf.py
deleted file mode 100644
index e436609ce2..0000000000
--- a/contrib/YouCompleteMe/ycm_extra_conf.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# .ycm_extra_conf.py for nvim source code.
-import os
-import ycm_core
-
-
-def DirectoryOfThisScript():
- return os.path.dirname(os.path.abspath(__file__))
-
-
-def GetDatabase():
- compilation_database_folder = os.path.join(DirectoryOfThisScript(),
- 'build')
- if os.path.exists(compilation_database_folder):
- return ycm_core.CompilationDatabase(compilation_database_folder)
- return None
-
-
-def GetCompilationInfoForFile(filename):
- database = GetDatabase()
- if not database:
- return None
- return database.GetCompilationInfoForFile(filename)
-
-
-# It seems YCM does not resolve directories correctly. This function will
-# adjust paths in the compiler flags to be absolute
-def FixDirectories(args, compiler_working_dir):
- def adjust_path(path):
- return os.path.abspath(os.path.join(compiler_working_dir, path))
-
- adjust_next_arg = False
- new_args = []
- for arg in args:
- if adjust_next_arg:
- arg = adjust_path(arg)
- adjust_next_arg = False
- else:
- for dir_flag in ['-I', '-isystem', '-o', '-c']:
- if arg.startswith(dir_flag):
- if arg != dir_flag:
- # flag and path are concatenated in same arg
- path = arg[len(dir_flag):]
- new_path = adjust_path(path)
- arg = '{0}{1}'.format(dir_flag, new_path)
- else:
- # path is specified in next argument
- adjust_next_arg = True
- new_args.append(arg)
- return new_args
-
-
-def FlagsForFile(filename):
- compilation_info = GetCompilationInfoForFile(filename)
- if not compilation_info:
- return None
- # Add flags not needed for clang-the-binary,
- # but needed for libclang-the-library (YCM uses this last one).
- flags = FixDirectories((list(compilation_info.compiler_flags_)
- if compilation_info.compiler_flags_
- else []), compilation_info.compiler_working_dir_)
- extra_flags = ['-Wno-newline-eof']
- return {
- 'flags': flags + extra_flags,
- 'do_cache': True
- }