fix: cleanup contrib/ #20304

- YouCompleteMe is unnecessary since Nvim LSP works well.
- vim-addon-local-vimrc is not needed since we added `.editorconfig`.
- Inline flake8 arguments. Eventually we will remove all python code,
  don't need a top-level `.flake8` file meanwhile.
This commit is contained in:
Justin M. Keyes 2022-09-23 12:02:16 -04:00 committed by GitHub
parent 3fe43917cb
commit ede66a0b85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 1 additions and 127 deletions

View File

@ -1,2 +0,0 @@
[flake8]
max-line-length = 88

View File

@ -639,6 +639,7 @@ include(InstallHelpers)
add_glob_targets(
TARGET lintpy
COMMAND ${FLAKE8_PRG}
FLAGS --max-line-length 88
GLOB_DIRS contrib scripts src test
GLOB_PAT *.py
TOUCH_STRATEGY SINGLE

View File

@ -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.

View File

@ -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
}

View File

@ -1,18 +0,0 @@
# vim-addon-local-vimrc
## Installation
### Step 1
Install [vim-addon-local-vimrc](https://github.com/MarcWeber/vim-addon-local-vimrc).
For example with [Vundle](https://github.com/MarcWeber/vim-addon-local-vimrc):
```vim
Bundle 'MarcWeber/vim-addon-local-vimrc'
```
### Step 2
```bash
cp vimrc ../../.vimrc
echo .vimrc >> ../../.git/info/exclude
```

View File

@ -1,11 +0,0 @@
set modelines=0
augroup LOCAL_SETUP
autocmd!
autocmd BufRead,BufNewFile *.h set filetype=c
autocmd FileType c setlocal expandtab
autocmd FileType c setlocal shiftwidth=2
autocmd FileType c setlocal softtabstop=2
autocmd FileType c setlocal textwidth=80
autocmd FileType c setlocal comments=:///,://
augroup end