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:
Create "tags" from some source (e.g., readtags output)
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: