All Projects → MicahElliott → Rocannon

MicahElliott / Rocannon

Vim for Ansible playbooks: omni-completion, abbreviations, syntax, folding, K-docs, and colorscheme

Projects that are alternatives of or similar to Rocannon

Solarized
Solarized color scheme for Sublime Text 3
Stars: ✭ 314 (+292.5%)
Mutual labels:  highlighting, color-scheme
Nord Sublime Text
An arctic, north-bluish clean and elegant Sublime Text theme.
Stars: ✭ 109 (+36.25%)
Mutual labels:  highlighting, color-scheme
Vim Plugin Viewdoc
Vim plugin: flexible viewer for any documentation
Stars: ✭ 79 (-1.25%)
Mutual labels:  documentation, viml
Ansible Completion
Basic bash completion for Ansible
Stars: ✭ 128 (+60%)
Mutual labels:  ansible, completion
Vim Hemisu
A Vim color scheme with dark and light variants
Stars: ✭ 271 (+238.75%)
Mutual labels:  viml, color-scheme
Helloworld Msa
Main repository with documentation and support files
Stars: ✭ 218 (+172.5%)
Mutual labels:  ansible, documentation
Intellij Platform Solarized
Solarized UI and editor themes for IntelliJ IDEA, CLion, Rider, PyCharm, RubyMine, PhpStorm, WebStorm, Android Studio, DataGrip and GoLand
Stars: ✭ 148 (+85%)
Mutual labels:  highlighting, color-scheme
Investigate.vim
A Vim plugin for looking up documentation
Stars: ✭ 282 (+252.5%)
Mutual labels:  documentation, viml
Nord Docs
The official Nord website and documentation
Stars: ✭ 63 (-21.25%)
Mutual labels:  documentation, color-scheme
Architecture Center
Azure Architecture Center
Stars: ✭ 1,207 (+1408.75%)
Mutual labels:  documentation
Nord Terminator
An arctic, north-bluish clean and elegant Terminator color theme.
Stars: ✭ 78 (-2.5%)
Mutual labels:  color-scheme
Rpicam
Raspberry PI Surveillance Automation
Stars: ✭ 77 (-3.75%)
Mutual labels:  ansible
Ansible Role Ruby
Ansible Role - Ruby
Stars: ✭ 77 (-3.75%)
Mutual labels:  ansible
F5 Automation Labs
F5 Super-NetOps Programmability, Automation and DevOps Training Classes
Stars: ✭ 79 (-1.25%)
Mutual labels:  documentation
Markdownmonster
An extensible Markdown Editor, Viewer and Weblog Publisher for Windows
Stars: ✭ 1,203 (+1403.75%)
Mutual labels:  documentation
Personalfilterlistcollection
Total resources of documentation, filterlists, hosts file, ruleset that I've created, mostly for private use and/or test.
Stars: ✭ 77 (-3.75%)
Mutual labels:  documentation
Cmake.vim
🔨 CMake functionality within Vim.
Stars: ✭ 76 (-5%)
Mutual labels:  viml
Mikado
🤖💨Mikado helps managing your AWS infrastructure for WordPress sites by defining an out-of-box, highly available, easy-to-deploy setup
Stars: ✭ 80 (+0%)
Mutual labels:  ansible
Content
Security automation content in SCAP, OSCAL, Bash, Ansible, and other formats
Stars: ✭ 1,219 (+1423.75%)
Mutual labels:  ansible
Packer Centos 6
This build has been moved - see README.md
Stars: ✭ 78 (-2.5%)
Mutual labels:  ansible

Rocannon: Operator of the Ansible

Command the Ansible, Relish the Rainbow. Never visit the Ansible docs again.

Rocannon!

Ansible is a unique DSL with semantics way beyond an editor’s simple built-in YAML treatment. Thus, Ansible files need a totally different type of syntax highlighting — and of course completion of actions and their args.

Features

  • Completion system that’s aware of all ansible modules/actions and their args, and even the unique state= values
  • Syntax for semantics of Ansible, way beyond vanilla YAML
  • A 256-color scheme to make use of the extended syntax
  • Local, comprehensive documentation system that mirrors online docs (use K)
  • Folding regions to collapse task blocks into simple, readable lists
  • Simple skeleton for new .ans/.yaml files
  • “Bouncing” between related roles files
  • Execution of individual plays (via implicit tags and :make)

(This is a somewhat simplistic Vim implementation, but mostly works if you stick to Ansible best practices http://docs.ansible.com/playbooks_best_practices.html.)

Demo

  • Vanilla YAML file with default highlighting
  • Change the filetype to ansible (can be done in other ways)
  • Reopen file to reflect filetype
  • Notice the folding
  • Create a new "stat" play to not install pbzip2 otherwise
  • Notice the completion of action and arg (other args also completable)
  • Pull up documentation for stat with K

Rocannon Demo!

Installation

Here I’m using Vundle (but Pathogen should also work):

% vim ~/.vimrc " add line inside vundle block
Plugin 'MicahElliott/Rocannon'

Then install it with Vundle.

% vim +PluginInstall +qa

I recommend the above, but — just for fun — you could even use Ansible to get it! (This also assumes Vundle is managing your ~/.vim/bundle area, and that you’ve added the Plugin line above to your ~/.vimrc.)

% ansible localhost -m git -a 'repo=https://github.com/MicahElliott/Rocannon dest=~/.vim/bundle/Rocannon'

Rocannon should automatically detect a file with extension .yaml (but not .yml) as an Ansible file type. If you want to be explicit, though, you could add to the top (or bottom) of each Ansible YAML file:

# vim:ft=ansible:

Now open an Ansible file and your should notice that the filetype is “ansible”, and you’ll see some fancy colors, completions, etc:

% vim foo.yaml

(It would be really nice if Ansible supported a *.ans file extension.)

Comprehensive Help

This README is just to get you started. Use the extensive vim help to learn the important details:

:help rocannon

Every Ansible module’s online documentation is also available via vim’s K.

Completions

All known Ansible actions are omni-completed, and a short description is shown. Actions also have abbreviations, so that when you type yum: it will complete to yum: name=. There are also completions for each arg, so if you type yum: name=zsh <C-x><C-o> you will see a list of all possible args. Even state values are completed.

Syntax/Highlighting (colorscheme)

Yes, it’s very colorful. Although initially jarring, I find this quite helpful. The scheme is called rocannon. I recommend that you embrace this rainbow (though it can be turned off).

Folding

Plays can be folded into a single line containing just the name: description.

Jumping between files (like vim-rails)

Several files in a role often need to be bounced around between. Vim-Rails supports this nicely, bouncing between controllers, views, models, tests, etc. Rocannon should do the same between tasks, handlers, templates, files, and vars.

To its fullest

It’s helpful to have a terminal and font that fully support 256 colors, bold, underline, italic, etc. If you don't already have that covered, I recommend Urxvt and Orp-Font (if you like bitmapped).

License

Copyright © Micah Elliott. Distributed under the same terms as Vim itself. See :help license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].