Commit Graph

226 Commits

Author SHA1 Message Date
Folke Lemaitre f0cfbf9952
perf: lazy require commands 2023-10-08 20:22:04 +02:00
Folke Lemaitre 26762c97e6
fix(ui): use correct keymap for display. Fixes #1089 2023-10-08 12:36:21 +02:00
Folke Lemaitre b79099cc9d
feat(keys): refactor code and allow disabling keymaps per mode. mode no longer needs to be exactly the same in order to disable. 2023-10-08 10:11:33 +02:00
Folke Lemaitre f3c7169dd6
feat(plugin): dont include plugin spec fragments for disabled or optional plugins (#1058)
* feat(plugin): dont include plugin spec fragments for disabled or optional plugins

* test: fixed tests

* fix(plugin): calculate handlers after disabling plugins

* fix(plugin): clear Plugin._.super when rebuilding

* fix(ui): dont process handlers for disabled plugins

* test: added tests for disabling fragments

* fix(plugin): ignore any installed deps of a disabled conditional plugin. Fixes #1053
2023-09-29 16:11:56 +02:00
Folke Lemaitre 4f27fc33c4
fix(ui): sort plugins case insensitive 2023-09-28 12:28:07 +02:00
Maria José Solano 0e1d264ab6
fix: return true when opening diff (#970) 2023-09-27 12:51:11 +02:00
Darkhan 4eb3e932e5
Make commit pattern more accurate (#973)
Sometimes when hovering over updated plugins and triggering `diff`
with `d` key, I get an empty `diff` view. I traced the problem to a very
generic `commit_pattern` which currently matches any alphanumeric sequence
of 7 characters surrounded by "word boundary" / frontier patterns.
I adjusted the regex to match only `[a-z0-9] * 7` which should make this
issue appear less. I am keeping the older frontier sets `%f[%w]` and `%f[%W]`
because if I switch to `%f[a-f0-9]` and `%f[^0-9a-f]` I will be matching
strings like `zzz1234567xxx`.
2023-08-26 16:47:18 +02:00
3719e04 84266b9f0f
feat(view): add option `ui.pills`. Set to `false` to disable the top buttons in the lazy window (#938)
* add option `ui.button`

* add option `ui.button`

* refactor: rename button to pills

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-07-20 23:48:50 +02:00
Folke Lemaitre 410a7360c1
fix(ui): trailing space in button row. Fixes #884 2023-06-19 10:21:40 +02:00
Folke Lemaitre 56b1f7715e
fix(debug): show original keymaps instead of ids for the keys handler 2023-06-19 10:21:40 +02:00
Folke Lemaitre 7f4da7d511
fix(ui): set wo options with local. don't use `vim.wo`. See #829 2023-06-12 08:28:14 +02:00
Folke Lemaitre dbb2b609f6
fix(ui): setup colors when loading a float 2023-06-03 14:40:17 +02:00
Folke Lemaitre 94472b8303
feat(float): floats can now be persistent 2023-06-03 10:45:53 +02:00
Folke Lemaitre efa02ff8d3
fix(ui): make progress bar work again 2023-05-27 16:11:01 +02:00
Folke Lemaitre a6c8f22362
feat(commands): added highly experimental `Lazy reload ...` command. See #445 2023-05-27 15:19:55 +02:00
Folke Lemaitre 9dce0816f1
feat(ui): added support for setting a title of the lazy window. Fixes #814 2023-05-27 14:28:09 +02:00
tzachar f125a7d333
fix(commands): completion error (#819)
When Lazy commands are searched in command line mode, completion fails
horribly (sometime crashing nvim entirely) when the partial string to
complete contains non-escape characters.
For example, running `:Lazy up[` results in a crash.

The fix is to instruct string.find to perform a literal search, treating
the string to search not as a regular expression.
2023-05-23 08:43:27 +02:00
Folke Lemaitre 451f217e9b
fix(ui): take border into account for window position. Fixes #812 2023-05-21 20:51:41 +02:00
Folke Lemaitre cc7a764aec
fix(ui): close ui when opening a help file. Fixes #808 2023-05-20 09:26:23 +02:00
Folke Lemaitre 11131eafa1
feat(cmd): added `Lazy load all` to load all plugins 2023-05-18 19:51:18 +02:00
Folke Lemaitre 96dd2058fb
feat(ui): show the loaded icon for local plugins in a different color 2023-05-13 13:24:38 +02:00
Folke Lemaitre dbe0e29d85
fix(ui): don' render extmarks for empty lines 2023-05-05 14:06:59 +02:00
Folke Lemaitre 98ba47efed
fix(ui): issue with rendering empty lines. Fixes #770 2023-05-02 21:47:36 +02:00
Karl Yngve Lervåg b00d6f7102
fix(ui): don't pad empty lines (#768) 2023-05-02 21:30:28 +02:00
futsuuu b7a1a0fbaf
fix(render): show message if not yet committed (#707)
* fix(render): show message if not yet committed

* fix(render): show commit only if it can be shown
2023-04-15 22:54:10 +02:00
Folke Lemaitre 0e230caab9
feat(ui): added test to dimmed commits 2023-03-22 16:06:32 +01:00
luozhiya 261c2d6f95
fix(ui): show full reason for Not-Loaded (#683)
no print
2023-03-22 09:04:36 +01:00
Folke Lemaitre 690f9e88e2
refactor: prepping for vim.loader 2023-03-20 23:51:09 +01:00
Folke Lemaitre 21a219a825
refactor(cache): revert all `vim.cache` changes and disable it if it would ever exist 2023-03-15 09:01:00 +01:00
Folke Lemaitre ea1a044e3c
feat(cache): use `vim.cache` everywhere. poly-fill when needed 2023-03-14 19:45:22 +01:00
kylo252 1f7ffec177
feat(render): dim housekeeping commits by default (#612)
* feat(render): dim housekeeping commits by default

use `LazyComment` highlight group for commits with
housekeeping types, i.e. chore/ci/doc

* refactor: some small improvments to unimportant commits

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-03-02 14:25:50 +01:00
Folke Lemaitre 0f713b2958
fix(ui): always show diagnostics virtual text 2023-02-28 09:55:21 +01:00
Lucas Tavares 43496fa82c
fix(ui): disable colorcolumn on floating window (#575) 2023-02-20 08:31:03 +01:00
Folke Lemaitre 7339145a22
fix(ui): don't close on BufLeave. Fixes #561 2023-02-17 21:08:46 +01:00
Folke Lemaitre 5cfe1560c5
fix(ui): return abort key instead of `<c-c>` 2023-02-17 13:41:21 +01:00
vanppo 6771c7e23c
fix(ui): disable folding of floating window (#550) 2023-02-16 12:33:53 +01:00
Folke Lemaitre 17a3c3acea
perf: more cache optims 2023-02-14 11:00:56 +01:00
Folke Lemaitre 6351a2e8f3
refactor: Cache.stats -> Cache.stats.find 2023-02-13 17:24:15 +01:00
Folke Lemaitre 462633bae1
perf: new file-based cache that ensures correct rtp order (#532)
* perf: new file-based cache that ensures rtp is alweays correct and will cache all files, including those after startup

* refactor: new cache

* test: fix tests

* fix(cache): cache file names on Windows

* feat(cache): allow to disable the cache

* docs: updated cache settings
2023-02-13 12:01:56 +01:00
Folke Lemaitre d6fc848067
feat: added `config.ui.wrap` and improved wrapping when wrap=true. Fixes #422 2023-01-19 08:45:27 +01:00
Hans Chen 27ca918bc3
fix(render): get profile_{sort,filter} key bindings from ViewConfig (#416) 2023-01-17 22:03:23 +01:00
hgigas 7b78ce3332
feat(commands): allow commands like `Lazy ... | ...` (#377)
Set bar attribute:
```
-bar	    The command can be followed by a "|" and another command.
```
2023-01-13 09:05:13 +01:00
Folke Lemaitre 7b0d1a7866
fix(float): only clear diagnostics for valid buffers 2023-01-13 09:01:24 +01:00
Folke Lemaitre b73312aa32
fix: use `vim.api.nvim_exec_autocmds` instead of `vim.cmd[[do]]` to prevent weird `vim.notify` behavior 2023-01-13 09:01:24 +01:00
Folke Lemaitre a64623899d
fix(ui): possible error during initial install 2023-01-11 17:13:10 +01:00
Folke Lemaitre 3b44c3c14a
fix(ui): reset buf and win options on resize 2023-01-11 13:43:17 +01:00
Folke Lemaitre 5faadf6398
fix(ui): get_plugin should return when ui is not showing 2023-01-10 11:19:47 +01:00
Folke Lemaitre e6ee0fa610
fix(ui): keymap for building a single plugin changed from `b` to `gb`. Fixes #358 2023-01-09 20:21:31 +01:00
Folke Lemaitre a32e307981
fix(diffview): fixed parameter for showing single commit with DiffView. Fixes #304 2023-01-09 08:05:32 +01:00
Brian Koropoff 05b55deb16
fix(config): Don't cache check for attached UIs (#340)
UIs can attach and detach from headless nvim dynamically
(indeed, this is one of its use cases).
2023-01-07 09:01:45 +01:00
Folke Lemaitre eed1ef3c2d
feat(commands): `:Lazy! load` now skips `cond` checks when loading plugins. Fixes #330 2023-01-06 07:11:50 +01:00
Folke Lemaitre e89e938991
refactor: split open_cmd in float_cmd and float_term 2023-01-05 17:36:01 +01:00
Folke Lemaitre 13af39b83e
refactor: easier to pass window options for floats 2023-01-05 17:01:56 +01:00
Folke Lemaitre e61b334cee
fix(diff): make diffview work again. Fixes #304 2023-01-04 08:13:51 +01:00
Folke Lemaitre 299ffdfd53
feat(ui): added section with disabled plugins 2023-01-03 10:43:10 +01:00
Folke Lemaitre e749e68b68
fix(ui): check if win is still valid 2023-01-03 09:13:11 +01:00
Folke Lemaitre b5f4106892
fix(stats): more robust checks for native cputime 2023-01-03 09:12:51 +01:00
Folke Lemaitre d992387912
perf: track some additional cputimes 2023-01-02 11:28:18 +01:00
Folke Lemaitre 919b7f5de3
feat(spec): added `import` to import other plugin modules 2023-01-02 09:44:28 +01:00
Folke Lemaitre 23c0587791
feat(commands): added build command to force rebuild of a plugin 2023-01-01 09:41:43 +01:00
Folke Lemaitre 205ce42cdc
fix(commands): fixed plugin completion for commands 2023-01-01 09:40:51 +01:00
Folke Lemaitre 0fadb5e1ce
feat(ui): when updating to a new version, show the version instead of the commit refs 2022-12-31 16:08:09 +01:00
Folke Lemaitre 34e2c78e06
feat(ui): show new version that is available instead of general message 2022-12-31 16:08:09 +01:00
Folke Lemaitre d6b5d6e756
feat(ui): press `<c-c>` to abort any running tasks. Fixes #258 2022-12-31 10:38:03 +01:00
Folke Lemaitre 5575d2b2a9
feat(ui): show when plugin would be loaded for unloaded plugins. Fixes #261 2022-12-31 08:51:09 +01:00
Folke Lemaitre 45d669f61c
fix(ui): only show plugins to clean under clean 2022-12-30 21:23:12 +01:00
Folke Lemaitre 86dff1b59a
feat(commands): added health command to run `:checkhealth lazy` 2022-12-30 11:29:22 +01:00
Folke Lemaitre 2a617a7024
feat(api): allow passing options to float so it can be used outside of lazy 2022-12-30 10:43:46 +01:00
Folke Lemaitre 1283c2b288
feat(restore): you can now restore a plugin to a certain commit. Fixes #234 2022-12-30 09:17:53 +01:00
Folke Lemaitre c2f7e2d098
feat(ui): added extra cache stats to the debug tab 2022-12-28 17:58:24 +01:00
tzachar acd6697d88
fix(commands): E5108 in getcompletions (#207) 2022-12-28 17:39:31 +01:00
Dr. David A. Kunz ff8f3783fa
feat(profile): nicer threshold prompt (#210) 2022-12-28 17:38:08 +01:00
Folke Lemaitre 0d0d11acb2
fix(ui): removed newlines from profile tab 2022-12-27 19:50:11 +01:00
Folke Lemaitre 3b46160c01
feat(ui): added new section specifically for updates 2022-12-27 19:35:23 +01:00
Folke Lemaitre a2fdf369f2
feat(profile): added accurate startuptime to ui/stats/docs 2022-12-27 13:34:12 +01:00
Folke Lemaitre 9a2ecc8750
feat(ui): re-render after resize. Fixes #174 2022-12-26 14:19:39 +01:00
Folke Lemaitre 0ea771bd70
feat(ui): made all highlight groups and icons configurable 2022-12-26 10:24:53 +01:00
Folke Lemaitre 5f017bf655
docs: document highlight groups 2022-12-26 09:37:31 +01:00
Folke Lemaitre aed842ae1e
feat(plugin): added `Plugin.cond`. Fixes #89, #168 2022-12-26 09:37:30 +01:00
Folke Lemaitre 2f5c1be525
fix(ui): get plugin details from the correct plugin in case it was deleted 2022-12-26 09:37:30 +01:00
Folke Lemaitre e632eb4ae0
style: mode no longer needed as param for view 2022-12-25 13:46:42 +01:00
jdrouhard 037f242430
fix(diff): use git show when only displaying one commit (#155) 2022-12-25 13:45:56 +01:00
max397574 8ea9d8b024
feat(ui): make lazy icon configurable (#163)
* feat(ui): make lazy icon configurable

* docs: add lazy icon config option
2022-12-25 13:41:33 +01:00
Folke Lemaitre 3352fc6265
docs: added diff keybindings to help page 2022-12-24 11:41:06 +01:00
Folke Lemaitre be3909c544
feat(ui): added custom commands for lazygit and opening a terminal for a plugin 2022-12-24 11:30:16 +01:00
Folke Lemaitre 7d02da2ff0
feat(ui): added multiple options for diff command 2022-12-24 11:30:16 +01:00
Folke Lemaitre b34e25873a
refactor: float is now a separate module 2022-12-24 11:30:16 +01:00
Folke Lemaitre 593d6e400b
feat(ui): you can now hover over a plugin to open a diff of updates or the plugin homepage 2022-12-24 11:30:15 +01:00
Folke Lemaitre 83270cc5e5
refactor(commands): move ui/commands config to separate file 2022-12-23 20:55:56 +01:00
Aaron 5a1812a633
Better terminology (#132) 2022-12-23 14:58:11 +01:00
Folke Lemaitre 50e3b91767
fix(ui): sort profiling chronological by default 2022-12-23 11:47:05 +01:00
Folke Lemaitre e973323e95
fix(ui): fixed extmarks while wrapping. Fixes #124 2022-12-23 11:18:32 +01:00
Folke Lemaitre 7dfb9c1f5c
feat(ui): added options to sort/filter profiling data 2022-12-23 10:43:22 +01:00
Folke Lemaitre fde5feea6d
refactor: refactored ui code 2022-12-23 10:18:19 +01:00
Folke Lemaitre cd023dc709
style: remove setting colors on startup 2022-12-23 08:41:42 +01:00
Folke Lemaitre e2bbf3deef
refactor: better annotations to make sumneko faster 2022-12-23 08:34:55 +01:00
Folke Lemaitre 65e903652b
fix: added error message to debug failing extmarks #117 2022-12-23 08:05:32 +01:00
Sebastian Lyng Johansen 9e983898b1
fix(ui): fix buffer being properly deleted (#112) 2022-12-22 22:01:01 +01:00
Folke Lemaitre 42f5aa76e2
fix: pass plugins instead of plugin names to command. Fixes #103 2022-12-22 17:25:12 +01:00
Folke Lemaitre 3415a61789
fix(ui): properly wrap ui elements on small screens. Fixes #92 2022-12-22 10:45:45 +01:00