linrongbin16/gentags.nvim

github github
utility
stars 15
issues 1
subscribers 0
forks 1
CREATED

2023-12-08

UPDATED

8 months ago


gentags.nvim

To be honest, tags have become useless in Neovim today, since we have LSP and treesitter now. While there exists gap when LSP server or treesitter implementations are insufficient, and brings it back to us as a supplement to fill the gap.

Table of Contents

Features

  • Automatically run in background.
  • Support both workspace/single-file mode.
  • Full update on workspace open, incremental update on file save.
  • Terminate immediately on nvim leave.
  • Find the matching tags and load on workspace/file open.
  • Disk cache management and garbage collection.
  • Real-time status for Neovim components such as statusline.

Requirements

PRs are welcome to add other backends.

Install

require("lazy").setup({
  {
    "linrongbin16/gentags.nvim",
    config = function()
      require('gentags').setup()
    end,
  },
})
require("pckr").add({
  {
    "linrongbin16/gentags.nvim",
    config = function()
      require("gentags").setup()
    end,
  },
})

Configuration

To overwrite default options, please use:

require('gentags').setup(opts)

The otps is an optional lua table that overwrites default options.

For complete options and defaults, please see configs.lua.

Recommendations

Recommend use tags with below plugins to smooth your editing flow:

  • vista.vim: View and search symbols on current file.
  • cmp-nvim-tags: Code completion data source for nvim-cmp.
  • fzf.vim: The Tags and BTags commands in the fzf.vim fuzzy finder.
  • fzf-lua: The tags, btags and other commands in the fzf-lua fuzzy finder.
  • telescope.nvim: The builtin.tags vim picker in the telescope fuzzy finder.

Alternatives

Development

To develop the project and make PR, please setup with:

To run unit tests, please install below dependencies:

Then test with vusted ./test.

Contribute

Please open issue/PR for anything about gentags.nvim.

Like gentags.nvim? Consider

Github Sponsor Wechat Pay Alipay