@@ -27,6 +27,7 @@ should you!
27
27
- Neo-tree can intelligently follow the current file (set ` follow_current_file=true ` )
28
28
- Neo-tree is thoughtful about maintaining or setting focus on the right node
29
29
- Neo-tree windows in different tabs are completely separate
30
+ - ` respect_gitignore ` actually works!
30
31
31
32
Neo-tree is smooth, efficient, stable, and pays attention to the little details.
32
33
If you find anything janky, wanky, broken, or unintuitive, please open an issue
43
44
requires = {
44
45
" nvim-lua/plenary.nvim" ,
45
46
" kyazdani42/nvim-web-devicons" , -- not strictly required, but recommended
46
- " MunifTanjim/nui.nvim"
47
+ " MunifTanjim/nui.nvim"
47
48
},
48
49
config = function ()
49
50
require (" neo-tree" ).setup ({
@@ -138,9 +139,27 @@ use {
138
139
end
139
140
}
140
141
```
142
+
141
143
_ The above configuration is not everything that can be changed, it's just the
142
144
parts you might want to change first._
143
145
146
+
147
+ See ` :h neo-tree ` for full documentation. You can also preview that online at
148
+ [ doc/neo-tree.txt] ( doc/neo-tree.txt ) , although it's best viewed within vim.
149
+
150
+
151
+ ### Config Options
152
+
153
+ To see all of the default config options with commentary, you can view it online
154
+ at [ lua/neo-tree/defaults.lua] ( lua/neo-tree/defaults.lua ) . You can also paste it
155
+ into your config after installing Neo-tree by running ` :NeoTreePasteConfig ` ,
156
+ which will paste the default config as a ` config ` table into the current buffer.
157
+ You can then change what you want in the pasted ` config ` table and pass it to
158
+ ` require("neo-tree").setup(config) `
159
+
160
+
161
+ ### Commands
162
+
144
163
Here are the various ways to open the tree:
145
164
146
165
```
@@ -181,6 +200,7 @@ at [neo-tree.txt](/doc/neo-tree.txt)
181
200
An example configuration for the filesystem source with proper syntax
182
201
highlighting can also be viewed at the [ filesystem README] ( /lua/neo-tree/sources/filesystem/README.md )
183
202
203
+
184
204
## Sources
185
205
186
206
Neo-tree is built on the idea of supporting various sources. Sources are
@@ -192,6 +212,13 @@ those items.
192
212
The default source is ` filesystem ` , which displays your files and folders. This
193
213
is the default source in commands when none is specified.
194
214
215
+ This source can be used to:
216
+ - Browse the filesystem
217
+ - Control the current working directory of nvim
218
+ - Add/Copy/Delete/Move/Rename files and directories
219
+ - Search the filesystem
220
+ - Monitor git status and lsp diagnostics for the current working directory
221
+
195
222
### buffers
196
223
![ Neo-tree buffers] ( https://github.com/nvim-neo-tree/resources/raw/main/images/Neo-tree-buffers.png )
197
224
@@ -220,18 +247,24 @@ built-in functions can be replaced with your own implementation, or you can
220
247
add new ones.
221
248
222
249
Each node in the tree is created from the renderer specified for the given node
223
- type, and each renderer is a list of component configs to be rendered in order
224
- for each node in the tree. Each component is a function, either built-in or
225
- specified in your config. Those functions are called with the config, node, and
226
- state of the plugin, and return the text and highlight group for the component.
250
+ type, and each renderer is a list of component configs to be rendered in order.
251
+ Each component is a function, either built-in or specified in your config. Those
252
+ functions simply return the text and highlight group for the component.
227
253
228
254
Additionally, there is an events system that you can hook into. If you want to
229
255
show some new data point related to your files, gather it in the
230
256
` before_render ` event, create a component to display it, and reference that
231
257
component in the renderer for the ` file ` and/or ` directory ` type.
232
258
233
- Details on how to configure everything is in the help file at ` :h neo-tree ` or
234
- online at [ neo-tree.txt] ( https://github.com/nvim-neo-tree/neo-tree.nvim/blob/main/doc/neo-tree.txt )
259
+ Details on how to configure everything is in the help file at `: h
260
+ neo-tree-configuration` or online at
261
+ [ neo-tree.txt] ( https://github.com/nvim-neo-tree/neo-tree.nvim/blob/main/doc/neo-tree.txt )
262
+
263
+ Recipes for customizations can be found on the [ wiki] ( wiki ) . Recipes include
264
+ things like adding a component to show the
265
+ [ Harpoon] ( https://github.com/ThePrimeagen/harpoon ) index for files, or
266
+ responding to the ` "file_opened" ` event to auto clear the search when you open a
267
+ file.
235
268
236
269
237
270
## Why?
@@ -276,7 +309,7 @@ major version, and the breaking change will happen in the next major version.
276
309
277
310
### Easy to Customize
278
311
279
- This will follow in the spirit of plugins like
312
+ Neo-tree follows in the spirit of plugins like
280
313
[ lualine.nvim] ( https://github.com/nvim-lualine/lualine.nvim ) and
281
314
[ nvim-cokeline] ( https://github.com/noib3/nvim-cokeline ) . Everything will be
282
315
configurable and take either strings, tables, or functions. You can take sane
0 commit comments