diff --git a/doc/symbols-outline.txt b/doc/symbols-outline.txt
index d3644d6..7fb6677 100644
--- a/doc/symbols-outline.txt
+++ b/doc/symbols-outline.txt
@@ -1,58 +1,189 @@
-*symbols-outline.txt* For NVIM v0.8.0 Last change: 2023 January 25
+*symbols-outline.txt* For NVIM v0.8.0 Last change: 2023 November 01
==============================================================================
Table of Contents *symbols-outline-table-of-contents*
-1. symbols-outline.nvim |symbols-outline-symbols-outline.nvim|
- - Prerequisites |symbols-outline-prerequisites|
- - Installation |symbols-outline-installation|
- - Setup |symbols-outline-setup|
- - Configuration |symbols-outline-configuration|
- - Commands |symbols-outline-commands|
- - Default keymaps |symbols-outline-default-keymaps|
- - Highlights |symbols-outline-highlights|
+1. ⚠️ NOTE: THIS IS A FORK |symbols-outline-⚠️-note:-this-is-a-fork|
+ - Maintenance status|symbols-outline-⚠️-note:-this-is-a-fork-maintenance-status|
+ - Features |symbols-outline-⚠️-note:-this-is-a-fork-features|
+2. symbols-outline.nvim |symbols-outline-symbols-outline.nvim|
+ - Prerequisites |symbols-outline-symbols-outline.nvim-prerequisites|
+ - Installation |symbols-outline-symbols-outline.nvim-installation|
+ - Setup |symbols-outline-symbols-outline.nvim-setup|
+ - Configuration |symbols-outline-symbols-outline.nvim-configuration|
+ - Commands |symbols-outline-symbols-outline.nvim-commands|
+ - Default keymaps |symbols-outline-symbols-outline.nvim-default-keymaps|
+ - Highlights |symbols-outline-symbols-outline.nvim-highlights|
==============================================================================
-1. symbols-outline.nvim *symbols-outline-symbols-outline.nvim*
+1. ⚠️ NOTE: THIS IS A FORK *symbols-outline-⚠️-note:-this-is-a-fork*
+
+This is a fork of the original symbols-outline.nvim which merges some selected
+PRs from the original repo, plus some other improvements due to personal
+preferences.
+
+It does not attempt to be an up-to-date successor of the original repo, nor
+does it attempt to ensure everyone’s use-cases are satisfied by providing an
+overall better experience. It is merely a fork which I maintain for my personal
+use-cases which incorporates some selected PRs.
+
+
+MAINTENANCE STATUS*symbols-outline-⚠️-note:-this-is-a-fork-maintenance-status*
+
+This fork is NOT guaranteed to be completely bug-free, nor as stable as the
+original. However, since I use this plugin myself, it is guaranteed that
+selected issues that I encounter myself would be fixed (to the best of my
+ability).
+
+I do not merge PRs from the original repo that I don’t personally need.
+
+- **DO use this fork if**:
+ - You want to use features available in this fork, which are not included
+ upstream (listed below)
+ - You MIGHT want some up-to-date fixes to problems (that I also face) but is
+ OK with some things not being looked after well (things I don’t personally use)
+- **Do NOT use this fork if**:
+ - You want a stable plugin
+ - You don’t need the extra features in this fork
+
+
+FEATURES *symbols-outline-⚠️-note:-this-is-a-fork-features*
+
+Below is a list of features I’ve included in this fork which, at the time of
+writing, has not been included upstream (in the original repo). I try my best
+to keep this list up to date.
+
+- Feat: Toggling folds (and added default keymaps for it)
+ (simrat39/symbols-outline.nvim#194)
+- Feat: when `auto_close=true` only auto close if `goto_location` is used (where
+ focus changed), and not for `focus_location`
+ (simrat39/symbols-outline.nvim#119)
+- Fix `SymbolsOutlineClose` crashing when already closed:
+ simrat39/symbols-outline.nvim#163
+- Support Nerd fonts v3.0: simrat39/symbols-outline.nvim#225
+- Fix newlines in symbols crash: simrat39/symbols-outline.nvim#204
+ (simrat39/symbols-outline.nvim#184)
+- Fix `code_actions`: simrat39/symbols-outline.nvim#168
+ (simrat39/symbols-outline.nvim#123)
+- Fix fold all operation too slow: simrat39/symbols-outline.nvim#223
+ (simrat39/symbols-outline.nvim#224)
+
+
+PRS ~
+
+- Open handler checks if view is not already open (#235 by eyalz800)
+- auto_jump config param (#229 by stickperson)
+- ✅ Update nerd fonts to 3.0 (#225 by anstadnik)
+- ✅ fix(folding): optimize fold/unfold all (#223 by wjdwndud0114)
+- ✅ Support markdown setext-style headers (#222 by msr1k)
+- ✅ fix(icons): replace obsolete icons (#219 by loichyan) **Superseded by
+ #225**
+- ✅ Support ccls symbols (#218 by rqdmap)
+- ✅ fix: replace newlines with spaces in writer (#204 by tbung)
+- ✅ Make close_outline idempotent (#200 by showermat) **Superseded by #163**
+- Distinguish between public and private function display in Elixir (#187 by
+ scottming)
+- ✅ Fix some options (#180 by cljoly)
+- fix: Invalid buffer id error (#177 by snowair)
+- ✅ fix(code_actions): use the builtin code_action (#168 by zjp-CN)
+- ✅ fix: plugin crashes when SymbolOutlineClose used (#163 by beauwilliams)
+- feat: Add window_bg_highlight to config (#137 by Zane-)
+- Added preview width and relative size (#130 by Freyskeyd)
+- Improve preview, hover windows configurability and looks (#128 by toppair)
+- ✅ Do not close outline when focus_location occurs (#119 by M1Sports20)
+- feat: instant_preview (#116 by axieax)
+- check if code_win is nill (#110 by i3Cheese)
+- Floating window (Draft) (#101 by druskus20)
+
+
+TODO ~
+
+KEY:
+
+>
+ - [ ] : Planned
+ - [/] : WIP
+ - : Idea
+<
+
+Items will be moved to above list when complete.
+
+- Folds
+ - ☐ Org-like shift+tab behavior: Open folds level-by-level
+ - ☐ Optionally not opening all child nodes when opening parent node
+ - Fold siblings and siblings of parent on startup
+- Navigation
+ - Go to parent
+ - Cycle siblings
+
+
+RELATED PLUGINS ~
+
+- nvim-navic
+- nvim-navbuddy
+- dropdown.nvim
+- treesitter (inspect/edit)
+
+------------------------------------------------------------------------------
+
+==============================================================================
+2. symbols-outline.nvim *symbols-outline-symbols-outline.nvim*
**A tree like view for symbols in Neovim using the Language Server Protocol.
Supports all your favourite languages.**
-
-
-PREREQUISITES *symbols-outline-prerequisites*
+PREREQUISITES *symbols-outline-symbols-outline.nvim-prerequisites*
- `neovim 0.7+`
- Properly configured Neovim LSP client
-INSTALLATION *symbols-outline-installation*
+INSTALLATION *symbols-outline-symbols-outline.nvim-installation*
-Using `packer.nvim`
+Use `hedyhli/symbols-outline.nvim` if you wish to use this fork.
->
+Packer:
+
+>lua
use 'simrat39/symbols-outline.nvim'
<
+Lazy:
-SETUP *symbols-outline-setup*
+>lua
+ {
+ "simrat39/symbols-outline.nvim",
+ config = function()
+ -- Example mapping to toggle symbols-outline
+ vim.keymap.set("n", "tt", "SymbolsOutline",
+ { desc = "SymbolsOutline" })
+
+ require("symbols-outline").setup {
+ -- Your setup opts here (optional)
+ }
+ end,
+ },
+<
+
+
+SETUP *symbols-outline-symbols-outline.nvim-setup*
Put the setup call in your init.lua or any lua file that is sourced.
->
+**NOTE**: A call to `.setup()` is _required_ for this plugin to work!
+(simrat39/symbols-outline.nvim#213)
+
+>lua
require("symbols-outline").setup()
<
-CONFIGURATION *symbols-outline-configuration*
+CONFIGURATION *symbols-outline-symbols-outline.nvim-configuration*
Pass a table to the setup call above with your configuration options.
->
+>lua
local opts = {
highlight_hovered_item = true,
show_guides = true,
@@ -60,6 +191,9 @@ Pass a table to the setup call above with your configuration options.
position = 'right',
relative_width = true,
width = 25,
+ -- Behaviour changed in this fork:
+ -- Auto close the outline window if goto_location is triggered and not for
+ -- focus_location
auto_close = false,
show_numbers = false,
show_relative_numbers = false,
@@ -78,6 +212,8 @@ Pass a table to the setup call above with your configuration options.
rename_symbol = "r",
code_actions = "a",
fold = "h",
+ fold_toggle = '', -- Only in this fork
+ fold_toggle_all = '', -- Only in this fork
unfold = "l",
fold_all = "W",
unfold_all = "E",
@@ -86,6 +222,7 @@ Pass a table to the setup call above with your configuration options.
lsp_blacklist = {},
symbol_blacklist = {},
symbols = {
+ -- Changed in this fork
File = { icon = "", hl = "@text.uri" },
Module = { icon = "", hl = "@namespace" },
Namespace = { icon = "", hl = "@namespace" },
@@ -114,68 +251,121 @@ Pass a table to the setup call above with your configuration options.
TypeParameter = { icon = "𝙏", hl = "@parameter" },
Component = { icon = "", hl = "@function" },
Fragment = { icon = "", hl = "@constant" },
+ -- ccls
+ TypeAlias = { icon = ' ', hl = '@type' },
+ Parameter = { icon = ' ', hl = '@parameter' },
+ StaticMethod = { icon = ' ', hl = '@function' },
+ Macro = { icon = ' ', hl = '@macro' },
},
}
<
+ --------------------------------------------------------------------------------------------
+ Property Description Type Default
+ ------------------------ --------------------------------------- -------------- ------------
+ highlight_hovered_item Whether to highlight the currently boolean true
+ hovered symbol (high cpu usage)
-│ Property │ Description │ Type │ Default │
-│highlight_hovered_item│Whether to highlight the currently hovered symbol (high cpu usage) │boolean │true │
-│show_guides │Whether to show outline guides │boolean │true │
-│position │Where to open the split window │'right' or 'left' │'right' │
-│relative_width │Whether width of window is set relative to existing windows │boolean │true │
-│width │Width of window (as a % or columns based on relative_width) │int │25 │
-│auto_close │Whether to automatically close the window after selection │boolean │false │
-│auto_preview │Show a preview of the code on hover │boolean │false │
-│show_numbers │Shows numbers with the outline │boolean │false │
-│show_relative_numbers │Shows relative numbers with the outline │boolean │false │
-│show_symbol_details │Shows extra details with the symbols (lsp dependent) │boolean │true │
-│preview_bg_highlight │Background color of the preview window │string │Pmenu │
-│winblend │Pseudo-transparency of the preview window │int │0 │
-│keymaps │Which keys do what │table (dictionary)│|symbols-outline-here|│
-│symbols │Icon and highlight config for symbol icons │table (dictionary)│scroll up │
-│lsp_blacklist │Which lsp clients to ignore │table (array) │{} │
-│symbol_blacklist │Which symbols to ignore (possible values <./lua/symbols-outline/symbols.lua>)│table (array) │{} │
-│autofold_depth │Depth past which nodes will be folded by default │int │nil │
-│auto_unfold_hover │Automatically unfold hovered symbol │boolean │true │
-│fold_markers │Markers to denote foldable symbol’s status │table (array) │{ '', '' } │
-│wrap │Whether to wrap long lines, or let them flow off the window │boolean │false │
+ show_guides Whether to show outline guides boolean true
+
+ position Where to open the split window ‘right’ or ‘right’
+ ‘left’
+
+ relative_width Whether width of window is set relative boolean true
+ to existing windows
+
+ width Width of window (as a % or columns int 25
+ based on relative_width)
+
+ auto_close Whether to automatically close the boolean false
+ window after goto_location
+
+ auto_preview Show a preview of the code on hover boolean false
+
+ show_numbers Shows numbers with the outline boolean false
+
+ show_relative_numbers Shows relative numbers with the outline boolean false
+
+ show_symbol_details Shows extra details with the symbols boolean true
+ (lsp dependent)
+
+ preview_bg_highlight Background color of the preview window string Pmenu
+
+ winblend Pseudo-transparency of the preview int 0
+ window
+
+ keymaps Which keys do what table here
+ (dictionary)
+
+ symbols Icon and highlight config for symbol table scroll up
+ icons (dictionary)
+
+ lsp_blacklist Which lsp clients to ignore table (array) {}
+
+ symbol_blacklist Which symbols to ignore (possible table (array) {}
+ values)
+
+ autofold_depth Depth past which nodes will be folded int nil
+ by default
+
+ auto_unfold_hover Automatically unfold hovered symbol boolean true
+
+ fold_markers Markers to denote foldable symbol’s table (array) { ‘’, ‘’ }
+ status
+
+ wrap Whether to wrap long lines, or let them boolean false
+ flow off the window
+ --------------------------------------------------------------------------------------------
+
+COMMANDS *symbols-outline-symbols-outline.nvim-commands*
+
+ Command Description
+ ---------------------- ------------------------
+ :SymbolsOutline Toggle symbols outline
+ :SymbolsOutlineOpen Open symbols outline
+ :SymbolsOutlineClose Close symbols outline
+
+LUA ~
+
+>
+ require'symbols-outline'.toggle_outline()
+ require'symbols-outline'.open_outline()
+ require'symbols-outline'.close_outline()
+<
-COMMANDS *symbols-outline-commands*
+DEFAULT KEYMAPS *symbols-outline-symbols-outline.nvim-default-keymaps*
-│ Command │ Description │
-│:SymbolsOutline │Toggle symbols outline│
-│:SymbolsOutlineOpen │Open symbols outline │
-│:SymbolsOutlineClose │Close symbols outline │
+ Key Action
+ ------------ ----------------------------------------------------
+ Escape Close outline
+ Enter Go to symbol location in code
+ o Go to symbol location in code without losing focus
+ Ctrl+Space Hover current symbol
+ K Toggles the current symbol preview
+ r Rename symbol
+ a Code actions
+ h fold symbol
+ tab toggle fold under cursor
+ shift+tab toggle all folds
+ l Unfold symbol
+ W Fold all symbols
+ E Unfold all symbols
+ R Reset all folding
+ ? Show help message
+HIGHLIGHTS *symbols-outline-symbols-outline.nvim-highlights*
-DEFAULT KEYMAPS *symbols-outline-default-keymaps*
-
-│ Key │ Action │
-│Escape │Close outline │
-│Enter │Go to symbol location in code │
-│o │Go to symbol location in code without losing focus│
-│Ctrl+Space│Hover current symbol │
-│K │Toggles the current symbol preview │
-│r │Rename symbol │
-│a │Code actions │
-│h │fold symbol │
-│l │Unfold symbol │
-│W │Fold all symbols │
-│E │Unfold all symbols │
-│R │Reset all folding │
-│? │Show help message │
-
-
-HIGHLIGHTS *symbols-outline-highlights*
-
-│ Highlight │ Purpose │
-│FocusedSymbol │Highlight of the focused symbol │
-│Pmenu │Highlight of the preview popup windows│
-│SymbolsOutlineConnector│Highlight of the table connectors │
-│Comment │Highlight of the info virtual text │
+ Highlight Purpose
+ ------------------------- ----------------------------------------
+ FocusedSymbol Highlight of the focused symbol
+ Pmenu Highlight of the preview popup windows
+ SymbolsOutlineConnector Highlight of the table connectors
+ Comment Highlight of the info virtual text
+==============================================================================
+3. Links *symbols-outline-links*
+1. *demo*: https://github.com/simrat39/rust-tools-demos/raw/master/symbols-demo.gif
Generated by panvimdoc