@@ -16,8 +16,6 @@ local DEFAULT_MIN_WIDTH = 30
16
16
local DEFAULT_MAX_WIDTH = - 1
17
17
local DEFAULT_PADDING = 1
18
18
19
- -- TODO #2826 attempt to type the tables, at least the options ones
20
-
21
19
--- @class (exact ) View : Class
22
20
--- @field live_filter table
23
21
--- @field side string
@@ -26,11 +24,10 @@ local DEFAULT_PADDING = 1
26
24
--- @field private adaptive_size boolean
27
25
--- @field private centralize_selection boolean
28
26
--- @field private tabpages table
29
- --- @field private cursors table
27
+ --- @field private cursors table<integer , integer[]> as per vim.api.nvim_win_get_cursor
30
28
--- @field private hide_root_folder boolean
31
29
--- @field private winopts table
32
30
--- @field private height integer
33
- --- @field private tab table
34
31
--- @field private preserve_window_proportions boolean
35
32
--- @field private initial_width integer
36
33
--- @field private width (fun (): integer )| integer | string
@@ -50,27 +47,30 @@ local View = Class:extend()
50
47
function View :new (args )
51
48
self .explorer = args .explorer
52
49
self .adaptive_size = false
53
- self .centralize_selection = false
54
- self .tabpages = {}
55
- self .cursors = {}
56
- self .hide_root_folder = false
57
50
self .bufnr_per_tab = {}
58
- self .live_filter = {
59
- prev_focused_node = nil ,
60
- }
51
+ self .centralize_selection = self .explorer .opts .view .centralize_selection
52
+ self .cursors = {}
53
+ self .float = self .explorer .opts .view .float
54
+ self .height = self .explorer .opts .view .height
55
+ self .hide_root_folder = self .explorer .opts .renderer .root_folder_label == false
56
+ self .preserve_window_proportions = self .explorer .opts .view .preserve_window_proportions
57
+ self .side = (self .explorer .opts .view .side == " right" ) and " right" or " left"
58
+ self .tabpages = {}
59
+ self .live_filter = { prev_focused_node = nil , }
60
+
61
61
self .winopts = {
62
- relativenumber = false ,
63
- number = false ,
62
+ relativenumber = self . explorer . opts . view . relativenumber ,
63
+ number = self . explorer . opts . view . number ,
64
64
list = false ,
65
65
foldenable = false ,
66
66
winfixwidth = true ,
67
67
winfixheight = true ,
68
68
spell = false ,
69
- signcolumn = " yes " ,
69
+ signcolumn = self . explorer . opts . view . signcolumn ,
70
70
foldmethod = " manual" ,
71
71
foldcolumn = " 0" ,
72
72
cursorcolumn = false ,
73
- cursorline = true ,
73
+ cursorline = self . explorer . opts . view . cursorline ,
74
74
cursorlineopt = " both" ,
75
75
colorcolumn = " 0" ,
76
76
wrap = false ,
@@ -90,20 +90,7 @@ function View:new(args)
90
90
}, " ," ),
91
91
}
92
92
93
- self .centralize_selection = self .explorer .opts .view .centralize_selection
94
- self .side = (self .explorer .opts .view .side == " right" ) and " right" or " left"
95
- self .height = self .explorer .opts .view .height
96
- self .hide_root_folder = self .explorer .opts .renderer .root_folder_label == false
97
- self .tab = self .explorer .opts .tab
98
- self .preserve_window_proportions = self .explorer .opts .view .preserve_window_proportions
99
- self .winopts .cursorline = self .explorer .opts .view .cursorline
100
- self .winopts .number = self .explorer .opts .view .number
101
- self .winopts .relativenumber = self .explorer .opts .view .relativenumber
102
- self .winopts .signcolumn = self .explorer .opts .view .signcolumn
103
- self .float = self .explorer .opts .view .float
104
-
105
93
self :configure_width (self .explorer .opts .view .width )
106
-
107
94
self .initial_width = self :get_width ()
108
95
end
109
96
330
317
331
318
--- @param tabpage integer | nil
332
319
function View :close (tabpage )
333
- if self .tab .sync .close then
320
+ if self .explorer . opts . tab .sync .close then
334
321
self :close_all_tabs ()
335
322
elseif tabpage then
336
323
self :close_internal (tabpage )
0 commit comments