Skip to content

Commit

Permalink
Merge pull request #4144 from puremourning/update-clang-16
Browse files Browse the repository at this point in the history
Update to clang 16.0.1
  • Loading branch information
puremourning committed Apr 17, 2023
2 parents b3e8838 + 3a052e6 commit 0d387ad
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 108 deletions.
12 changes: 10 additions & 2 deletions .github/workflows/ci.yml
Expand Up @@ -44,8 +44,12 @@ jobs:
run: python3 -m pip install -r python/test_requirements.txt
- name: Run tests
run: python3 run_tests.py --quiet python/ycm/tests
- name: summarise coverage
run: coverage xml
- name: Upload coverage data
run: codecov --name "${{ runner.os }}-${{ matrix.python-version }}-${{ matrix.python-arch }}"
uses: codecov/codecov-action@v3
with:
name: "${{ runner.os }}-${{ matrix.python-version }}-${{ matrix.python-arch }}"

vim-tests:
strategy:
Expand Down Expand Up @@ -80,5 +84,9 @@ jobs:
- name: Run tests in new vim
if: matrix.vim == 'new'
run: ./test/run_vim_tests
- name: Combine and summarise coverage
run: coverage combine && coverage xml
- name: Upload coverage data
run: codecov --name "vim-tests-${{ matrix.vim }}"
uses: codecov/codecov-action@v3
with:
name: "vim-tests-${{ matrix.vim }}"
101 changes: 2 additions & 99 deletions README.md
Expand Up @@ -44,7 +44,6 @@ Contents
- [macOS](#macos)
- [Linux 64-bit](#linux-64-bit)
- [Windows](#windows)
- [FreeBSD/OpenBSD](#freebsdopenbsd)
- [Full Installation Guide](#full-installation-guide)
- [Quick Feature Summary](#quick-feature-summary)
- [User Guide](#user-guide)
Expand Down Expand Up @@ -642,102 +641,6 @@ YCM comes with sane defaults for its options, but you still may want to take a
look at what's available for configuration. There are a few interesting options
that are conservatively turned off by default that you may want to turn on.

### FreeBSD/OpenBSD

#### Quick start, installing all completers

- Install YCM plugin via [Vundle][]
- Install CMake

```
pkg install cmake
```

- Install xbuild, go, node and npm
- Compile YCM

```
cd ~/.vim/bundle/YouCompleteMe
python3 install.py --all
```

- For plugging an arbitrary LSP server, check [the relevant section](#plugging-an-arbitrary-lsp-server)

#### Explanation for the quick start

These instructions (using `install.py`) are the quickest way to install
YouCompleteMe, however they may not work for everyone. If the following
instructions don't work for you, check out the [full installation
guide](#full-installation-guide).

**NOTE:** OpenBSD / FreeBSD are not officially supported platforms by YCM.

Make sure you have a supported Vim version with Python 3 support, and a supported
compiler and CMake, perhaps:

```
pkg install cmake
```

Install YouCompleteMe with [Vundle][].

**Remember:** YCM is a plugin with a compiled component. If you **update** YCM
using Vundle and the `ycm_core` library APIs have changed (happens
rarely), YCM will notify you to recompile it. You should then rerun the install
process.

Compiling YCM **with** semantic support for C-family languages through
**clangd**:

```
cd ~/.vim/bundle/YouCompleteMe
./install.py --clangd-completer
```

Compiling YCM **without** semantic support for C-family languages:

```
cd ~/.vim/bundle/YouCompleteMe
./install.py
```

If the `python` executable is not present, or the default `python` is not the
one that should be compiled against, specify the python interpreter explicitly:

```
python3 install.py --clangd-completer
```

The following additional language support options are available:

- C# support: install Mono and add `--cs-completer` when calling
`./install.py`.
- Go support: install [Go][go-install] and add `--go-completer` when calling
`./install.py`.
- JavaScript and TypeScript support: install [Node.js and npm][npm-install] and
add `--ts-completer` when calling `install.py`.
- Rust support: add `--rust-completer` when calling `./install.py`.
- Java support: install [JDK 17][jdk-install] and add
`--java-completer` when calling `./install.py`.

To simply compile with everything enabled, there's a `--all` flag. So, to
install with all language features, ensure `xbuild`, `go`, `node` and `npm`
tools are installed and in your `PATH`, then simply run:

```
cd ~/.vim/bundle/YouCompleteMe
./install.py --all
```

That's it. You're done. Refer to the _User Guide_ section on how to use YCM.
Don't forget that if you want the C-family semantic completion engine to work,
you will need to provide the compilation flags for your project to YCM. It's all
in the User Guide.

YCM comes with sane defaults for its options, but you still may want to take a
look at what's available for configuration. There are a few interesting options
that are conservatively turned off by default that you may want to turn on.

### Full Installation Guide

The [full installation guide][wiki-full-install] has been moved to the wiki.
Expand Down Expand Up @@ -1181,7 +1084,7 @@ On supported architectures, the `install.py` script will download a suitable
clangd (`--clangd-completer`) or libclang (`--clang-completer`) for you.
Supported architectures are:

* Linux glibc >= 2.27 (Intel, armv7-a, aarch64) - built on ubuntu 18.04
* Linux glibc >= 2.31 (Intel, armv7-a, aarch64) - built on ubuntu 20.04
* MacOS >=10.15 (Intel, arm64)
- For Intel, compatibility per clang.llvm.org downloads
- For arm64, macOS 10.15+
Expand All @@ -1207,7 +1110,7 @@ $ EXTRA_CMAKE_ARGS='-DPATH_TO_LLVM_ROOT=/path/to/your/llvm' ./install.py --clang
```

Please note that if using custom `clangd` or `libclang` it _must_ match the
version that YCM requires. Currently YCM requires ***clang 15.0.1***.
version that YCM requires. Currently YCM requires ***clang 16.0.1***.

#### Compile flags

Expand Down
1 change: 0 additions & 1 deletion python/test_requirements.txt
Expand Up @@ -2,7 +2,6 @@ flake8 >= 3.0.0
flake8-comprehensions >= 1.4.1
flake8-ycm >= 0.1.0
PyHamcrest >= 1.10.1
codecov >= 2.0.5
coverage <5.0
click <8.0.0
covimerage >= 0.2.0
5 changes: 4 additions & 1 deletion run_tests.py
Expand Up @@ -86,7 +86,10 @@ def UnittestTests( parsed_args, extra_unittest_args ):
unittest_args.append( test_directory )

if parsed_args.coverage:
executable = [ sys.executable, '-We', '-m', 'coverage', 'run' ]
executable = [ sys.executable,
'-m',
'coverage',
'run' ]
else:
executable = [ sys.executable, '-We' ]

Expand Down
8 changes: 4 additions & 4 deletions test/completion.common.vim
Expand Up @@ -339,16 +339,16 @@ function! Test_Completion_FixIt()
function! Check1( id )
call WaitForCompletion()
call CheckCurrentLine( 'do_a' )
call CheckCompletionItemsContainsExactly( [ 'do_a_thing(Thing thing)',
\ 'do_another_thing()' ] )
call CheckCompletionItemsHasItems( [ 'do_a_thing(Thing thing)',
\ 'do_another_thing()' ] )
call FeedAndCheckAgain( "\<Tab>" , funcref( 'Check2' ) )
endfunction

function! Check2( id )
call WaitForCompletion()
call CheckCurrentLine( 'do_a_thing' )
call CheckCompletionItemsContainsExactly( [ 'do_a_thing(Thing thing)',
\ 'do_another_thing()' ] )
call CheckCompletionItemsHasItems( [ 'do_a_thing(Thing thing)',
\ 'do_another_thing()' ] )
call FeedAndCheckAgain( '(' , funcref( 'Check3' ) )
endfunction

Expand Down
2 changes: 1 addition & 1 deletion third_party/ycmd
Submodule ycmd updated 205 files

0 comments on commit 0d387ad

Please sign in to comment.