Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use https://github.com/google/vimdoc for helpfile generation #129

Closed
wants to merge 4 commits into from
Closed

Use https://github.com/google/vimdoc for helpfile generation #129

wants to merge 4 commits into from

Conversation

stellarhoof
Copy link

@stellarhoof stellarhoof commented Dec 9, 2017

Manually crafting vim helpfiles is cumbersome and hard to maintain, This
can lead to outdated helpfiles and inconsistent formatting.

vimdoc, as with all software, is not perfect. Its automation comes at
the price of buying into the rigidity of the formatting it provides and
it many cases it's not clear how to acomplish something except through
trial and error. The documentation is lacking in that respect. In my
musings I've found these some things vimdoc does not handle (not
exhaustive):

  • Automatic generation of mapping documentation
  • Validation of settings, commands, ... when using their
    corresponding directives (@setting(), @command(), ...)
  • Interspersing documentation in generated sections. For example,
    arbitrary blocks of documentation in between commands.

I still think that despite its shortcomings, vimdoc can potentially save
precious time to developers of the plugin, thus lowering the barrier to
contributions.

Fixes #128

Alejandro Hernandez added 4 commits December 9, 2017 13:05
Manually crafting vim helpfiles is cumbersome and hard to maintain, This
can lead to outdated helpfiles and inconsistent formatting.

`vimdoc`, as with all software, is not perfect. Its automation comes at
the price of buying into the rigidity of the formatting it provides and
it many cases it's not clear how to acomplish something except through
trial and error. The documentation is lacking in that respect. In my
musings I've found these some things `vimdoc` does not handle (not
exhaustive):
- Automatic generation of mapping documentation
- Validation of settings, commands, ... when using their
corresponding directives (`@setting()`, `@command()`, ...)
- Interspersing documentation in generated sections. For example,
arbitrary blocks of documentation in between commands.

I still think that despite its shortcomings, vimdoc can potentially save
precious time to developers of the plugin, thus lowering the barrier to
contributions.
@stellarhoof
Copy link
Author

I've got also a fix to #125 ready for pull request that depends on this one.

@jez
Copy link
Collaborator

jez commented Dec 10, 2017 via email

@stellarhoof
Copy link
Author

stellarhoof commented Dec 10, 2017

While it may be a new syntax (Vim helpfile vs Markdown), it’s useful to
know what helpfiles are strong and weak at to write idiomatic
documentation.

I'm not quite sure what you mean here

Requiring to install a dependency to build the helpfile does create a barrier to contribution, and I agree it's simpler to manage it manually. What worries me is that the docs get out of sync, forcing the users to inspect the code as the source of truth. Let's hope code review is indeed sufficient if the maintainers don't decide to use this.

@rdnetto
Copy link
Collaborator

rdnetto commented Dec 12, 2017

I'm ambivalent about this - it looks like it would force us to be more consistent about our documentation, which is good, but it's effectively introducing a new syntax. I also dislike how much noise its adding to the source code, which makes it harder to identify the actual code.

I'm not going to veto this if someone is really keen to see it merged, but my preference would be to just stick with regular helpfiles. If we are going to generate these, then I'd insist on having a check in CI to make sure they remain in sync.

@stellarhoof
Copy link
Author

Closing this then. If the maintainers want it back they can reopen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants