Class: Autocomplete
- Inherits:
-
Object
- Object
- Autocomplete
- Defined in:
- lib/vimamsa/gui_sourceview_autocomplete.rb
Constant Summary collapse
- @@trie =
Rambling::Trie.create
Class Method Summary collapse
- .add_words(words) ⇒ Object
- .init ⇒ Object
- .matching_words(beginning) ⇒ Object
- .update_dict ⇒ Object
- .update_index(bu) ⇒ Object
- .word_list ⇒ Object
Class Method Details
.add_words(words) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/vimamsa/gui_sourceview_autocomplete.rb', line 25 def self.add_words(words) for w in words if w.size < 100 @@trie << w end end end |
.init ⇒ Object
7 8 9 |
# File 'lib/vimamsa/gui_sourceview_autocomplete.rb', line 7 def self.init vma.hook.register(:file_saved, self.method("update_index")) end |
.matching_words(beginning) ⇒ Object
37 38 39 |
# File 'lib/vimamsa/gui_sourceview_autocomplete.rb', line 37 def self.matching_words(beginning) return @@trie.scan(beginning) end |
.update_dict ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/vimamsa/gui_sourceview_autocomplete.rb', line 16 def self.update_dict for bu in vma.buffers.list for w in bu.scan_all_words trie << w end end @@trie = trie end |
.update_index(bu) ⇒ Object
11 12 13 14 |
# File 'lib/vimamsa/gui_sourceview_autocomplete.rb', line 11 def self.update_index(bu) debug "self.update_index", 2 add_words bu.scan_all_words end |
.word_list ⇒ Object
33 34 35 |
# File 'lib/vimamsa/gui_sourceview_autocomplete.rb', line 33 def self.word_list return @@dict.keys end |