Skip to content

Latest commit

 

History

History
499 lines (410 loc) · 11.1 KB

File metadata and controls

499 lines (410 loc) · 11.1 KB

Vim stats plugin

Vim utility to get stats

EN RU Stars Forks GitHub repo size

Plugin file structure

  • The plugin installs into the relevant directory of the .vim/ folder and creates the following file structure:
vimstat/
├── data
│  ├── git_day_commit.txt
│  └── git_hash.txt
├── plugin
│  └── vimstat.vim
├── pom.xml
├── README.md
├── src
│  ├── main
│  │  └── java
│  │     └── com
│  │        └── vimstat
│  │           ├── Colors.java
│  │           ├── GitStats.java
│  │           ├── Main.java
│  │           ├── Stats.java
│  │           └── TimeStats.java
│  └── test
│     └── java
│        └── com
│           └── vimstat
│              ├── ColorsTest.java
│              ├── GitStatsTest.java
│              └── TimeStatsTest.java
└── target
   ├── classes
   │  └── com
   │     └── vimstat
   │        ├── Colors.class
   │        ├── GitStats.class
   │        ├── Main.class
   │        ├── Stats.class
   │        └── TimeStats.class
   ├── test-classes
   │  └── com
   │     └── vimstat
   │        ├── ColorsTest.class
   │        ├── GitStatsTest.class
   │        └── TimeStatsTest.class
   └── vimstat-0.8.35.jar

Manual installation

  • Build plugin by Maven
mvn package
  • Copy the plugin to the .vim/ folder:
cp -r vimstat/ ~/.vim/pack/my-plugins/start/
  • Reload Vim or run the command:
:source ~/.vim/pack/my-plugins/start/vimstat/plugin/vimstat.vim

Plugin uninstallation

  • To uninstall the plugin, delete its folder:
rm -r ~/.vim/pack/my-plugins/start/vimstat/

Testing

  • Running all unit tests
mvn test

Using

  • Use Vim to edit the file:
$ vim example.md
  • After closing Vim, you will see:
    =======================================
                    Vim stats:
    ---------------------------------------
    - today:             0 h 23 min 31 sec
    - average:           0 h 37 min 10 sec
    - today:    1 commits   100++    105--
    - average:  0 commits    23++     10--
    =======================================

Requirements

  • Java installed
  • Vim installed
  • Maven installed

Compatibility

  • Vim 7.0 and above
  • Java 8 and above
  • Maven 3 and above

Class hierarchy

classDiagram

  class Stats {
    - pathToCounter: String 
    - ERROR: String 
    - LOGGER: Logger
    + Stats(pathToCounter: String)
    + write(count: Long )
    + readCount() long 
    + getFileDate(pathToFile: String) LocalDate
    + isFileExists(pathToFile: String) boolean 
    + createFiles()
  }

  class GitStats {
    - pathToHash: String 
    + GitStats(pathToHash: String, pathToCounter: String)
    + getLastCommitHash() String 
    + write(hash: String) 
    + readHash() String
    + getLastCommitLines(command: String) long
    + createFiles()
  }

  class TimeStats {
    + TimeStats(pathToCounter: String)
    + getSessionTime(): long 
    + deleteFile() 
  }

  Stats <|-- GitStats
  Stats <|-- TimeStats
Loading

Class call hierarchy

classDiagram
  
  class vimstat.vim {
  }

  class Main {
  }

  class enum Colors {
  }

  class GitStats {
  }

  class git_hash.txt {
  }

  class git_day_commit.txt {
  }

  class git_day_added_lines.txt {
  }

  class git_day_deleted_lines.txt {
  }

  class git_average_commit.txt {
  }

  class git_average_added_lines.txt {
  }

  class git_average_deleted_lines.txt {
  }

  class TimeStats {
  }

  class time_session.txt {
  }

  class time_day.txt {
  }

  class time_month.txt {
  }

  class time_yesterday.txt {
  }

  vimstat.vim --|> Main : calls
  Main --|> GitStats : calls
  Main --|> TimeStats : calls
  enum Colors -- Main : use
  enum Colors -- GitStats : use
  enum Colors -- TimeStats : use
  GitStats --|> git_hash.txt : writes / reads
  GitStats --|> git_day_commit.txt : writes / reads
  GitStats --|> git_day_added_lines.txt : writes / reads
  GitStats --|> git_day_deleted_lines.txt : writes / reads
  GitStats --|> git_average_commit.txt : writes / reads
  GitStats --|> git_average_added_lines.txt : writes / reads
  GitStats --|> git_average_deleted_lines.txt : writes / reads
  TimeStats --|> time_session.txt : writes / reads
  TimeStats --|> time_day.txt : writes / reads
  TimeStats --|> time_month.txt : writes / reads
  TimeStats --|> time_yesterday.txt : writes / reads
Loading

Vim stats plugin

Vim-утилита для получения статистики

EN RU Stars Forks GitHub repo size

Структура файлов плагина

  • Плагин устанавливается в соответствующую директорию папки .vim/ и создает следующую структуру файлов:
vimstat/
├── data
│  ├── git_day_commit.txt
│  └── git_hash.txt
├── plugin
│  └── vimstat.vim
├── pom.xml
├── README.md
├── src
│  ├── main
│  │  └── java
│  │     └── com
│  │        └── vimstat
│  │           ├── Colors.java
│  │           ├── GitStats.java
│  │           ├── Main.java
│  │           ├── Stats.java
│  │           └── TimeStats.java
│  └── test
│     └── java
│        └── com
│           └── vimstat
│              ├── ColorsTest.java
│              ├── GitStatsTest.java
│              └── TimeStatsTest.java
└── target
   ├── classes
   │  └── com
   │     └── vimstat
   │        ├── Colors.class
   │        ├── GitStats.class
   │        ├── Main.class
   │        ├── Stats.class
   │        └── TimeStats.class
   ├── test-classes
   │  └── com
   │     └── vimstat
   │        ├── ColorsTest.class
   │        ├── GitStatsTest.class
   │        └── TimeStatsTest.class
   └── vimstat-0.8.35.jar

Ручная установка

  • Соберите плагин с помощью maven:
mvn package
  • Скопируйте плагин в папку .vim/:
cp -r vimstat/ ~/.vim/pack/my-plugins/start/
  • Перезагрузите Vim или выполните команду:
:source ~/.vim/pack/my-plugins/start/vimstat/plugin/vimstat.vim

Удаление плагина

  • Чтобы удалить плагин, удалите его папку:
rm -r ~/.vim/pack/my-plugins/start/vimstat/

Тестирование

  • Запуск всех тестов
mvn test

Использование

  • Воспользуйтесь Vim для редактирования файла:
$ vim example.md
  • После закрытия Vim, вы увидите:
    =======================================
                    Vim stats:
    ---------------------------------------
    - today:             0 h 23 min 31 sec
    - average:           0 h 37 min 10 sec
    - today:    1 commits   100++    105--
    - average:  0 commits    23++     10--
    =======================================

Требования

  • Установленная Java
  • Установленный Vim
  • Установленный Maven

Совместимость

  • Vim 7.0 и выше
  • Java 8 и выше
  • Maven 3 и выше

Иерархия классов

classDiagram

  class Stats {
    - pathToCounter: String 
    - ERROR: String 
    - LOGGER: Logger
    + Stats(pathToCounter: String)
    + write(count: Long )
    + readCount() long 
    + getFileDate(pathToFile: String) LocalDate
    + isFileExists(pathToFile: String) boolean 
    + createFiles()
  }

  class GitStats {
    - pathToHash: String 
    + GitStats(pathToHash: String, pathToCounter: String)
    + getLastCommitHash() String 
    + write(hash: String) 
    + readHash() String
    + getLastCommitLines(command: String) long
    + createFiles()
  }

  class TimeStats {
    + TimeStats(pathToCounter: String)
    + getSessionTime(): long 
    + deleteFile() 
  }

  Stats <|-- GitStats
  Stats <|-- TimeStats
Loading

Иерархия вызовов классов

classDiagram
  
  class vimstat.vim {
  }

  class Main {
  }

  class enum Colors {
  }

  class GitStats {
  }

  class git_hash.txt {
  }

  class git_day_commit.txt {
  }

  class git_day_added_lines.txt {
  }

  class git_day_deleted_lines.txt {
  }

  class git_average_commit.txt {
  }

  class git_average_added_lines.txt {
  }

  class git_average_deleted_lines.txt {
  }

  class TimeStats {
  }

  class time_session.txt {
  }

  class time_day.txt {
  }

  class time_month.txt {
  }

  class time_yesterday.txt {
  }

  vimstat.vim --|> Main : calls
  Main --|> GitStats : calls
  Main --|> TimeStats : calls
  enum Colors -- Main : use
  enum Colors -- GitStats : use
  enum Colors -- TimeStats : use
  GitStats --|> git_hash.txt : writes / reads
  GitStats --|> git_day_commit.txt : writes / reads
  GitStats --|> git_day_added_lines.txt : writes / reads
  GitStats --|> git_day_deleted_lines.txt : writes / reads
  GitStats --|> git_average_commit.txt : writes / reads
  GitStats --|> git_average_added_lines.txt : writes / reads
  GitStats --|> git_average_deleted_lines.txt : writes / reads
  TimeStats --|> time_session.txt : writes / reads
  TimeStats --|> time_day.txt : writes / reads
  TimeStats --|> time_month.txt : writes / reads
  TimeStats --|> time_yesterday.txt : writes / reads
Loading