feat(api): Get symbol and breadcrumb at location

Currently the implementation is very limited.

Ref: #24

- Outline must be open and have been loaded for it to work (requires
  lazy loading or headless loading of Sidebar)
- Empty string returned if cursor is not in any symbol ('closest' symbol
  not yet supported)
- Line column not used
- Returning concatenated symbol names rather than a list of tables with
  node info (requires a refactor of outline.SymbolNode type)
- Subject to config.symbols.filter and folds (requires finding hover
  list somewhere outside of writer.make_outline)
This commit is contained in:
hedy
2023-11-25 14:48:38 +08:00
parent f586147ee2
commit 6cea72f2b5
7 changed files with 124 additions and 12 deletions

View File

@@ -39,6 +39,12 @@ M.kinds = {
[255] = 'Macro',
}
-- inverse indexing of symbols.kind
M.str_to_kind = {}
for k, v in pairs(M.kinds) do
M.str_to_kind[v] = k
end
---@param kind string|integer
function M.icon_from_kind(kind)
local kindstr = kind