@@ -110,7 +110,7 @@ With Lazy:
110110``` lua
111111--- @module " neominimap.config.meta"
112112{
113- " Isrothy/neominimap.nvim" ,
113+ " Isrothy/neominimap.nvim" ,
114114 version = " v3.x.x" ,
115115 lazy = false , -- NOTE: NO NEED to Lazy load
116116 -- Optional. You can alse set your own keybindings
@@ -275,7 +275,7 @@ vim.g.neominimap = {
275275 --- Border style of the floating window.
276276 --- Accepts all usual border style options (e.g., "single", "double")
277277 --- @type string | string[] | [string , string][]
278- window_border = " single" ,
278+ window_border = vim . fn . has ( " nvim-0.11 " ) == 1 and vim . opt . winborder : get () or " single" ,
279279
280280 -- When true, the floating window will be recreated when you close it.
281281 -- When false, the minimap will be disabled for the current tab when you close the minimap window.
@@ -298,7 +298,24 @@ vim.g.neominimap = {
298298
299299 diagnostic = {
300300 enabled = true , --- @type boolean
301- severity = vim .diagnostic .severity .WARN , --- @type vim.diagnostic.SeverityInt
301+
302+ -- When enabled, diagnostics will be sourced directly from the DiagnosticChanged event,
303+ -- meaning they will follow the settings from vim.diagnostic.config.
304+ -- In this mode, the `severity` filter is ignored.
305+ use_event_diagnostics = false , --- @type boolean
306+
307+ -- The `severity` option specifies which diagnostics to include based on their severity.
308+ -- Note: This option is ignored when `use_event_diagnostics` is enabled.
309+ --
310+ -- Allowed formats for the `severity` filter:
311+ -- 1. A single severity level:
312+ -- eg: severity = vim.diagnostic.severity.WARN
313+ -- 2. A table with a "min" and/or "max" key:
314+ -- eg: severity = { min = vim.diagnostic.severity.WARN, max = vim.diagnostic.severity.ERROR }
315+ -- 3. A list-like table of severity values:
316+ -- eg: severity = { vim.diagnostic.severity.WARN, vim.diagnostic.severity.ERROR }
317+ --- @see vim.diagnostic.severity
318+ severity = nil , --- @type vim.diagnostic.SeverityFilter ?
302319 mode = " line" , --- @type Neominimap.Handler.Annotation.Mode
303320 priority = {
304321 ERROR = 100 , --- @type integer
@@ -504,84 +521,84 @@ To refresh the minimap for windows 3 and 4:
504521
505522- Global API
506523
507- - ` require('neominimap').on () `
524+ - ` require('neominimap.api ').enable () `
508525
509526 - ** Description:** Enable the minimap globally across all buffers and windows.
510527 - ** Arguments:** None
511528
512- - ` require('neominimap').off () `
529+ - ` require('neominimap.api ').disable () `
513530
514531 - ** Description:** Disable the minimap globally.
515532 - ** Arguments:** None
516533
517- - ` require('neominimap').toggle() `
534+ - ` require('neominimap.api ').toggle() `
518535
519536 - ** Description:** Toggle the minimap on or off globally.
520537 - ** Arguments:** None
521538
522- - ` require('neominimap').refresh() `
539+ - ` require('neominimap.api ').refresh() `
523540
524541 - ** Description:** Refresh the minimap globally.
525542 - ** Arguments:** None
526543
527- - ` require('neominimap').enabled() `
544+ - ` require('neominimap.api ').enabled() `
528545
529546 - ** Description:** Check if the minimap is enabled globally.
530547 - ** Arguments:** None
531548 - ** Returns:** ` true ` if the minimap is enabled, ` false ` otherwise
532549
533550- Buffer API
534551
535- - ` require('neominimap').bufOn (<bufnr>) `
552+ - ` require('neominimap.api ').buf.enable (<bufnr>) `
536553
537554 - ** Description:** Enable the minimap for specified buffers.
538- - ** Arguments:** List of buffer numbers (defaults to current buffer if list is empty)
555+ - ** Arguments:** None (defaults to current buffer), or an integer or a list of buffer numbers
539556
540- - ` require('neominimap').bufOff (<bufnr>) `
557+ - ` require('neominimap.api ').buf.disable (<bufnr>) `
541558
542559 - ** Description:** Disable the minimap for specified buffers.
543- - ** Arguments:** List of buffer numbers (defaults to current buffer if list is empty)
560+ - ** Arguments:** None (defaults to current buffer), or an integer or a list of buffer numbers
544561
545- - ` require('neominimap').bufToggle (<bufnr>) `
562+ - ` require('neominimap.api ').buf.toggle (<bufnr>) `
546563
547564 - ** Description:** Toggle the minimap for specified buffers.
548- - ** Arguments:** List of buffer numbers (defaults to current buffer if list is empty)
565+ - ** Arguments:** None (defaults to current buffer), or an integer or a list of buffer numbers
549566
550- - ` require('neominimap').bufRefresh (<bufnr>) `
567+ - ` require('neominimap.api ').buf.refresh (<bufnr>) `
551568
552569 - ** Description:** Refresh the minimap buffers for specified buffers.
553- - ** Arguments:** List of buffer numbers (defaults to current buffer if list is empty)
570+ - ** Arguments:** None (defaults to current buffer), or an integer or a list of buffer numbers
554571
555- - ` require('neominimap').bufEnabled (bufnr) `
572+ - ` require('neominimap').buf.enabled (bufnr) `
556573
557574 - ** Description:** Check if the minimap is enabled for specified buffers.
558575 - ** Arguments:** A buffer number. If no buffer is specified, check for the
559576 current buffer.
560577 - ** Returns:** ` true ` if the minimap is enabled, ` false ` otherwise
561578
562- - Tabpage API
579+ - Tab API
563580
564- - ` require('neominimap').tabOn (<tabid>) ` \*
581+ - ` require('neominimap.api ').tab.enable (<tabid>) `
565582
566583 - ** Description:** Enable the minimap for specified tabpages.
567- - ** Arguments:** List of tabpage IDs (defaults to current tabpage if list is empty)
584+ - ** Arguments:** None (defaults to current tabage), or an integer or a list of tabpage IDs
568585
569- - ` require('neominimap').tabOff (<tabid>) `
586+ - ` require('neominimap.api ').tab.disable (<tabid>) `
570587
571588 - ** Description:** Disable the minimap for specified tabpages.
572- - ** Arguments:** List of tabpage IDs (defaults to current tabpage if list is empty)
589+ - ** Arguments:** None (defaults to current tabage), or an integer or a list of tabpage IDs
573590
574- - ` require('neominimap').tabToggle (<tabid>) `
591+ - ` require('neominimap.api ').tab.toggle (<tabid>) `
575592
576593 - ** Description:** Toggle the minimap for specified tabpages.
577- - ** Arguments:** List of tabpage IDs (defaults to current tabpage if list is empty)
594+ - ** Arguments:** None (defaults to current tabage), or an integer or a list of tabpage IDs
578595
579- - ` require('neominimap').tabRefresh( tabid) `
596+ - ` require('neominimap.api ').tab.refresh(< tabid> ) `
580597
581598 - ** Description:** Refresh the minimap tabs for specified tabpages.
582- - ** Arguments:** List of tabpage IDs (defaults to current tabpage if list is empty)
599+ - ** Arguments:** None (defaults to current tabage), or an integer or a list of tabpage IDs
583600
584- - ` require('neominimap').tabEnabled (tabid) `
601+ - ` require('neominimap').tab.enabled (tabid) `
585602
586603 - ** Description:** Check if the minimap is enabled for specified tabpages.
587604 - ** Arguments:** A tabpage ID. If no tabpage is specified, check for the
@@ -590,27 +607,27 @@ To refresh the minimap for windows 3 and 4:
590607
591608- Window API
592609
593- - ` require('neominimap').winOn (<winid>) `
610+ - ` require('neominimap.api ').win.enable (<winid>) `
594611
595612 - ** Description:** Enable the minimap for specified windows.
596- - ** Arguments:** List of window IDs (defaults to current window if list is empty)
613+ - ** Arguments:** None (defaults to current window), or an integer or a list of window IDs
597614
598- - ` require('neominimap').winOff (<winid>) `
615+ - ` require('neominimap.api ').win.disable (<winid>) `
599616
600617 - ** Description:** Disable the minimap for specified windows.
601- - ** Arguments:** List of window IDs (defaults to current window if list is empty)
618+ - ** Arguments:** None (defaults to current window), or an integer or a list of window IDs
602619
603- - ` require('neominimap').winToggle (<winid>) `
620+ - ` require('neominimap.api ').win.toggle (<winid>) `
604621
605622 - ** Description:** Toggle the minimap for specified windows.
606- - ** Arguments:** List of window IDs (defaults to current window if list is empty)
623+ - ** Arguments:** None (defaults to current window), or an integer or a list of window IDs
607624
608- - ` require('neominimap').winRefresh (<winid>) `
625+ - ` require('neominimap.api ').win.refresh (<winid>) `
609626
610627 - ** Description:** Refresh the minimap windows for specified windows.
611- - ** Arguments:** List of window IDs (defaults to current window if list is empty)
628+ - ** Arguments:** None (defaults to current window), or an integer or a list of window IDs
612629
613- - ` require('neominimap').winEnabled (winid) `
630+ - ` require('neominimap').win.enable (winid) `
614631
615632 - ** Description:** Check if the minimap is enabled for specified windows.
616633 - ** Arguments:** A window ID. If no window is specified, check for the
@@ -619,20 +636,80 @@ To refresh the minimap for windows 3 and 4:
619636
620637- Focus Control
621638
622- - ` require('neominimap').focus() `
639+ - ` require('neominimap.api ').focus.enable () `
623640
624641 - ** Description:** Focus the minimap window, allowing interaction with it.
625642 - ** Arguments:** None
626643
627- - ` require('neominimap').unfocus () `
644+ - ` require('neominimap.api ').focus.disable () `
628645
629646 - ** Description:** Unfocus the minimap window, returning focus to the editor.
630647 - ** Arguments:** None
631648
632- - ` require('neominimap').toggleFocus () `
649+ - ` require('neominimap.api ').focus.toggle () `
633650 - ** Description:** Toggle focus between the minimap and the main editor window.
634651 - ** Arguments:** None
635- </details >
652+
653+ ### Migration Guide
654+
655+ <details >
656+ <summary > Click to expand </summary >
657+
658+ The neominimap API has been updated to provide a more intuitive and flexible interface.
659+ The old API is now deprecated and will eventually be removed.
660+ This guide will help you transition to the new neominimap.api.
661+
662+ | Old Function | New Function |
663+ | ----------------------------------- | ----------------------------------------- |
664+ | ` require('neominimap').on ` | ` require('neominimap.api').enable ` |
665+ | ` require('neominimap').off ` | ` require('neominimap.api').disable ` |
666+ | ` require('neominimap').toggle ` | ` require('neominimap.api').toggle ` |
667+ | ` require('neominimap').refresh ` | ` require('neominimap.api').refresh ` |
668+ | ` require('neominimap').enabled ` | ` require('neominimap.api').enabled ` |
669+ | ` require('neominimap').bufOn ` | ` require('neominimap.api').buf.enable ` |
670+ | ` require('neominimap').bufOff ` | ` require('neominimap.api').buf.disable ` |
671+ | ` require('neominimap').bufToggle ` | ` require('neominimap.api').buf.toggle ` |
672+ | ` require('neominimap').bufRefresh ` | ` require('neominimap.api').buf.refresh ` |
673+ | ` require('neominimap').bufEnabled ` | ` require('neominimap.api').buf.enabled ` |
674+ | ` require('neominimap').tabOn ` | ` require('neominimap.api').tab.disable ` |
675+ | ` require('neominimap').tabOff ` | ` require('neominimap.api').tab.disable ` |
676+ | ` require('neominimap').tabToggle ` | ` require('neominimap.api').tab.toggle ` |
677+ | ` require('neominimap').tabRefresh ` | ` require('neominimap.api').tab.refresh ` |
678+ | ` require('neominimap').tabEnabled ` | ` require('neominimap.api').tab.enabled ` |
679+ | ` require('neominimap').winOn ` | ` require('neominimap.api').win.enable ` |
680+ | ` require('neominimap').winOff ` | ` require('neominimap.api').win.disable ` |
681+ | ` require('neominimap').winToggle ` | ` require('neominimap.api').win.toggle ` |
682+ | ` require('neominimap').winEnabled ` | ` require('neominimap.api').win.enabled ` |
683+ | ` require('neominimap').winRefresh ` | ` require('neominimap.api').win.refresh ` |
684+ | ` require('neominimap').focus ` | ` require('neominimap.api').focus.enable ` |
685+ | ` require('neominimap').unfocus ` | ` require('neominimap.api').focus.disable ` |
686+ | ` require('neominimap').toggleFocus ` | ` require('neominimap.api').focus.toggle ` |
687+
688+ #### Key Differences Between the Old and New API
689+
690+ | Aspect | Old API (` neominimap ` ).doSomeThing | New API (` neominimap.api ` ).do_some_thing() |
691+ | ----------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
692+ | Input Type | Expects a list of integers. | Accepts ` nil ` , a single integer, or a list of integers. An empty list does nothing. |
693+ | Default Behavior | Automatically defaults to the current buffer/tab/window if the input list is empty. | Explicitly requires omitted input to default to the current buffer/tab/window. |
694+ | Design Philosophy | A wrapper for Vim commands, with implicit behaviors. | Independent of Vim commands. |
695+
696+ #### Handle Input Changes
697+
698+ - ** Old Behavior:** Passing an empty list (` {} ` ) defaulted to the current buffer, tab, or window.
699+ - ** New Behavior:** Passing an empty list does nothing.
700+ To default to the current context, pass ` nil ` or omit the argument.
701+
702+ Here is an example:
703+
704+ ``` lua
705+ -- Old API
706+ require (' neominimap' ).bufOn ({}) -- Defaults to current buffer
707+ -- New API
708+ require (' neominimap.api' ).buf .enable () -- Explicitly defaults to current buffer
709+ require (' neominimap.api' ).buf .enable ({}) -- Does nothing
710+ ```
711+
712+ </details >
636713
637714## Customized Handlers
638715
0 commit comments