refactor: parser list and lang->ft/ft->lang

- move parser list in `parsers.lua`
- most `ft` variable where changed to `lang`, `ft` is only used on
  autocmd binding, and lang is used for everything else. Functions have
  been defined to make the switch between `ft` and `lang`
This commit is contained in:
kiyan42 2020-06-20 12:21:42 +02:00
parent ad636f4f53
commit df17a48c85
9 changed files with 311 additions and 277 deletions

View file

@ -21,15 +21,15 @@ M.base_language_map = {
tsx = {'typescript', 'javascript'},
}
function M.get_query(ft, query_name)
local query_files = api.nvim_get_runtime_file(string.format('queries/%s/%s.scm', ft, query_name), true)
function M.get_query(lang, query_name)
local query_files = api.nvim_get_runtime_file(string.format('queries/%s/%s.scm', lang, query_name), true)
local query_string = ''
if #query_files > 0 then
query_string = read_query_files(query_files)..query_string
end
for _, base_lang in ipairs(M.base_language_map[ft] or {}) do
for _, base_lang in ipairs(M.base_language_map[lang] or {}) do
local base_files = api.nvim_get_runtime_file(string.format('queries/%s/%s.scm', base_lang, query_name), true)
if base_files and #base_files > 0 then
query_string = read_query_files(base_files)..query_string
@ -37,7 +37,7 @@ function M.get_query(ft, query_name)
end
if #query_string > 0 then
return ts.parse_query(ft, query_string)
return ts.parse_query(lang, query_string)
end
end