1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/vincentqiu-neovim

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING.md 6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 05:26 60fe694

ASan и другие анализаторы

  • Для запуска valgrind локально: VALGRIND=1 make test.

  • Для запуска Clang ASan/UBSan локально: CC=clang make CMAKE_FLAGS="-DCLANG_ASAN_UBSAN=ON".

  • Сборка lint проверяет изменённые строки и их непосредственных соседей, чтобы стимулировать постепенное обновление устаревшего стиля в соответствии с нашим стилем (см. [#3174][3174] для получения дополнительной информации).

  • CI для freebsd и openbsd работает на [sourcehut].

    • Чтобы получить обратную трассировку на freebsd (после подключения через ssh):
      sudo pkg install tmux  # Если вам нужен tmux.
      lldb build/bin/nvim -c nvim.core
      
      # Чтобы получить полную обратную трассировку:
      # 1. Пересоберите с отладочной информацией.
      rm -rf nvim.core build
      gmake CMAKE_BUILD_TYPE=RelWithDebInfo CMAKE_EXTRA_FLAGS="-DCI_BUILD=ON -DMIN_LOG_LEVEL=3" nvim
      # 2. Запустите неудачный тест, чтобы создать новый основной файл.
      TEST_FILE=test/functional/foo.lua gmake functionaltest
      lldb build/bin/nvim -c nvim.core

Clang scan-build

Просмотрите отчёт Clang, чтобы увидеть потенциальные ошибки, обнаруженные анализатором Clang scan-build.

  • Найдите примеры в истории коммитов Neovim:
    git log --oneline --no-merges --grep clang
  • Чтобы проверить исправление локально, запустите scan-build следующим образом:
    rm -rf build/
    scan-build --use-analyzer=/usr/bin/clang make

PVS-Studio

Просмотрите отчёт PVS, чтобы увидеть потенциальные ошибки, найденные PVS Studio.

  • Используйте этот формат для сообщений о фиксации (где {id} — это идентификатор предупреждения PVS):
    PVS/V{id}: {description}
  • Найдите примеры в истории коммитов Neovim:
    git log --oneline --no-merges --grep PVS
  • Попробуйте ./scripts/pvscheck.sh, чтобы запустить PVS локально.

Coverity

Coverity работает с основной сборкой. Чтобы просмотреть дефекты, просто запросите доступ; вы будете одобрены.

  • Используйте следующий формат для сообщений о фиксации (где {id} — CID (идентификатор Coverity); (пример)):
    coverity/{id}: {description}
  • Найдите примеры в истории коммитов Neovim:
    git log --oneline --no-merges --grep coverity

Кодирование

Lint

Вы можете запустить линтер локально с помощью:

make lint

На этапе lint загружается [основной список ошибок], и они исключаются, поэтому сообщаются только ошибки lint, связанные с локальными изменениями.

Можно линтировать один файл (но это не исключает устаревших ошибок):

./src/clint.py src/nvim/ops.c

Стиль

В репозитории есть файл конфигурации .clang-format, который (в основном) соответствует [руководству по стилю]. Вы можете использовать clang-format для форматирования кода с помощью оператора gq в Nvim:

if !empty(findfile('.clang-format', ';'))
  setlocal formatprg=clang-format\ -style=file
endif

Навигация

  • Используйте universal-ctags. ("Exuberant ctags", типичный двоичный файл ctags, предоставляемый вашим дистрибутивом, не поддерживается и не распознает многие сигнатуры функций в исходном коде Neovim.)
  • Изучите исходный код в Интернете.

Проверка

Чтобы помочь в проверке запросов на вытягивание, начните с [этого контрольного списка][review-checklist].

Проверку можно выполнить на GitHub, но вы можете обнаружить, что её проще выполнять локально. Используя [hub][hub], вы можете создать новую ветку с содержимым запроса на вытягивание, например, [#1820][1820]:

hub checkout https://github.com/neovim/neovim/pull/1820

Используйте [git log -p master..FETCH_HEAD][git-history-filtering], чтобы перечислить все коммиты в функциональной ветке, которых нет в ветке master; -p показывает разницу каждого коммита. Чтобы показать всю окружающую функцию изменения в качестве контекста, используйте аргумент -W также.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/vincentqiu-neovim.git
git@api.gitlife.ru:oschina-mirror/vincentqiu-neovim.git
oschina-mirror
vincentqiu-neovim
vincentqiu-neovim
master