Commit Graph

346 Commits

Author SHA1 Message Date
Oskar Tołkacz
fdaa883d9d Show lspkind error message just once
Instead of showing an error message for every symbol in every outline
window, show just one error on opening nvim.
2024-08-12 10:43:26 -04:00
~hedy
8bfb5435d7 docs: Reword details regarding symbols.icon_fetcher 2024-07-05 20:45:35 +08:00
~hedy
bc58f196ec feat: Pass in the buffer number for symbols.icon_fetcher 2024-07-05 12:51:48 +08:00
~hedy
d551ee537c Merge pull request #70 from lvim-tech/main
Fix deprecated get_active_clients
2024-06-05 20:57:01 +08:00
~hedy
193e03a7b7 Support neovim < 0.10 for lsp.get_clients 2024-06-05 20:54:26 +08:00
~hedy
b199de1524 Merge branch 'main' of github.com:hedyhli/outline.nvim 2024-05-30 07:53:26 +08:00
~hedy
e0b86347ad feat: Focus outline if already open
closes #71
2024-05-30 07:52:51 +08:00
LVIM ORG
e6afff238c Fix deprecated get_active_clients 2024-05-19 12:52:54 +03:00
jinzhongjia
a533494f81 Merge branch 'main' into main 2024-05-04 15:28:13 +08:00
~hedy
9fce1de9f1 fix: Make has_provider() public as it was supposed to be
Closes #48
2024-05-02 21:00:50 +08:00
Zheng Piaodan
3e42493b17 fix(outline-window): no resize if split_command like "30vsplit" 2024-04-15 14:22:40 +08:00
hedy
ec9571c8f0 Merge branch 'main' of github.com:hedyhli/outline.nvim 2024-03-16 08:13:33 +08:00
hedy
b64c0c66d4 feat(providers): Support independent configs for each provider to handle
Closes #58
2024-03-16 08:12:50 +08:00
jinzhongjia
4a7cc30c86 [fix]: When the window was first created, filetype was empty. 2024-02-20 18:35:14 +08:00
Baptiste Zorzi
746b8a6206 [fix] - Fixing Coc symbol parsing bug 2024-01-11 14:06:55 +01:00
hedy
8c6b11e4c2 chore: stylua 2023-12-29 21:50:48 +08:00
hedy
6172c2ad2b chore: Update comment 2023-12-29 21:49:28 +08:00
hedy
8b2f412b7b fix(providers): Ensure working on nvim-0.7
This commit removed the ability to receive symbols from all attached
clients in the current buffer. Everything works as before when only one
client is attached to a buffer.

This also fixes outline LSP finding clients on nvim-0.7
2023-12-29 19:17:00 +08:00
hedy
982460584f fix(lsp): Use vim.buf.lsp.rename for rename_symbol
Closes #42
2023-12-27 22:14:12 +08:00
hedy
d073791f1c fix: No-op keymaps when there is no provider 2023-12-13 18:40:08 +08:00
hedy
19d876246c fix: Outline auto-update
- Typo in checking for buflisted.
- As it turns out bufhidden isn't boolean, so let's not even consider it
  for now. Doing this still allows buffers like LspInfo to be ignored,
  it seems. In the future we will have configurable ignored buffers.

Thanks to @Djedouas for bringing it up.
2023-12-12 20:24:16 +08:00
hedy
8b9f908386 chore(fmt): stylua 2023-11-30 21:55:40 +08:00
hedy
5d5f891afb fix(live-preview): Don't focus when it shouldn't for auto-preview 2023-11-30 19:07:25 +08:00
hedy
a5411b0a0c fix: Ignore special buffers, fix auto-preview and not focus_on_open 2023-11-30 10:17:00 +08:00
hedy
4bbecbb92e feat: Auto-resize and re-position preview
Only for auto-preview.
2023-11-30 10:02:01 +08:00
hedy
c4dc273156 fix: Scroll window to content on no providers message 2023-11-29 21:52:59 +08:00
hedy
920e12736c feat: Autofold non-hovered symbol by default 2023-11-29 18:18:18 +08:00
hedy
438d26896f feat: Still open/refresh outline when no providers 2023-11-29 17:32:07 +08:00
hedy
884486f3d0 feat: Live previews (peek editor)
Disabled by default, but if this feature turns out to be useful and
stable, it will replace the old preview window.
2023-11-28 20:50:08 +08:00
hedy
3ebf0ffc69 feat: Use augroup
I had no idea augroup does all I tried to do with `self.autocmds`. Oh
well.

Also added sidebar.id, which is one step closer to #25
2023-11-28 09:38:57 +08:00
hedy
8df37421cc fix: Old preview autocmd 2023-11-27 21:11:37 +08:00
hedy
dc942d03c3 chore(fmt): stylua 2023-11-27 20:16:26 +08:00
hedy
71437d91b7 feat(config): Faster lookup of blacklisted LSP clients 2023-11-27 20:15:58 +08:00
hedy
80165f0472 feat(providers): Modular hover-symbol support 2023-11-27 20:11:16 +08:00
hedy
80f76333ba fix/refactor(preview): Proper per-sidebar support & complete rewrite 2023-11-27 20:08:22 +08:00
hedy
b6b2bf2248 fix: segfault? 2023-11-26 22:36:20 +08:00
hedy
8c13999acc feat: Update outline on rename symbol
Also added ability to show provider status from code_action and
rename_symbol
2023-11-26 20:44:42 +08:00
hedy
5b70292780 Refactor symbol types 2023-11-26 16:49:25 +08:00
hedy
c4da6670a4 refactor: Consistent naming of buf/win fields 2023-11-26 15:27:57 +08:00
hedy
c7d38eea24 refactor: Reorganize keymap order 2023-11-26 15:24:21 +08:00
hedy
39668e5061 feat: Go to corresponding code window after closing outline 2023-11-26 15:23:53 +08:00
hedy
b90174c6c2 refactor: Provider symbol actions
It makes sense to store the provider each sidebar is using with own
self.provider fields, no way that did not occur to me before this.

The old `_G._outline_current_provider` ironically, can now be replaced
by `require('outline').current.provider`.
2023-11-26 15:14:42 +08:00
hedy
1743ee7c66 chore(fmt): stylua 2023-11-26 13:29:47 +08:00
hedy
137e76fdca chore(fmt): Consistent function doc style 2023-11-26 13:27:29 +08:00
hedy
9f69f12161 refactor: Reorganize modules
Primarily:
- Utils
- Sidebar (removed the need of writer.lua)
- Resolve keymaps shortcut in config eraly
- Put highlight functions into highlight.lua
- Put functions that do stuff on outline window into view.lua
2023-11-26 13:17:18 +08:00
hedy
b83e84a15f Merge branch 'main' of github.com:hedyhli/outline.nvim 2023-11-25 16:24:24 +08:00
hedy
bdeff23390 refactor(writer): Move make_outline to sidebar
Was passing self fields a lot, decided to just do all that in Sidebar
in the first place.

Also resolved guides.enabled=false early to setting markers to ' '.

Everything should work the same.
2023-11-25 16:21:44 +08:00
hedy
6d85399550 feat: Use more concise API names
No breaking change.
2023-11-25 15:43:36 +08:00
hedy
6cea72f2b5 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)
2023-11-25 15:41:55 +08:00
hedy
c7a033e85d chore: Remove debug message 2023-11-25 11:25:26 +08:00