You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You most likely have key mappings set for this if you're using the lsp-config.
60
63
61
-
Once the calltree is open you can expand and collapse symbols to discover a total call
62
-
hierarchy in an intuitative way.
64
+
Once the calltree or symboltree is open you can expand and collapse symbols to discover a total call hierarchy or document outline in an intuitative way.
63
65
64
66
Use ":CTExpand" and ":CTCollapse" to achieve this.
65
67
@@ -69,13 +71,13 @@ Check out (:h calltree) for all the details.
69
71
70
72
This plugin aims to be super simple and do one thing very well.
71
73
72
-
There are a few features which add a bit more to the basic calltree usage.
74
+
There are a few features which add a bit more to the basic usage.
73
75
74
-
## Switching Directions
76
+
## Switching Directions (calltree)
75
77
76
-
The ":CTSwitch" command will focus and inverse the call tree (move from outgoing to incoming for example) for the symbol under the curosor.
78
+
The ":CTSwitch" command will focus and inverse the call tree (move from outgoing to incoming for example) for the symbol under the cursor.
77
79
78
-
## Focusing
80
+
## Focusing (calltree)
79
81
80
82
The ":CTFocus" command will re-parent the symbol under the cursor, making it root.
81
83
@@ -87,26 +89,42 @@ The ":CTHover" will show hover info for the given symbol.
87
89
88
90
## Jump
89
91
90
-
Calltree supports jumping to the symbol.
92
+
Calltree.nvim supports jumping to the symbol.
91
93
92
94
The ":CTJump" command will do this.
93
95
94
96
How jumping occurs is controlled by the config, see (h: calltree-config)
95
97
98
+
Jumping will set highlights in the source file, to clear these use ":CTClearHL".
99
+
96
100
## Icons
97
101
98
-
Nerd font icons along with codicons are currently supported.
102
+
Nerd font icons along with Codicons are currently supported.
99
103
100
104
You'll need a patched font for them to work correctly. see (h: calltree-config)
101
105
102
106
## Symbol Outline
103
107
104
-
Because the tree module can be used for symbols as well calltree implements a live symbol outline of the focused buffer.
108
+
Because the tree module can be used for symbols as well Calltree.nvim implements a live symbol outline of the focused buffer.
105
109
106
110
Expanding and collapsing nodes is done with the same commands as the call hierarchy tree.
107
111
108
112
The UI works together and will always ensure a static layout with call hierarchy on top/left and symbols on bottom/right.
109
113
114
+
## Unified Panel
115
+
116
+
It's possible to treat Calltree.nvim's UI as a persistent but collapsible panel.
117
+
118
+
This would be similar to VSCode and JetBrain IDEs, where an informational panel is present on the left, bottom, right, or top of the editor depending on configuration.
119
+
120
+
When enabling the unified panel, both the symboltree (document symbol outline) and the calltree (any recently requested call hierarchy outline) are always displayed together.
121
+
122
+
The "CTPanel" command may be used to open and collapse the unified panel when desired.
123
+
124
+
The configuration options `unified_panel` and `auto_open_panel` can be set to true to ensure the unified panel is opened when LSP requests are made and the unified panel is opened on Neovim's start, respectively.
125
+
126
+
The unified panel is completely opt-in. By keeping the `unified_panel` and `auto_open_panel` options false only the respectively Calltree.nvim UI elements will open when LSP requests are made. Furthermore, you can use ":CTPanel" freely without either option above set, if you'd like to "sometimes" use the unified panel without any constraints.
@@ -65,19 +68,19 @@ and "vim.lsp.buf.outgoing_calls" will open the calltree window.
65
68
66
69
The calltree UI can be used as a unified panel or as individual elements.
67
70
68
-
A unified panel would feel similar to IDE's such as VSCode where you can "hide"
69
-
and "unhide" a persistent informational panel. Both the symbol tree and the call tree will
70
-
always be present in the toggled panel, unless you manually close a window.
71
-
Toggling the panel will recreate any closed windows. This functionality
72
-
is provided via the "CTPanel" command.
71
+
*calltree-unified-panel*
73
72
74
-
If you'd rather use each individual component separately this is possible
75
-
too. Utilize the "CTOpen/CTClose" and "STOpen/STClose" commands. These commands
76
-
will only open and close the respective UI components.
73
+
It's possible to treat Calltree.nvim's UI as a persistent but collapsible panel.
77
74
78
-
By default performing a "call-hierarchy" request for incoming or outgoing calls
79
-
does not assume a unified panel. If you'd like it to open the unified panel on LSP requests
80
-
then set "unified_panel" to true in the config. See *calltree-config*
75
+
This would be similar to VSCode and JetBrain IDEs, where an informational panel is present on the left, bottom, right, or top of the editor depending on configuration.
76
+
77
+
When enabling the unified panel, both the symboltree (document symbol outline) and the calltree (any recently requested call hierarchy outline) are always displayed together.
78
+
79
+
The "CTPanel" command may be used to open and collapse the unified panel when desired.
80
+
81
+
The configuration options `unified_panel` and `auto_open_panel` can be set to true to ensure the unified panel is opened when LSP requests are made and the unified panel is opened on Neovim's start, respectively.
82
+
83
+
The unified panel is completely opt-in. By keeping the `unified_panel` and `auto_open_panel` options false only the respectively Calltree.nvim UI elements will open when LSP requests are made. Furthermore, you can use ":CTPanel" freely without either option above set, if you'd like to "sometimes" use the unified panel without any constraints.
81
84
82
85
From there check out *calltree-commands* to manipulate the calltree UI.
0 commit comments