Skip to content

💾 viminfo - utility that gathers information 📜 about your VIM 💚

License

Notifications You must be signed in to change notification settings

htmlgod/course_work_osquery_vim

Repository files navigation

vim-info-screenshot

💾 vim-info

vim-info - утилита, позволяющая узнать информацию о конфигурации вашего VIM/NVIM редактора.

Build Status

Содержание

Описание курсового проекта

Разработать программу/утилиту, предоставляющую информацию о конфигурации текстового редактора VIM. Типы собираемой информации предусмотрены списком задач.

Реализовать возможность установки данной утилиты. Проект должен иметь процесс сборки, процесс установки и организованную структуру. После разработки программы интегрировать с osquery в виде osquery-расширения (osquery-extension).

Список задач

  1. Получить список плагинов
  2. Получить список настроек для плагинов
  3. Получить список настроек
  4. Получить список отображений для режимов
  5. Получить время запуска
  6. Получить список звезд для плагина на сервисе GitHub
  7. Классифицировать плагин с помощью vim-awesome
  8. Получить соотношение открытых issues к закрытым для плагина
  9. Посчитать соотношение для группы плагинов количество звезд к количеству плагинов в группе

Зависимости

#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 # Установка расширения

vim-info-build

Интеграция с osquery

Запуск расширения

$ 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;

settinglist Доступные таблицы:

  1. Таблица плагинов

plugtable

  1. Таблица времени запуска VIM

timetable

  1. Таблица общих данных (включая необходимые для работы программы)

datatable

Примеры команд

Опции запуска

$ 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
  1. Получить список плагинов

pluginlist

  1. Получить список настроек для плагинов
  2. Получить список настроек

settinglist

  1. Получить список отображений для режимов
  2. Получить время запуска

runtime

  1. Получить список звезд для плагина на сервисе GitHub

pluginstars

  1. Классифицировать плагин с помощью vim-awesome

pluginclass

  1. Получить соотношение открытых issues к закрытым для плагина

pluginissues

  1. Посчитать соотношение для группы плагинов количество звезд к количеству плагинов в группе

pluginsgroup

Архитектура проекта

Structure.md

Полезные ссылки

TODO-лист

  1. Получить список плагинов
  2. Получить список настроек для плагинов
  3. Получить список настроек
  4. Получить список отображений для режимов
  5. Получить время запуска
  6. Получить список звезд для плагина на сервисе GitHub
  7. Классифицировать плагин с помощью vim-awesome
  8. Получить соотношение открытых issues к закрытым для плагина
  9. Посчитать соотношение для группы плагинов количество звезд к количеству плагинов в группе
  10. Интеграция с osquery
  11. Описать структуру всего проекта
  12. Собрать необходимую информацию
  13. Написать shell-скрипты

About

💾 viminfo - utility that gathers information 📜 about your VIM 💚

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published