diff options
author | 2011-03-03 22:22:28 -0500 | |
---|---|---|
committer | 2011-03-03 22:22:28 -0500 | |
commit | 4016292a45a291fc11fb954c2a304c16b186d25b (patch) | |
tree | 5d7309e6d7a2858a8458adaf21dfc3d354e36a09 /modules | |
parent | fb9d3882a2db293eac04b18c0ca2995960f41b7e (diff) | |
download | textadept-4016292a45a291fc11fb954c2a304c16b186d25b.tar.gz textadept-4016292a45a291fc11fb954c2a304c16b186d25b.zip |
Remove non-toplevel class completions; modules/textadept/adeptsense.lua
Diffstat (limited to 'modules')
-rw-r--r-- | modules/textadept/adeptsense.lua | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/modules/textadept/adeptsense.lua b/modules/textadept/adeptsense.lua index 80cd67bb..01acbed2 100644 --- a/modules/textadept/adeptsense.lua +++ b/modules/textadept/adeptsense.lua @@ -415,6 +415,7 @@ end local function add_inherited(sense, class, only_fields, only_funcs, c, added) local inherited_classes = sense.inherited_classes[class] if not inherited_classes or added[class] then return end + _G.print(class, inherited_classes) local completions = sense.completions for _, inherited_class in ipairs(inherited_classes) do local inherited_completions = completions[inherited_class] @@ -472,10 +473,12 @@ function get_completions(sense, symbol, only_fields, only_functions) end add_inherited(sense, class, only_fields, only_functions, c, {}) - -- Remove duplicates. + -- Remove duplicates and non-toplevel classes (if necessary). table.sort(c) - local table_remove = table.remove - for i = #c, 2, -1 do if c[i] == c[i - 1] then table_remove(c, i) end end + local table_remove, nw_char = table.remove, '[^'..sense.syntax.word_chars..']' + for i = #c, 2, -1 do + if c[i] == c[i - 1] or c[i]:find(nw_char) then table_remove(c, i) end + end return c end |