docs: Add changelog
This commit is contained in:
79
CHANGELOG.md
Normal file
79
CHANGELOG.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# Changelog
|
||||
|
||||
## Main branch
|
||||
|
||||
### Breaking changes
|
||||
|
||||
- Highlight for guides (previously `OutlineConnector` that covers both guides
|
||||
and fold markers) now split into `OutlineGuides` (covering from left edge until
|
||||
start of symbol icon) and `OutlineFoldMarker`.
|
||||
- Config options `auto_goto -> auto_jump`, `keymaps.down/up_and_goto ->
|
||||
keymaps.down/up_and_jump`. The old names **still work as expected** but may be
|
||||
removed in feature releases (after v1.0.0).
|
||||
|
||||
### Features
|
||||
|
||||
- Config option for split command used in creating outline
|
||||
- Completely refactored functions that build the outline
|
||||
- Added highlight group for fold marker
|
||||
- A custom icon fetcher function can be used, which receives a kind as string and should
|
||||
return an icon as string. An empty string means no icon for this kind
|
||||
- Lspkind is now supported as an icon source
|
||||
- Outline open/toggle commands now support command modifiers to override the
|
||||
config options `position` and `split_command`. Eg: `:leftabove
|
||||
Outline`/`:belowright OutlineOpen!`
|
||||
- Highlight group and duration of the 'flash' highlight on goto/jump operations can now be customized
|
||||
([#27](https://github.com/hedyhli/outline.nvim/issues/27))
|
||||
- A better config system for symbol filtering: deprecating `symbols.blacklist`
|
||||
config. Note that the old option **still works as expected** but may be
|
||||
deprecated in feature releases. This new `symbols.filter` option supports both inclusive filtering
|
||||
and also exclusive filtering, per-filetype filtering is also supported.
|
||||
([#23](https://github.com/hedyhli/outline.nvim/issues/23))
|
||||
- Optionally put cursor vertically centered on the screen after a goto/jump
|
||||
operation. Configurable via `outline_window.center_on_jump`
|
||||
- By default, automatic following of cursor (and highlight hover) when outline
|
||||
is not in focus will now trigger on each `CursorMoved` event, rather than
|
||||
`CursorHold`. This is also configurable now using
|
||||
`outline_items.auto_update_events` with key `follow`. The key `items` controls
|
||||
the events that should trigger a re-request of symbols from the provider.
|
||||
- Config option for cursorline now supports 2 other string values,
|
||||
`focus_in_outline` and `focus_in_code`. These make the cursorline only show up
|
||||
depending on cursor focus. The first option, `focus_in_outline` makes it so
|
||||
cursorline is enabled only when focus is in outline. This lessens the visual
|
||||
changes due to auto follow_cursor.
|
||||
- On fold all or unfold all operations, the cursor will now stay on the same
|
||||
node, rather than the same line in the outline.
|
||||
- Optionally not automatically update cursor position in outline to reflect
|
||||
cursor location in code. The auto-update is triggered by events from
|
||||
`outline_items.auto_update_events.follow`, and disabling of follow-cursor can
|
||||
be done through `outline_items.auto_follow_cursor`. Regardless, manual
|
||||
follow-cursor can still be done using `:FollowCursor[!]` or lua API
|
||||
`follow_cursor({ focus_outline = true/false })`.
|
||||
|
||||
### Fixes
|
||||
|
||||
- Don't auto-update cursor when focus is in outline ([#7](https://github.com/hedyhli/outline.nvim/issues/7))
|
||||
- Symbol hover is not opened on preview open by default now
|
||||
- Incorrect guide highlights
|
||||
- Follow cursor can now put the cursor on the parent node if the child is folded and invisible in outline
|
||||
- Follow cursor puts the cursor in the first column, and if there is lineno, puts it at the end of the lineno
|
||||
|
||||
### Performance
|
||||
|
||||
- Building of outline items (and details/lineno) parsed from symbol tree,
|
||||
functions completely refactored
|
||||
- Follow cursor algorithm significantly improved
|
||||
- Highlight hovered item and initial opening of outline has been rewritten and
|
||||
performance improved
|
||||
|
||||
### Others
|
||||
|
||||
- A [script](scripts/convert-symbols-outline-opts.lua) is added to convert
|
||||
symbols-outline.nvim config to outline.nvim config. Note that all config values
|
||||
are evaluated, so if the old config uses some external source and assigned it
|
||||
to a config key, the value from the external source would be used directly
|
||||
rather than the identifier.
|
||||
|
||||
## Older changes
|
||||
|
||||
Changes before fork detach can be found on [#12 on github](https://github.com/hedyhli/outline.nvim/issues/12)
|
||||
Reference in New Issue
Block a user