Skip to content

JoshuaFurman/atlas.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

atlas.nvim

A lightweight Neovim plugin that displays a navigable Table of Contents for Markdown files in a floating window.

Features

  • 📝 Auto-generated TOC: Parses Markdown headers (#, ##, etc.) automatically.
  • 🪟 Floating Window: Displays the TOC in a centered floating window with rounded borders.
  • 🚀 Fast Navigation: Jump instantly to any header.
  • 🧠 Smart Parsing: Ignores comments inside code blocks.
  • 🎨 NVChad Friendly: Uses standard highlights and borders to match your theme.
  • 🔧 Zero Dependencies: Uses only Neovim built-in APIs.

Installation

Install with lazy.nvim:

{
  "JoshuaFurman/atlas.nvim",
  cmd = { "Atlas" },
  config = function()
    require("atlas").setup({})
  end,
}

If you are developing this locally, you can point to the local directory:

{
  dir = "/path/to/atlas",
  cmd = { "Atlas" },
  config = function()
    require("atlas").setup()
  end,
}

Usage

  1. Open a Markdown file.
  2. Run the command:
    :Atlas
  3. A floating window will appear with the Table of Contents.
    • j / k: Navigate up and down.
    • <Enter>: Jump to the selected header.
    • q / <Esc>: Close the window.

Configuration

The setup function accepts a table of options. Defaults are shown below:

require("atlas").setup({
  -- Ensure the command only runs on supported filetypes
  check_filetype = true,
})

About

A lightweight Neovim plugin that displays a navigable Table of Contents for Markdown files in a floating window.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages