Method: Textbringer::TCodeInputMethod#mazegaki_relimit_left

Defined in:
lib/textbringer/input_methods/t_code_input_method.rb

#mazegaki_relimit_leftObject



287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
# File 'lib/textbringer/input_methods/t_code_input_method.rb', line 287

def mazegaki_relimit_left
  with_target_buffer do |buffer|
    yomi = nil
    start_pos = nil
    mazegaki_reset
    buffer.save_excursion do
      pos = buffer.point
      buffer.goto_char(@mazegaki_start_pos)
      s = buffer.substring(buffer.point, pos)
      (MAZEGAKI_MAX_WORD_LEN - s.size).times do
        break if buffer.beginning_of_buffer?
        buffer.backward_char
        s = buffer.substring(buffer.point, pos)
        yomi = mazegaki_lookup_yomi(s, @mazegaki_convert_with_inflection)
        if yomi
          start_pos = buffer.point
          break
        end
      end
      if start_pos.nil?
        message("Can't relimit left")
        start_pos = @mazegaki_start_pos
        yomi = @mazegaki_yomi
      end
    end
    mazegaki_convert(start_pos, yomi)
    Window.redisplay
  end
end