9797--- Create header content for marks window
9898--- @param total_marks number Total number of marks
9999--- @param shown_marks number Number of marks shown
100- --- @param search_query string | nil Search query if any
100+ --- @param search_query string ? Search query if any
101101--- @return table lines Array of header lines
102102--- @return table highlights Array of highlight definitions
103103local function create_header_content (total_marks , shown_marks , search_query )
137137--- @param name string Mark name
138138--- @param mark table Mark data
139139--- @param index number Mark index
140+ --- @param line_idx number Line index for highlights
140141--- @return string line Formatted line
141142--- @return table highlights Array of highlight definitions for this line
142143local function create_minimal_mark_line (name , mark , index , line_idx )
239240
240241--- Create complete marks window content
241242--- @param marks table All marks data
242- --- @param search_query string | nil Optional search query
243+ --- @param search_query string ? Optional search query
243244--- @return table lines Array of content lines
244245--- @return table highlights Array of highlight definitions
245246--- @return table mark_info Mapping of line numbers to mark info
331332
332333--- Find mark information for current cursor position
333334--- @param mark_info table Mapping of line numbers to mark info
334- --- @return table | nil mark_info Mark info for cursor position
335+ --- @return table ? mark_info Mark info for cursor position
335336local function get_mark_under_cursor (mark_info )
336337 local line = vim .fn .line (" ." )
337338 local closest_mark = nil
353354--- @param marks table Marks data
354355--- @param project_name string Project name
355356--- @param mark_info table Mark info mapping
356- --- @param search_query string | nil Search query
357+ --- @param search_query string ? Search query
357358local function setup_window_keymaps (buf , marks , project_name , mark_info , search_query )
358359 local function refresh_window (new_search )
359360 local storage = require (" marksman.storage" )
511512-- Public API
512513
513514--- Setup the UI module
514- --- @param user_config table Plugin configuration
515+ --- @param user_config table ? Plugin configuration
515516function M .setup (user_config )
516517 config = user_config or {}
517518 setup_highlights ()
520521--- Show marks in floating window
521522--- @param marks table Marks data
522523--- @param project_name string Project name
523- --- @param search_query string | nil Optional search query
524+ --- @param search_query string ? Optional search query
524525function M .show_marks_window (marks , project_name , search_query )
525526 -- Close existing window
526527 close_window ()
@@ -540,9 +541,11 @@ function M.show_marks_window(marks, project_name, search_query)
540541
541542 local ok , err = pcall (function ()
542543 vim .api .nvim_buf_set_lines (buf , 0 , - 1 , false , lines )
543- vim .bo [buf ].modifiable = false
544- vim .bo [buf ].buftype = " nofile"
545- vim .bo [buf ].filetype = " marksman"
544+ -- Use vim.bo syntax instead of deprecated option setting
545+ local bufnr = buf
546+ vim .bo [bufnr ].modifiable = false
547+ vim .bo [bufnr ].buftype = " nofile"
548+ vim .bo [bufnr ].filetype = " marksman"
546549 end )
547550
548551 if not ok then
@@ -587,8 +590,10 @@ function M.show_marks_window(marks, project_name, search_query)
587590 current_window = win
588591 current_buffer = buf
589592
590- -- Set window highlight
591- pcall (vim .api .nvim_win_set_option , win , " winhighlight" , " Normal:Normal,FloatBorder:ProjectMarksBorder" )
593+ -- Set window highlight using vim.wo syntax
594+ pcall (function ()
595+ vim .wo [win ].winhighlight = " Normal:Normal,FloatBorder:ProjectMarksBorder"
596+ end )
592597
593598 -- Setup keymaps
594599 setup_window_keymaps (buf , marks , project_name , mark_info , search_query )
0 commit comments