<commit_before>*clang.txt*        Code completion for C/C++

CONTENTS                                        *clang-contents*
Introduction                                    |clang-introduction|
Config                                          |clang-config|
Variables                                       |clang-variables|
Commands                                        |clang-commands|
FAQ                                             |clang-faq|
Changelog                                       |clang-changelog|
Credits                                         |clang-credits|
==============================================================================
INTRODUCTION                                    *clang-introduction*
This is a plugin to complete C/C++ source code using Clang. 

- Requirements
    - Executable
        Clang   - htt://clang.llvm.org

==============================================================================
CONFIG                                          *clang-config*

Vim-clang uses a file named ".clang" (same as .clang_complete for clang_complete)
in the project root to save Clang options. Relative path is recommended when
configure the include directory, so we can move the project anywhere...
Here is a tree to show the location of file '.clang'
.
├── build/
├── .clang
├── CMakeLists.txt
├── COPYING
├── .git/
├── .gitignore
├── raw-test/
├── README.md
├── src/
├── test/
└── yacl/

The file ".clang" only contains: "-I." to include files in directory "/".
So that the source file should uses #include "yacl/xxx.h" to include files.

Now a new similar file named ".clang.ow" is added to deal with the special
case that one want to overwrite all clang options, which means the one don't
need automatically generated options for clang by the plugin.
See |g:clang_dotfile_overwrite| for more details.

Please note that all options in ".clang" and ".clang.ow" are must be safe
to be used by 'shell', that means special chars should always be escaped
correctly. See |shellescape()| for more details.

==============================================================================
VARIABLES                                       *clang-variables*
g:clang_auto                            *g:clang_auto*
        If equals to 1, automatically complete after ->, ., ::
    Default: >
        let g:clang_auto = 1
<
g:clang_c_options                       *g:clang_c_options*
        Options added at the end of clang command for C sources.
        Note: Please make sure options are safe to be used by 'shell',
              which means you should escape special chars.
              See |shellescape()| for more details.
    Default: >
        let g:clang_c_options = ''
<
g:clang_c_completeopt                   g:clang_c_completeopt*
        Local |completeopt| version for C sources.
    Default: >
        " No preview window for C
        let g:clang_c_completeopt = 'longest,menuone'
<
g:clang_cpp_options                     *g:clang_cpp_options*
        Options added at the end of clang command for C++ sources.
        Note: Please make sure options are safe to be used by |shell|,
              which means you should escape special chars.<commit_msg>Update clang.txt<commit_after>*clang.txt*        Code completion for C/C++

CONTENTS                                        *clang-contents*
Introduction                                    |clang-introduction|
Config                                          |clang-config|
Variables                                       |clang-variables|
Commands                                        |clang-commands|
FAQ                                             |clang-faq|
Changelog                                       |clang-changelog|
Credits                                         |clang-credits|
==============================================================================
INTRODUCTION                                    *clang-introduction*
This is a plugin to complete C/C++ source code using Clang. 

- Requirements
    - Executable
        Clang   - htt://clang.llvm.org

==============================================================================
CONFIG                                          *clang-config*

Vim-clang uses a file named ".clang" (same as .clang_complete for clang_complete)
in the project root to save Clang options. Relative path is recommended when
configure the include directory, so we can move the project anywhere...
Here is a tree to show the location of file '.clang'
.
├── build/
├── .clang
├── CMakeLists.txt
├── COPYING
├── .git/
├── .gitignore
├── raw-test/
├── README.md
├── src/
├── test/
└── yacl/

The file ".clang" only contains: "-I." to include files in directory "/".
So that the source file should uses #include "yacl/xxx.h" to include files.

Now a new similar file named ".clang.ow" is added to deal with the special
case that one want to overwrite all clang options, which means the one don't
need automatically generated options for clang by the plugin.
See |g:clang_dotfile_overwrite| for more details.

Please note that all options in ".clang" and ".clang.ow" must be safe
to be used by 'shell', that means special chars should always be escaped
correctly. See |shellescape()| for more details.

==============================================================================
VARIABLES                                       *clang-variables*
g:clang_auto                            *g:clang_auto*
        If equals to 1, automatically complete after ->, ., ::
    Default: >
        let g:clang_auto = 1
<
g:clang_c_options                       *g:clang_c_options*
        Options added at the end of clang command for C sources.
        Note: Please make sure options are safe to be used by 'shell',
              which means you should escape special chars.
              See |shellescape()| for more details.
    Default: >
        let g:clang_c_options = ''
<
g:clang_c_completeopt                   g:clang_c_completeopt*
        Local |completeopt| version for C sources.
    Default: >
        " No preview window for C
        let g:clang_c_completeopt = 'longest,menuone'
<
g:clang_cpp_options                     *g:clang_cpp_options*
        Options added at the end of clang command for C++ sources.
        Note: Please make sure options are safe to be used by |shell|,
              which means you should escape special chars.
{'fraction_non_alphanumeric': 0.14410890314504773, 'fraction_numerical': 0.0006258801439524331, 'mean_word_length': 1.9647495361781075, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 30, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1490899', 'n_tokens_mistral': 1613, 'n_tokens_neox': 1564, 'n_words': 617}