pgcli icon indicating copy to clipboard operation
pgcli copied to clipboard

F1 shows man page for current query

Open serpent7776 opened this issue 1 year ago • 3 comments

Description

Make F1 key launch man page for current query. E.g. I have CREATE TABLE foo as my query and I press F1. The man page CREATE_TABLE is launched. This requires man pages to be installed locally, I'm not sure they're always installed. I have it on my manjaro, but I don't see man pages on ubuntu, only the html docs.

This is currently just a scratch implementation, let me know if you're interested in having such functionality.

Also, I'm not a python dev, any suggestions welcomed.

Checklist

  • [ ] I've added this contribution to the changelog.rst.
  • [ ] I've added my name to the AUTHORS file (or it's already there).
  • [ ] I installed pre-commit hooks (pip install pre-commit && pre-commit install), and ran black on my code.
  • [x] Please squash merge this pull request (uncheck if you'd like us to merge as multiple commits)

serpent7776 avatar Apr 06 '24 12:04 serpent7776

Nice. :) If this is useful to you, it's useful to other people.

j-bennet avatar Apr 11 '24 22:04 j-bennet

I implemented a simple heuristic that should work for most cases.

Two cases that are not supported are:

  • CREATE TABLE AS
  • SELECT INTO

These cases are too complex to come up with a heuristic. An actual SQL parser would need to be used to support these.

Now I have an issue with showing SQL query after man page quits. The user entered query should be re-desplayed, but I don't know how to do that. I tried click.clear(), event.app.invalidate() and get_app().current_buffer.reset(), but none of them work. Maybe man page should be displayed in separate window? I don't know how to do that though.

serpent7776 avatar Apr 29 '24 11:04 serpent7776

@jonathanslenders can you advise?

j-bennet avatar May 03 '24 22:05 j-bennet