Thanks for your interest in improving vim-grok! Here's how to get started.
- Search existing issues before opening a new one.
- Include your Vim version (
:version), OS, and grok-cli version (grok --version). - Paste the exact error message and the command or mapping that triggered it.
- Fork the repo and create a feature branch from
main:git checkout -b my-feature
- Make your changes. Follow the conventions below.
- Test in Vim 8.0+ and confirm the synchronous fallback still works
(
:let g:grok_test_sync = 1or removehas('job')guard temporarily). - Open a pull request against
main.
- Vim script style — Use
l:for local variables,s:for script-local,a:for arguments. Guard autoload files withg:autoloaded_*and plugin files withg:loaded_*. - Indentation — 2 spaces, no tabs.
- Comments — Use
"comments. Section headers use the---- Title ---banner style already in the codebase. - Functions — Prefer
aborton all function definitions.
autoload/grok.vim Core logic (public API + private helpers)
plugin/grok.vim Commands and key mappings (loaded once)
syntax/grok.vim Syntax highlighting for [Grok] output buffers
doc/grok.txt Vim help documentation
- If you add a new command or configuration variable, update both
doc/grok.txtandREADME.md. - Keep the help file in standard Vim
:helpformat (see:help help-writing).
By contributing you agree that your contributions will be licensed under the MIT License.