File: completion.rb

package info (click to toggle)
ruby-gnome2 0.19.3-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 11,556 kB
  • ctags: 14,033
  • sloc: ansic: 83,294; ruby: 33,426; makefile: 3,721; cpp: 47; xml: 35
file content (45 lines) | stat: -rw-r--r-- 967 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
=begin
  completion.rb - Sample for GLib::Completion

  Copyright (C) 2005 Ruby-GNOME2 Project Team
  This program is licenced under the same licence as Ruby-GNOME2.

  $Id: completion.rb,v 1.1 2005/10/14 19:10:07 mutoh Exp $
=end

require 'glib2'

###########################
# Simple String completion
###########################
ary = ["a_", "a_ab", "aac", "aabc", "aabcd"]
comp = GLib::Completion.new
comp.add_items(ary)
p comp.complete("a_")
p comp.complete("aab")

puts "-----------"


############################
# Class completion and UTF-8
############################
class Test
  def initialize(str)
    @str = str
  end
  def value
    @str
  end
end

ary2 = [Test.new("あ_"), Test.new("あ_あい"), 
  Test.new("ああab"), Test.new("ああabc"), Test.new("ああbcd")]

comp2 = GLib::Completion.new {|data|
  data.value
}

comp2.add_items(ary2)
puts %Q$["#{comp2.complete("あ_").join(', "')}"]$
puts %Q$["#{comp2.complete("ああa").join(', "')}"]$