diff options
author | 2019-11-07 23:04:18 -0500 | |
---|---|---|
committer | 2019-11-07 23:04:18 -0500 | |
commit | e7d1e26a6db30304f61a59702cbca2f92d673af0 (patch) | |
tree | f35310bc03ac997178e00c50ee465fe0c8f4958d /modules/lua/init.lua | |
parent | 8778e3c1864dcd8ef1ae6669be446bb1b2ee2d18 (diff) | |
download | textadept-e7d1e26a6db30304f61a59702cbca2f92d673af0.tar.gz textadept-e7d1e26a6db30304f61a59702cbca2f92d673af0.zip |
Split Lua and Textadept autocompletion and documentation files.
Textadept autocompletion and documentation is now only performed on Textadept
files.
Modified the LuaDoc doclet to only process "lua.luadoc" on its own, and updated
the Makefile rule accordingly.
Diffstat (limited to 'modules/lua/init.lua')
-rw-r--r-- | modules/lua/init.lua | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/modules/lua/init.lua b/modules/lua/init.lua index 246caa59..9cbb06b5 100644 --- a/modules/lua/init.lua +++ b/modules/lua/init.lua @@ -76,6 +76,27 @@ textadept.editing.api_files.lua = { _HOME..'/modules/lua/api', _USERHOME..'/modules/lua/api' } +-- For Lua buffers, enable or disable Textadept API autocompletion and +-- documentation depending on `buffer.filename`. +local function update_textadept_tags_api() + if buffer:get_lexer() ~= 'lua' then return end + local tags, api = M.tags, textadept.editing.api_files.lua + if (buffer.filename or ''):find('^'.._HOME:gsub('%p', '%%%0')) or + (buffer.filename or ''):find('^'.._USERHOME:gsub('%p', '%%%0')) then + if not tags[_HOME] then + tags[#tags + 1] = _HOME..'/modules/lua/ta_tags' + api[#api + 1] = _HOME..'/modules/lua/ta_api' + tags[_HOME], api[_HOME] = #tags, #api + end + elseif tags[_HOME] then + table.remove(tags, tags[_HOME]) + table.remove(api, api[_HOME]) + tags[_HOME], api[_HOME] = nil, nil + end +end +events.connect(events.LEXER_LOADED, update_textadept_tags_api) +events.connect(events.VIEW_AFTER_SWITCH, update_textadept_tags_api) + -- Commands. --- |