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
References
- [RUBYI18N]
Ruby I18n, https://github.com/ruby-i18n/i18n
- [ISOCODES]
iso-codes, https://salsa.debian.org/iso-codes-team/iso-codes