* feat(toggleterm): add a simple winbar to show terminal data
* refactor(ui): use win set value
* refactor(ui): improve winbar styling and toggleability
* chore(lsp): update emmy annotations
* fix(toggleterm): toggle terminals on click
* chore(lsp): more Emmy lua fixes
* ci(test): target nvim nightly
* fix(ui): allow opening the first terminal if no id
* docs(README): add mention of winbar and config
* chore(ci): auto generate docs
* fix(toggleterm): revert unnecessary ID changes
Co-authored-by: akinsho <akinsho@users.noreply.github.com>
* style(toggleterm): format with stylua
* fix(terminal): correctly annotate lazy requires
* feat(terminals): save the current terminals mode into state
* test: add failing state tests
* refactor(config): add option to control persisting mode
so users can turn it off or on
* docs(README): add persist mode
* chore(ci): auto generate docs
* refactor(terminal): simplify matching for modes
Only "nt" and "t" are actually relevant not all the variants of all the
other different modes
* test: add but skip failing test case
seems to be broken due to delays starting a shell
Co-authored-by: akinsho <akinsho@users.noreply.github.com>
Simplified next_id() by removing the 'ids' table and calling
get_all() instead. The previous implementation did not always
produce unique IDs.
Remodelled the next_id test case by creating actuall terminals.
Before this patch, if you created 3 terminals with ID 1, 2, 3
and then closed the first terminal with id 1 using "exit",
the next_id was calculated to 2, resulting in a duplicate ID.
Update the ToggleTermSendVisualSelection command by changing the visual selection logic.
For a selection type of visual selection, the lines now come from the new local function get_visual_selection which gets the lines based on the visual mode used to make the selection.
* If a user specifies highlights, these should actually be applied consistently
* If they specify shading terminal, this overrides any normal highlights and applies the shaded colours
* if the colorscheme changes, pick up on it and re-apply highlights
this converts usages of require to use the lazy helper module inspired
by TJ's lazy.nvim, this delays actual requires till their usage which
makes the plugin less expensive to load but easier to develop since I no
longer have to do all requires inline but can import all needed modules
upfront at the top of each file