aboutsummaryrefslogtreecommitdiff
path: root/modules/textadept
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2011-03-03 22:22:28 -0500
committermitchell <70453897+667e-11@users.noreply.github.com>2011-03-03 22:22:28 -0500
commit4016292a45a291fc11fb954c2a304c16b186d25b (patch)
tree5d7309e6d7a2858a8458adaf21dfc3d354e36a09 /modules/textadept
parentfb9d3882a2db293eac04b18c0ca2995960f41b7e (diff)
downloadtextadept-4016292a45a291fc11fb954c2a304c16b186d25b.tar.gz
textadept-4016292a45a291fc11fb954c2a304c16b186d25b.zip
Remove non-toplevel class completions; modules/textadept/adeptsense.lua
Diffstat (limited to 'modules/textadept')
-rw-r--r--modules/textadept/adeptsense.lua9
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