Class: Mdlint::Linter::Rules::JapaneseSentenceLength
- Inherits:
-
Mdlint::Linter::Rule
- Object
- Mdlint::Linter::Rule
- Mdlint::Linter::Rules::JapaneseSentenceLength
- Includes:
- JapaneseHelpers
- Defined in:
- lib/mdlint/linter/rules/japanese.rb,
sig/internal.rbs
Constant Summary
Constants included from JapaneseHelpers
Mdlint::Linter::Rules::JapaneseHelpers::CJK, Mdlint::Linter::Rules::JapaneseHelpers::JAPANESE
Instance Attribute Summary
Attributes inherited from Mdlint::Linter::Rule
Instance Method Summary collapse
Methods included from JapaneseHelpers
#each_inline, #line_for, #prose_content
Methods inherited from Mdlint::Linter::Rule
#add_violation, #fix, inherited, #initialize
Constructor Details
This class inherits a constructor from Mdlint::Linter::Rule
Instance Method Details
#check(tokens, _source) ⇒ Object
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/mdlint/linter/rules/japanese.rb', line 109 def check(tokens, _source) maximum = @options.fetch(:sentence_length, 80).to_i return @violations if maximum <= 0 each_inline(tokens) do |token| prose_content(token).split(/(?<=[。!?!?])\s*/).each do |sentence| next if sentence.empty? || sentence.each_char.count <= maximum add_violation( message: "Sentence length #{sentence.each_char.count} exceeds #{maximum}", line: line_for(token), fixable: false ) end end @violations end |