@@ -16,8 +16,6 @@ local DEFAULT_MIN_WIDTH = 30
1616local DEFAULT_MAX_WIDTH = - 1
1717local DEFAULT_PADDING = 1
1818
19- -- TODO #2826 attempt to type the tables, at least the options ones
20-
2119--- @class (exact ) View : Class
2220--- @field live_filter table
2321--- @field side string
@@ -26,11 +24,10 @@ local DEFAULT_PADDING = 1
2624--- @field private adaptive_size boolean
2725--- @field private centralize_selection boolean
2826--- @field private tabpages table
29- --- @field private cursors table
27+ --- @field private cursors table<integer , integer[]> as per vim.api.nvim_win_get_cursor
3028--- @field private hide_root_folder boolean
3129--- @field private winopts table
3230--- @field private height integer
33- --- @field private tab table
3431--- @field private preserve_window_proportions boolean
3532--- @field private initial_width integer
3633--- @field private width (fun (): integer )| integer | string
@@ -50,27 +47,30 @@ local View = Class:extend()
5047function View :new (args )
5148 self .explorer = args .explorer
5249 self .adaptive_size = false
53- self .centralize_selection = false
54- self .tabpages = {}
55- self .cursors = {}
56- self .hide_root_folder = false
5750 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+
6161 self .winopts = {
62- relativenumber = false ,
63- number = false ,
62+ relativenumber = self . explorer . opts . view . relativenumber ,
63+ number = self . explorer . opts . view . number ,
6464 list = false ,
6565 foldenable = false ,
6666 winfixwidth = true ,
6767 winfixheight = true ,
6868 spell = false ,
69- signcolumn = " yes " ,
69+ signcolumn = self . explorer . opts . view . signcolumn ,
7070 foldmethod = " manual" ,
7171 foldcolumn = " 0" ,
7272 cursorcolumn = false ,
73- cursorline = true ,
73+ cursorline = self . explorer . opts . view . cursorline ,
7474 cursorlineopt = " both" ,
7575 colorcolumn = " 0" ,
7676 wrap = false ,
@@ -90,20 +90,7 @@ function View:new(args)
9090 }, " ," ),
9191 }
9292
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-
10593 self :configure_width (self .explorer .opts .view .width )
106-
10794 self .initial_width = self :get_width ()
10895end
10996
330317
331318--- @param tabpage integer | nil
332319function View :close (tabpage )
333- if self .tab .sync .close then
320+ if self .explorer . opts . tab .sync .close then
334321 self :close_all_tabs ()
335322 elseif tabpage then
336323 self :close_internal (tabpage )
0 commit comments