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

Add support for DocPopupWindow in Neovim #2451

Merged
merged 5 commits into from
Sep 25, 2019

Conversation

geodimm
Copy link
Contributor

@geodimm geodimm commented Aug 11, 2019

Basic support for floating windows in Neovim. It's using minimal style to disable some UI components like end-of-buffer region or special columns.

Imgur

@skanehira
Copy link
Contributor

@georgijd Hi!
I improve some GoDoc popup window in #2447.
We are discussing the use case of the popup window, so if you like, please tell us your opinion.

\ 'col': 0,
\ 'width': width,
\ 'height': height,
\ 'style': 'minimal'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nvim_open_win options seems not to support style key anymore. see help nvim_open_win, i use nvim v0.4.0

could i also suggest setting buffer syntax to go for the doc popup window?

thanks

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, thank you for your feedback! My bad on the style key, I'm using v0.4.0-dev, which is probably why it works for me. I've updated the diff with syntax highlighting as per your suggestion and I've set some other options to mimic the minimal style option.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cool, thanks for taking the time to implement!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wait. nvim_open_win() can take style in options. It is documented in HEAD. See :h api-floatwin

It does not appear on :h nvim_open_api as @frescoraja says, but on src/nvim/api.c.

Neovim v0.4.0 is still in development and documents are not enough. But style will be included in v0.4.0 release, I think, so it is better to use it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aaah, that explains it then :). Thanks for digging @delphinus . We could have a branch with the style option set and merge it once v0.4.0 is released.

Copy link
Collaborator

@bhcleek bhcleek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the contribution. Overall, this looks great. I do have a couple of small requests for changes, though, that I put in-line. If you don't have time to make more modifications, do you mind if I push to your branch?

autoload/go/doc.vim Outdated Show resolved Hide resolved
autoload/go/doc.vim Show resolved Hide resolved
@bhcleek
Copy link
Collaborator

bhcleek commented Sep 25, 2019

LGTM

Thank you for contributing!

@bhcleek bhcleek merged commit 84b9440 into fatih:master Sep 25, 2019
bhcleek added a commit that referenced this pull request Sep 25, 2019
@frescoraja
Copy link

@georgijd thanks man ! now we just need to make :GoDoc async operation ;)

@geodimm geodimm deleted the nvim-godoc-popup branch September 26, 2019 09:49
clrpackages pushed a commit to clearlinux-pkgs/vim-go that referenced this pull request Feb 1, 2020
v1.22 - (January 30, 2020)

BACKWARDS INCOMPATIBILITIES:
* Drop support for Vim 7.4. The minimum required version of Vim is now 8.0.1453.
  [[GH-2495]](fatih/vim-go#2495)
  [[GH-2497]](fatih/vim-go#2497)
* Drop support for `gometalinter`
  [[GH-2494]](fatih/vim-go#2494)

IMPROVEMENTS:
* Highlight the `go` keyword in go.mod files.
  [[GH-2473]](fatih/vim-go#2473)
* Use echo functions consistently.
  [[GH-2458]](fatih/vim-go#2458)
* Add support for managing goroutines in debugger.
  [[GH-2463]](fatih/vim-go#2463)
  [[GH-2527]](fatih/vim-go#2527)
* Document `g:go_doc_popup_window`.
  [[GH-2506]](fatih/vim-go#2506)
* Make `g:go_doc_popup_window=1` work for Neovim, too.
  [[GH-2451]](fatih/vim-go#2451)
  [[GH-2512]](fatih/vim-go#2512)
* Handle errors jumping to a definition in a file open in another Vim process
  better.
  [[GH-2518]](fatih/vim-go#2518)
* Improve the UX when the gopls binary is missing.
  [[GH-2522]](fatih/vim-go#2522)
* Use gopls instead of guru for `:GoSameIds`.
  [[GH-2519]](fatih/vim-go#2519)
* Use gopls instead of guru for `:GoReferrers`.
  [[GH-2535]](fatih/vim-go#2535)
* Update documentation for `g:go_addtags_transform`.
  [[GH-2541]](fatih/vim-go#2541)
* Install most helper tools in module aware mode.
  [[GH-2545]](fatih/vim-go#2545)
* Add a new option, `g:go_referrers_mode` to allow the user to choose whether
  to use gopls or guru for finding references.
  [[GH-2566]](fatih/vim-go#2566)
* Add options to control how gopls responds to completion requests.
  [[GH-2567]](fatih/vim-go#2567)
  [[GH-2568]](fatih/vim-go#2568)
* Add syntax highlighting for binary literals.
  [[GH-2557]](fatih/vim-go#2557)
* Improve highlighting of invalid numeric literals.
  [[GH-2571]](fatih/vim-go#2571)
  [[GH-2587]](fatih/vim-go#2587)
  [[GH-2589]](fatih/vim-go#2589)
  [[GH-2584]](fatih/vim-go#2584)
  [[GH-2597]](fatih/vim-go#2597)
  [[GH-2599]](fatih/vim-go#2599)
* Add highlighting of sections reported by gopls diagnostics' errors
  and warnings.
  [[GH-2569]](fatih/vim-go#2569)
  [[GH-2643]](fatih/vim-go#2643)
* Make the highlighting of fzf decls configurable.
  [[GH-2572]](fatih/vim-go#2572)
  [[GH-2579]](fatih/vim-go#2579)
* Support renaming with gopls.
  [[GH-2577]](fatih/vim-go#2577)
  [[GH-2618]](fatih/vim-go#2618)
* Add an option, `g:go_gopls_enabled`, to allow gopls integration to be
  disabled.
  [[GH-2605]](fatih/vim-go#2605)
  [[GH-2609]](fatih/vim-go#2609)
  [[GH-2638]](fatih/vim-go#2638)
  [[GH-2640]](fatih/vim-go#2640)
* Add a buffer level option, `b:go_fmt_options`, to control formatting options
  per buffer.
  [[GH-2613]](fatih/vim-go#2613)
* Use build tags when running `:GoVet`.
  [[GH-2615]](fatih/vim-go#2615)
* Add new snippets for UltiSnips.
  [[GH-2623]](fatih/vim-go#2623)
  [[GH-2627]](fatih/vim-go#2627)
* Expand completions as snippets when `g:go_gopls_use_placeholders` is set.
  [[GH-2624]](fatih/vim-go#2624)
* Add a new function, `:GoDiagnostics` and an associated mapping for seeing
  `gopls` diagnostics. Because of the performance implications on large
  projects, `g:go_diagnostics_enabled` controls whether all diagnostics are
  processed or only the diagnostics for the current buffer.
  [[GH-2612]](fatih/vim-go#2612)
* Explain how to find and detect multiple copies of vim-go in the FAQ.
  [[GH-2632]](fatih/vim-go#2632)
* Update the issue template to ask for the gopls version and
  `:GoReportGitHubIssue` to provide it.
  [[GH-2630]](fatih/vim-go#2630)
* Use text properties when possible for some highlighting cases.
  [[GH-2652]](fatih/vim-go#2652)
  [[GH-2662]](fatih/vim-go#2662)
  [[GH-2663]](fatih/vim-go#2663)
  [[GH-2672]](fatih/vim-go#2672)
  [[GH-2678]](fatih/vim-go#2678)

BUG FIXES:
* Fix removal of missing directories from gopls workspaces.
  [[GH-2507]](fatih/vim-go#2507)
* Change to original window before trying to change directories when term job
  ends.
  [[GH-2508]](fatih/vim-go#2508)
* Swallow errors when the hover info cannot be determined.
  [[GH-2515]](fatih/vim-go#2515)
* Fix errors when trying to debug lsp and hover.
  [[GH-2516]](fatih/vim-go#2516)
* Reset environment variables on Vim <= 8.0.1831 .
  [[GH-2523]](fatih/vim-go#2523)
* Handle empty results from delve.
  [[GH-2526]](fatih/vim-go#2526)
* Do not overwrite `updatetime` when `g:go_auto_sameids` or
  `g:go_auto_type_info` is set.
  [[GH-2529]](fatih/vim-go#2529)
* Fix example for `g:go_debug_log_output` in docs.
  [[GH-2547]](fatih/vim-go#2547)
* Use FileChangedShellPost instead of FileChangedShell so that reload messages
  are not hidden.
  [[GH-2549]](fatih/vim-go#2549)
* Restore cwd after `:GoTest` when `g:go_term_enabled` is set.
  [[GH-2556]](fatih/vim-go#2556)
* Expand struct variable correctly in the variables debug window.
  [[GH-2574]](fatih/vim-go#2574)
* Show output from errcheck when there are failures other than problems it can
  report.
  [[GH-2667]](fatih/vim-go#2667)

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
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.

None yet

5 participants