diff options
-rw-r--r-- | modules/ansi_c/init.lua | 2 | ||||
-rw-r--r-- | modules/lua/init.lua | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/modules/ansi_c/init.lua b/modules/ansi_c/init.lua index 6ba97199..fff90d0f 100644 --- a/modules/ansi_c/init.lua +++ b/modules/ansi_c/init.lua @@ -31,7 +31,7 @@ textadept.editing.autocompleters.ansi_c = function() -- Retrieve the symbol behind the caret. local line, pos = buffer:get_cur_line() local symbol, op, part = line:sub(1, pos):match('([%w_]-)([%.%->]*)([%w_]*)$') - if symbol == '' and part == '' and op ~= '' then return nil end -- lone ., -> + if symbol == '' and part == '' then return nil end -- nothing to complete if op ~= '' and op ~= '.' and op ~= '->' then return nil end -- Attempt to identify the symbol type. if symbol ~= '' then diff --git a/modules/lua/init.lua b/modules/lua/init.lua index 02f9f7a6..ae3c76f9 100644 --- a/modules/lua/init.lua +++ b/modules/lua/init.lua @@ -37,7 +37,7 @@ textadept.editing.autocompleters.lua = function() -- Retrieve the symbol behind the caret. local line, pos = buffer:get_cur_line() local symbol, op, part = line:sub(1, pos):match('([%w_%.]-)([%.:]?)([%w_]*)$') - if symbol == '' and part == '' and op ~= '' then return nil end -- lone . + if symbol == '' and part == '' then return nil end -- nothing to complete symbol, part = symbol:gsub('^_G%.?', ''), part ~= '_G' and part or '' -- Attempt to identify string type and file type symbols. local buffer = buffer @@ -68,6 +68,7 @@ textadept.editing.autocompleters.lua = function() end end end + if #list == 1 and list[1]:find(name_patt..'%?') then return nil end return #part, list end |