Sha256: 6e31382d12b86bac2ca9150ef8175c2161325f9d206a2adc79b2610c8c856397
Contents?: true
Size: 1.16 KB
Versions: 8
Compression:
Stored size: 1.16 KB
Contents
# -*- coding: utf-8 -*- # # @file # @brief # @author ongaeshi # @date 2013/05/03 require 'milkode/common/util' module Milkode class FastGotoline def initialize(gotolines, yaml) @gotolines = gotolines @yaml = yaml end def search_and_print(stdout) @gotolines.each do |gotoline| package_name, restpath = Util::divide_shortpath(gotoline[0][0]) package = @yaml.find_name(package_name) if package path = File.join(package.directory, restpath) relative_path = Util::relative_path(path, Dir.pwd).to_s lineno = gotoline[1] content = get_text_lineno(path, lineno) if content stdout.puts "#{relative_path}:#{lineno} #{content}" end end end end def get_text_lineno(path, no) index = no - 1 begin open(path, "r") do |file| file.each_with_index do |line, i| return line.chomp if i == index end end rescue Errno::ENOENT # ファイルが見つからない時もnilを返す end nil end end end
Version data entries
8 entries across 8 versions & 1 rubygems