Skip to content

Releases: LintaoAmons/bookmarks.nvim

v2.6.1

20 Jan 14:54
Compare
Choose a tag to compare

Improved Telescope Integration

image
  • Enhanced bookmark picker with better formatting
  • Added customizable entry display for telescope results
  • New config option picker.entry_display for custom display formats

UI Improvements

  • Added customizable active list icon via treeview.active_list_icon
  • Reduced backup notification noise
  • Updated README with new screenshots and documentation
image

Custom Command Bindings

  • Added documentation for binding commands to shortcuts
  • New examples showing how to create custom commands
vim.keymap.set({ "n", "v" }, "Bd", function()
  require("bookmarks.commands").delete_mark_of_current_file()
end)

v2.6.0

17 Jan 14:20
68cdcf6
Compare
Choose a tag to compare

Features

  • Added custom bookmark rendering with distinct icons for bookmarks with/without descriptions
  • Implemented configurable highlighting for active bookmarks list
  • Added support for custom colors, bold text, and background in tree view

BookmarksTree render configuration

image

Basic Setup

Add this to your Neovim config:

require('bookmarks').setup({
  -- Basic settings
  treeview = {
    -- Customize how bookmarks appear
    render_bookmark = function(node)
      -- Change these icons to your preference
      local icon = node.description and "‚óè" or "‚óã"  -- Filled/Empty dot
      return icon .. " " .. node.name
    end,
    
    -- Style the active bookmark highlight
    highlights = {
      active_list = {
        bg = "#2C323C",    -- Background color
        fg = "#ffffff",    -- Text color
        bold = true,       -- Make text bold
      },
    },
    
    -- Window size
    window_split_dimension = 30,  -- Width of tree view
  }
})

Key Features

  1. Default render logic: Change bookmark appearance based on whether they have descriptions in treeview

    • Bookmarks with descriptions: ‚óè
    • Bookmarks without descriptions: ‚óã
  2. Visual Styling: Customize active bookmark highlighting

    • Background color
    • Text color
    • Text boldness

Full Changelog: v2.5.0...v2.6.0

v2.5.0

16 Jan 14:56
155d761
Compare
Choose a tag to compare

Release Notes

New Features

Query Interface

  • Added new :BookmarksQuery command to browse and filter bookmarks
  • Interactive query builder with real-time results display
  • Support for complex filtering conditions including:
    • Name/description/content search
    • File path filtering
    • Creation/visit time ranges
    • Custom ordering and limits

Bookmark Management

  • Added ability to create new lists from current file bookmarks
  • Added command to delete all bookmarks from current file
  • New mapper utility to convert between database rows and bookmark nodes

UI Improvements

  • New table presentation view for query results
  • Support for custom column ordering and width limits
  • Interactive filter building with status display

Technical Changes

  • Added SQLite query interface for direct database access
  • Improved error handling and user notifications
  • Added state management for query interface
  • New utilities for parsing and validating query conditions

Usage

Basic Query Commands

:BookmarksQuery                     " Open query interface
<localleader>f                      " Add filter condition
<localleader>d                      " Clear filter conditions

Full Changelog: v2.4.0...v2.5.0

v2.4.0

31 Dec 04:23
3323bfe
Compare
Choose a tag to compare

RELEASE NOTE: Added automatic database backup feature. Bookmarks database is now automatically backed up after Neovim starts (configurable delay). Example config:

require('bookmarks').setup({
  backup = {
    enabled = true,      -- enable/disable backup
    -- Directory to store backup files
    -- Default: vim.fn.stdpath("data").."/bookmarks.backup"
    -- You can set a custom directory
    ---@type string?
    dir = '~/.backups',
    delay = 5           -- delay in minutes before backup starts, no back will be created if nvim earlier than the actually backup time
  }
})

What's Changed

Full Changelog: v2.3.0...v2.4.0

v2.3.0

28 Dec 13:06
4648756
Compare
Choose a tag to compare

Goto Next/Prev mark in the list:

Use case:

Assume a situation where we might be exploring some code base we are not familiar with containing littered logic
We bookmark some places of interest first and write some description for it. At first we do not know the meaningful order we want to traverse them so these are bookmarked in random order.

What's Changed

Full Changelog: v2.2.0...v2.3.0

v2.2.0

26 Dec 10:14
dcdab8a
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.0.2...v2.2.0

Release Notes v2.1.0

17 Dec 10:31
Compare
Choose a tag to compare

Release Notes

New Features

  • Added BookmarkRebindOrphanNode command to fix orphaned nodes by attaching them to root
  • Added reverse sorting in tree view with t key
  • Added auto-refresh of tree view when making bookmark changes
  • Added centering cursor (zz) after jumping to bookmark

Improvements

  • Enhanced paste operation to prevent pasting lists into themselves
  • Improved node deletion to clean up all relationships
  • Enhanced bookmark info display to handle missing location data
  • Updated tree view to maintain proper node ordering during cut/paste operations

Bug Fixes

  • Fixed orphaned nodes handling in database operations
  • Fixed node relationships cleanup during deletion
  • Fixed tree view refresh issues after list creation

Release Notes v2.0.1

15 Dec 02:41
Compare
Choose a tag to compare

Release Notes v2.0.1

🔨 Improvements

  • Enhanced Active List Management: Improved handling of active bookmark lists with new ensure_and_get_active_list function

    • Better fallback behavior when active list is not found
    • Automatic cleanup of stale active list references
    • More robust error handling
  • List Creation Changes:

    • Removed automatic bookmark creation when creating new lists
    • Lists are now created empty by default

🐛 Bug Fixes

  • Fixed potential errors when accessing non-existent active lists
  • Improved stability when switching between bookmark lists
  • Better handling of edge cases in list management

💡 Technical Details

  • Renamed get_active_list to ensure_and_get_active_list for better clarity
  • Added automatic fallback to root list when active list is invalid
  • Updated all internal calls to use the new active list handling

📝 Note

If you're upgrading from a previous version, no database migration is needed. The changes are backwards compatible.

V2.0.0

14 Dec 13:21
404b3c1
Compare
Choose a tag to compare

Changelog for v2.0.0

Breaking Changes

  • Switched from JSON file storage to SQLite database for better performance and data integrity
  • Removed JSON backup functionality
  • Removed project-related features
  • Removed hooks system
  • Changed configuration structure and defaults
  • Removed several commands in favor of a more streamlined interface

New Features

  • Added SQLite database backend
  • Added Telescope shortcuts for better workflow
  • Added description support for bookmarks
  • Added tree view improvements with better navigation and visualization
  • Added grep functionality for bookmarked files
  • Added bookmark info display
  • Added ability to move bookmarks up/down in lists
  • Added visual indicators for active lists
  • Added better support for untitled bookmarks

Changed Commands

  • BookmarksMark - Simplified toggle behavior
  • BookmarksGoto - Added split/vsplit/tab options
  • Added BookmarksDesc - New command for bookmark descriptions
  • Added BookmarksGrep - New command for searching bookmark content
  • Added BookmarksLists - New command for list management
  • Added BookmarksNewList - Dedicated command for creating lists
  • Added BookmarksInfo - New command for plugin status
  • Added BookmarksInfoCurrentBookmark - New command for bookmark details
  • Removed BookmarksGotoRecent - No longer needed
  • Removed BookmarksEditJsonFile - No longer relevant with SQLite
  • Removed BookmarksCalibration - Replaced with automatic calibration

Configuration Changes

  • New database configuration options
  • Simplified sign configuration
  • Improved tree view configuration
  • Added calibration settings
  • Added custom command support
  • Removed project and hook configurations

UI Improvements

  • Better tree view navigation
  • Improved visual feedback for active lists
  • Enhanced bookmark formatting
  • Better window management for descriptions and info displays

Internal Changes

  • Complete architecture overhaul
  • Better separation of concerns
  • Improved error handling
  • More robust data management
  • Better test coverage

v1.4.2 Without breaking change warning

26 Nov 03:45
Compare
Choose a tag to compare

Pin to this version so you can avoid breaking change and also get rid of the warning msg

Full Changelog: v1.4.1...v1.4.2