/vim-hanami

Hanami framework vim support

Primary LanguageVim script

vim-hanami

Hanami support plugin for vim that gives you faster navigation between semantically associated files, like Action <-> View, Entity -> Repository or Spec -> Entity.

Installation

Add this to your .vimrc or nvim/init.vim:

Plug 'sovetnik/vim-hanami'

Usage

The plugin registers <Leader>s(SpecToggle) and <Leader>x(RepoToggle) in normal mode for toggle files.

Some public commands: :HanamiAlterToggle toggles between entity and repo. :HanamiSpecToggle toggles between lib and spec. :HanamiProject returnes project name from .hanamirc :HanamiTemplate returnes template engine from .hanamirc

Toggles

Assume we have generated a hanami entity or action.

Suppose you run hanami g model fnord and get files:

  • lib/bookshelf/entities/fnord.rb
  • lib/bookshelf/repositories/fnord_repository.rb
  • spec/bookshelf/entities/fnord_spec.rb
  • spec/bookshelf/repositories/fnord_repository_spec.rb

Or we run hanami generate action web foobar#show and get:

  • spec/web/controllers/foobar/show_spec.rb
  • apps/web/controllers/foobar/show.rb
  • apps/web/views/foobar/show.rb
  • apps/web/templates/foobar/show.html.erb
  • spec/web/views/foobar/show_spec.rb

Toggle command simply splits window with alter or spec file.

AlterToggle

This command mapped to <Leader>x From buffer with Action, View or its specs toggles between them, Action <-> View.

From buffer with Entity, Repository or its specs toggles between them, Entity <-> Repo.

SpecToggle

This command mapped to <Leader>s From Action, Entity, Repository and View toggles between them and their specs.

Settings

In your ~/.vimrc or ~/.config/nvim/init.vim add this statement to change open strategy:

let g:hanami_open_strategy = 'vsplit'

Default strategy is split.

Next features(planned)

  • navigation in app folder
  • something else

License

The Vim Hanami plugin is open-sourced software licensed under the MIT license.