universal-ctags / citre

A superior code reading & auto-completion tool with pluggable backends.
GNU General Public License v3.0
326 stars 26 forks source link

refactor: separate module for tag data structure and its APIs #102

Closed AmaiKinono closed 2 years ago

AmaiKinono commented 2 years ago

This is the first step in my plan of making Citre more modular.

citre-tag.el defines the "tag" data structure, and APIs to create/use them. "tags" are closely modeled after tags files generated by uctags, but logically, it's not bind to any specific program or format. See its "commentary" section for details.

The next step is to refactor all the user tools to APIs that accepts a list of tags, and show them in appropriate UI. By doing so, we decouple the UI with its backend (ctags, global...). The goal is to make it easier to extend the user tools (I have secret cool plans on this ;))

So at the end we have a "tags" library and a "UI" library. A backend are created by:

TODO: