Auto generate vim docs

This commit is contained in:
hedyhli
2023-11-28 13:37:38 +00:00
committed by github-actions[bot]
parent 75ade708ef
commit b87f30f1d5

View File

@@ -262,6 +262,9 @@ Show defaults ~
winhl = 'NormalFloat:', winhl = 'NormalFloat:',
-- Pseudo-transparency of the preview window, see ':h winblend' -- Pseudo-transparency of the preview window, see ':h winblend'
winblend = 0 winblend = 0
-- Experimental feature that let's you edit the source content live
-- in the preview window. Like VS Code's "peek editor".
live = false
}, },
-- These keymaps can be a string or a table for multiple keys. -- These keymaps can be a string or a table for multiple keys.
@@ -936,6 +939,28 @@ Disable icons for specific kinds, and for others use lspkind:
LIVE, EDITABLE PREVIEWS ~
Press `K` to open the preview, press `K` again to focus on the preview window
to make any quick edits, similar to VS Codes reference window "peek editor".
Then use `:q` to close the window, and continue browsing the outline.
>lua
preview_window = {
live = true,
}
<
Note that this feature is experimental and may be unstable.
https://github.com/hedyhli/outline.nvim/assets/50042066/183fc5f9-b369-41e2-a831-a4185704d76d
Auto-preview with the feature is also supported, set `auto_preview = true` and
press `K` to focus on the auto-opened preview window. `:q` to quit the window.
LIMITATIONS *outline-limitations* LIMITATIONS *outline-limitations*
@@ -949,24 +974,80 @@ instead, there would be highlighting issues (say the calculated starting line
was within a markdown code block, so what was previously not supposed to be was within a markdown code block, so what was previously not supposed to be
code is now highlighted as code). code is now highlighted as code).
If this poses a problem for you, you should try out the |outline-live-preview|
feature, uses the code buffer directly for displaying the preview.
MANY OUTLINES ~ MANY OUTLINES ~
Outline.nvim does not support multiple outline windows in the same tabpage as Outline.nvim does not support multiple outline windows in the same tabpage as
of now However, this feature is planned of now However, this feature is planned
<https://github.com/hedyhli/outline.nvim/issues/26>, and you can use a single <https://github.com/hedyhli/outline.nvim/issues/26>, and you can use a single
outline that auto-updates on buffer switches. Per-tabpage outline is supported. outline that auto-updates on buffer switches.
That said, per-tabpage outline is supported.
RELATED PLUGINS *outline-related-plugins* RELATED PLUGINS *outline-related-plugins*
- Aerial.nvim - **Aerial.nvim** <https://github.com/stevearc/aerial.nvim>
- nvim-navic The most obvious plugin alternative to Outline.nvim would be Aerial. It
- nvim-navbuddy provides an outline window with a lot of features that outline.nvim does not
- dropdown.nvim have (but might add in the future). That said, outline.nvim also has features
- treesitter (inspect/edit) that Aerial does not support. I do not find it productive to be listing out the
- lspsaga exact details of which, as a table here, since both plugins are in active
- navigator.lua development and the table would get out of date quickly; Instead, I have listed
a few example use-cases where you may want to use Aerial, and others
Outline.nvim.
Aerial does a great job at supercharging vims built-in outline (`gO`). It
supports treesitter and vimdoc which Outline.nvim does not provide by default.
(Note that Aerial also supports Norg through treesitter like Outline.nvim, but
as of writing it does not support JSX like Outline.nvim does.)
- If you wish to prioritize treesitter as the provider ("backend" in Aerials
terms) for your symbols, you should use Aerial. This lets your have symbols
for languages that you might not want to set up an LSP for, which is quite
useful. Treesitter support is a planned feature in Outline.nvim but might
not arrive very soon.
- Aerial.nvim supports only Neovim 0.8 and above for the bleeding-edge
features, as far as I know. You should use Outline.nvim (or the
alternatives below) if you use Neovim 0.7 and wish to have equal support.
- At the moment, integrations such as Telescope and statuslines in Outline.nvim
has not been very well implemented yet, though they are planned features. If you
wish to use this, you should use Aerial.
- Outline.nvim supports both inclusive and exclusive symbol filtering.
In addition to these, Aerial also supports a `AerialNav` window which gives you
a miller column view of symbol hierarchy similar to nvim-navbuddy
<https://github.com/SmiteshP/nvim-navbuddy>. This feature might never be
supported in Outline.nvim because I personally feel that it is out of scope of
a "outline window" plugin, and to keep the codebase simple. If you dont want
to install a second plugin for this feature, you should use Aerial.
- **nvim-navic** <https://github.com/SmiteshP/nvim-navic>
nvim-navic gives you fully customizable breadcrumb section for you
winbar/statusline. However, as far as I am aware it only supports LSP. To have
other providers built-in you can try Aerial, or dropbar.nvim
<https://github.com/Bekaboo/dropbar.nvim>.
- **nvim-navbuddy** <https://github.com/SmiteshP/nvim-navbuddy>
Miller columns popup for LSP navigation. Again as far as I know only LSP is
supported.
- **dropbar.nvim** <https://github.com/Bekaboo/dropbar.nvim>
Clickable breadcrumbs section with support for many sources in addition to LSP.
However, it requires Neovim nightly as of writing.
- **lspsaga** <https://github.com/nvimdev/lspsaga.nvim>
Ive heard that this plugin gives you many features previously described all
in one plugin. However I have not used this myself so I cannot comment on it
more, other than it might only support LSP.
- **glance.nvim** <https://github.com/DNLHC/glance.nvim>
Extremely interesting plugin that gives you a floating window for navigation
and quick-edits of locations provided by LSP. However it solves a different
problem to Outline.nvim: navigating references and definitions.
- **navigator.lua** <https://github.com/ray-x/navigator.lua>
Unfortunately I have not used this myself, but it looks pretty good. It might
only support LSP.
- **Treesitter (inspect/edit)**
The built-in treesitter module has a `:InspectTree` feature that can follow
your cursor around and let you jump to locations by navigating the tree.
Compared to Outline.nvim it may not be as customizable, but it uses treesitter
and can highlight entire ranges of symbols.
Generated by panvimdoc <https://github.com/kdheepak/panvimdoc> Generated by panvimdoc <https://github.com/kdheepak/panvimdoc>