vim-info
- утилита, позволяющая узнать информацию о конфигурации вашего
VIM/NVIM
редактора.
- Описание курсового проекта
- Зависимости
- Процесс сборки
- Интеграция с osquery
- Примеры команд
- Архитектура проекта
- Полезные ссылки
- TODO-лист
Разработать программу/утилиту, предоставляющую информацию о конфигурации текстового редактора VIM
.
Типы собираемой информации предусмотрены списком задач.
Реализовать возможность установки данной утилиты.
Проект должен иметь процесс сборки, процесс установки и организованную структуру.
После разработки программы интегрировать с osquery
в виде osquery-расширения (osquery-extension
).
- Получить список плагинов
- Получить список настроек для плагинов
- Получить список настроек
- Получить список отображений для режимов
- Получить время запуска
- Получить список звезд для плагина на сервисе
GitHub
- Классифицировать плагин с помощью
vim-awesome
- Получить соотношение открытых
issues
к закрытым для плагина - Посчитать соотношение для группы плагинов количество звезд к количеству плагинов в группе
#requirements
$ python3/python
$ pip3/pip
$ pip3/pip install osquery
# Export your Github username and password/token
$ export GITHUB_USERNAME=<username>
$ export GITHUB_PASSWORD=***************
$ git clone https://github.com/htmlgod/course_work_osquery_vim
$ cd course_work_osquery_vim
$ git submodule update --init
$ cmake -H. -B_build
$ cmake --build _build
$ ./start.sh # Установка расширения
Запуск расширения
$ viminfo --json_export # Парсим данные и сохраняем в json формате
# В другом окне/терминале
$ osqueryi --nodisable_extensions
# В изначальном терминале/окне
$ viminfo --start_extension # Запускаем расширение
Using a virtual database. Need help, type '.help'
osquery> select * from vimplugins;
osquery> select * from viminfodata;
osquery> select * from vimruntime;
- Таблица плагинов
- Таблица времени запуска VIM
- Таблица общих данных (включая необходимые для работы программы)
$ viminfo --help
vim-info options:
-h [ --help ] Help screen
-e [ --start_extension ] Start osquery extension without GUI
-j [ --json_export ] Parse and export information into json files
without GUI
-v [ --version ] print version
-c [ --clear ] Clear all data
- Получить список плагинов
- Получить список настроек для плагинов
- Получить список настроек
- Получить список отображений для режимов
- Получить время запуска
- Получить список звезд для плагина на сервисе
GitHub
- Классифицировать плагин с помощью
vim-awesome
- Получить соотношение открытых
issues
к закрытым для плагина
- Посчитать соотношение для группы плагинов количество звезд к количеству плагинов в группе
- Gathered information
- GitHub API
- libcurl documentation
- nlohmann/json
- vimdoc
- vim wiki
- Boost docs
- Osquery Docs
- osquery-python
- Получить список плагинов
- Получить список настроек для плагинов
- Получить список настроек
- Получить список отображений для режимов
- Получить время запуска
- Получить список звезд для плагина на сервисе
GitHub
- Классифицировать плагин с помощью
vim-awesome
- Получить соотношение открытых
issues
к закрытым для плагина - Посчитать соотношение для группы плагинов количество звезд к количеству плагинов в группе
- Интеграция с
osquery
- Описать структуру всего проекта
- Собрать необходимую информацию
- Написать shell-скрипты