tsql.nvim/lua/tsql.lua

75 lines
1.3 KiB
Lua

---@type mod_buf_select
local buf_select = require('tsql.buf_select')
---@module 'tsql'
local M = {}
M.ts_query = {}
---@class TSQuery
M.TSQuery = {}
M.sink_by = {}
---@module 'tsql.format'
---@alias Format fun(self, nodes: QNode[])
M.format = {}
---@class Tsql
M.Tsql = {}
---NOTE: re-export with implementation
M.buf_match = require('tsql.buf_select')
function M.ts_query.from_scm(treesitter_query)
-- TODO: implement
return M.TSQuery
end
function M.TSQuery:find_locs(files)
-- TODO: implement
return {}
end
function M.sink_by.highlight()
-- TODO: implement
end
---@type Format
function M.format.display()
-- TODO: implement
end
---@type Format
function M.format.dump()
-- TODO: implement
end
---@param format Format
function M.sink_by.print(format)
-- TODO: implement
end
---@param format Format
function M.sink_by.nvim_yank_buf(format)
-- TODO: implement
end
---@return Tsql
---@param external_dsl string
function M.s(external_dsl)
-- TODO: implement
end
---@return Tsql
---@param buf_match BufMatch
---@param codeql TSQuery
---@param sink Sink
function M.t(buf_match, codeql, sink)
-- TODO: implement
end
---NOTE: This is now exiting the functional core and entering
--- imperative shell
function M.Tsql:do_nvim()
-- TODO: implement
end
return M