File: completion.rb

package info (click to toggle)
ruby-gnome2 0.15.0-1.1etch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 7,704 kB
  • ctags: 8,558
  • sloc: ansic: 69,912; ruby: 19,511; makefile: 97; xml: 35; sql: 13
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(', "')}"]$