ctags-lang-i18nrubgem(7) Universal Ctags ctags-lang-i18nrubgem(7)

# [Name](#Name)

ctags-lang-i18nrubgem - Random notes about tagging input for I18n Ruby Gem with Universal Ctags

# [SYNOPSIS](#SYNOPSIS)

```
ctags ... --extras=+s --languages=+I18nRubyGem ...
ctags ... --extras=+s --language-force=I18nRubyGem ...
ctags ... --extras=+s --map-I18nRubyGem=+.yaml ...
ctags ... --extras=+s --map-I18nRubyGem=+.yml ...
```

# [DESCRIPTION](#DESCRIPTION)

This man page gathers random notes about tagging input for I18n Ruby Gem \[RUBYI18N]. I18nRubyGem is a subparser running on Yaml parser. If a top-level scalar token of a given Yaml source input is a local name \[ISOCODES], I18nRubyGem activates itself. If not, I18nRubyGem does nothing.

"input.yaml"

```
---
ja:


  msg:


    error: エラー


    function: 関数
```

"output.tags" with "--options=NONE -o - --fields=+E input.yaml"

```
error   input.yaml      /^    error: エラー$/;"    k       keyInMiddle:ja.msg      extras:subparser
function        input.yaml      /^    function: 関数$/;"  k       keyInMiddle:ja.msg      extras:subparser
ja.msg.error    input.yaml      /^    error: エラー$/;"    k       keyInMiddle:ja.msg      extras:subparser,localeful
ja.msg.function input.yaml      /^    function: 関数$/;"  k       keyInMiddle:ja.msg      extras:subparser,localeful
msg.error       input.yaml      /^    error: エラー$/;"    k       locale:ja       extras:subparser,localeless
msg.function    input.yaml      /^    function: 関数$/;"  k       locale:ja       extras:subparser,localeless
```

With the options, the parser emits three tag entries for a key: "error", "js.msg.error", and "msg.error" for the key "error", The parser emits "error" at the first line always.

To emit "ja.msg.error", a **localeful** extra tag, at the fifth line always. If you specify **--extra=+q** or **--extra=+{qualified}**, ctags emits the same tag twice: a **localeful** tag, and a **qualified** tag. You can suppress the **localeful** extra tags., specify **--extras-I18nRubyGem=-{localeful}**.

To emit "msg.error", a **localeless** extra tag, at the fifth line always. The parser creates a **localeless** extra tag by truncating the first component (e.g. "ja.") from the associated full qualified extra tag (e.g. "ja.msg.error"). **localeless** extra is enabled by default. If you don't need **localeless** extra tags, specify **--extras-I18nRubyGem=-{localeless}**.

The parser doesn't make tag entries for top-level and mid-level components like **ja** and **msg** by default. If you need them, specify **--kinds-I18nRubyGem=+{locale}** and/or **--kinds-I18nRubyGem=+{keyInMiddle}**.

# [KNOWN BUGS](#KNOWN_BUGS)

The mechanism activating I18nRubyGem subparser doesn't work well for YAML source input containing multiple documents.

# [SEE ALSO](#SEE_ALSO)

[ctags(1)](/man/os/universal-ctags/ctags.1)

# [REFERENCES](#REFERENCES)

\[RUBYI18N]

Ruby I18n, &lt;https://github.com/ruby-i18n/i18n&gt;

\[ISOCODES]

iso-codes, &lt;https://salsa.debian.org/iso-codes-team/iso-codes&gt;

Expected feature: yaml

6.2.1

---

Document: ctags-lang-i18nrubygem(7) from universal-ctags 6.2.1-r1 (Chainguard OS)
Source: https://github.com/universal-ctags/ctags
