ctags-lang-i18nrubygem - Man Page

Random notes about tagging input for I18n Ruby Gem with Universal Ctags

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

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

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

See Also

ctags(1)

References

[RUBYI18N]

Ruby I18n, https://github.com/ruby-i18n/i18n

[ISOCODES]

iso-codes, https://salsa.debian.org/iso-codes-team/iso-codes

Info

6.1.0 Universal Ctags