LINUX.ORG.RU

Сломалось автодополнение для C++

 ,


1

2

Добрый день. Обновил плагины (:UpdatePlugins), vim попросли перекомпилировать youcompleteme, перекомпилировал. Теперь автодополнение работает криво (не высвечивает аргументы функций, не подчеркивает ошибки). При попытке насильно инициировать проверку (:YcmForceCompileAndDiagnostics) выдаёт такое ругательство:

Native filetype completion not supported for current file, cannot force recompilation.
libclang из репозитория (3.5), .ycm_extra_conf.py:
flags=[
         '-Wall',                                                          
         '-Wextra',
         '-Werror',
         '-Wno-long-long',
         '-Wno-variadic-macros',
         '-fexceptions',
         '-DNDEBUG',
         '-std=c++14',
         '-x',
         'c++',
         '-I',
         '/usr/include/c++/4.9',
         '-I',
         '/usr/include'
      ]
// остальное не трогал
Кто-нибудь сталкивался?

★★

Установленные плагины:

Plugin 'gmarik/Vundle.vim' Plugin 'Valloric/YouCompleteMe' Plugin 'scrooloose/nerdtree'

Установил nerdtree, а потом сделал :UpdatePlugins.

pavlick ★★
() автор топика

Я накосячил, когда задавал путь к libclang, забыл добавить -D перед EXTERNAL_LIBCLANG_PATH, ycm собирался без поддержки Си.

pavlick ★★
() автор топика

Вопрос по vim

Можно ли сделать такую штуку?
* Для нечётного нажатия F12 срабатывало :map <F12> :NERDTree<CR>
* Для чётного :map <F12> :NERDTreeClose<CR>
Подозреваю, что необходимо иметь флаг в .vimrc, это возможно?

pavlick ★★
() автор топика
Ответ на: комментарий от pavlick

Чем не устраивает «родная» сборка плагина:

./install.sh --clang-completer --system-libclang

andreyu ★★★★★
()

Ребят, тупой вопрос: как рсшифровать индикатор положения курсора, когда он обретает вид «x1, x2 - x3»? x1 - строка, x3 - столбец, что такое x2 ? Однозначно связан со столбцом, но как-то странно, прирастает двойками и не ясно с какого момента начинает расходиться с x3.

pavlick ★★
() автор топика
Ответ на: комментарий от pavlick

Индикатор курсора где? В 'statusline'? М.б. это побайтовое смещение. Расходиться должен начать на не ASCII символах.

salsa
()
Ответ на: комментарий от salsa

Спасибо за подсказку. Так и есть, мой код юникодный, на кириллице начинаются расхождения. х2 показывает смещение символа в байтах от начала строки + 1.

pavlick ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.