<commit_before>#+title:   Ctags, readtags, and other tags plugins
#+author:  <NAME>
#+email:   <EMAIL>
#+date:    2022:11:14
#+tags:    ctags readtags universal
#+STARTUP: fold

* Citre
Citre is an advanced Emacs front-end for readtags.

** Usage
Open a file in your project, and run =M-x citre-update-this-tage-file=. If Citre
can't find a tags file for your project, it will guide you through creating one.

** =use-package= specification
#+begin_src emacs-lisp
  (use-package citre
    :demand t
    :custom
    (citre-use-project-root-when-creating-tags t)
    ;; Prompt for CTags languages instead of asking the user to edit the command
    ;; line.
    (citre-prompt-language-for-ctags-command t)
    :config
    (require 'citre-config))
#+end_src
<commit_msg>emacs: Use Citre everywhere<commit_after>#+title:   Ctags, readtags, and other tags plugins
#+author:  <NAME>
#+email:   <EMAIL>
#+date:    2022:11:14
#+tags:    ctags readtags universal
#+STARTUP: fold

* Citre
Citre is an advanced Emacs front-end for readtags.

** Usage
Open a file in your project, and run =M-x citre-update-this-tage-file=. If Citre
can't find a tags file for your project, it will guide you through creating one.

To update the tags file later, run the same command again: =M-x
citre-update-this-tags-file=. Subsequent runs will not prompt you for
configuration. To change the recipe you used to generate the tags file, execute
=M-x citre-edit-tags-file-recipe=.

** =use-package= specification
#+begin_src emacs-lisp
  (use-package citre
    :demand t
    :custom
    (citre-use-project-root-when-creating-tags t)
    ;; Prompt for CTags languages instead of asking the user to edit the command
    ;; line.
    (citre-prompt-language-for-ctags-command t)
    :config
    (require 'citre-config))
#+end_src

{'fraction_non_alphanumeric': 0.10746102449888642, 'fraction_numerical': 0.008908685968819599, 'mean_word_length': 3.691906005221932, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7043878', 'n_tokens_mistral': 634, 'n_tokens_neox': 603, 'n_words': 212}