Commit Graph

67 Commits

Author SHA1 Message Date
Folke Lemaitre f4d57485b0
refactor: reloader 2024-06-18 00:36:11 +02:00
Folke Lemaitre 1f7b720cff
feat(plugin): `opts_extend` can be a list of dotted keys that will be extended instead of merged 2024-06-07 09:02:52 +02:00
Folke Lemaitre 89ddc59d19
Revert "feat(util): opts merging now supports lists extending by tagging a table with __extend = true. Use with care"
This reverts commit 74fd3611f2.
2024-06-06 23:27:29 +02:00
Folke Lemaitre 74fd3611f2
feat(util): opts merging now supports lists extending by tagging a table with __extend = true. Use with care 2024-06-06 23:23:52 +02:00
Folke Lemaitre 9e157df077
feat: refactor all vim.loop -> vim.uv and add a shim when needed 2024-03-22 08:58:36 +01:00
Folke Lemaitre 6b7b4c5b96
style: show full trace when debug=true 2023-10-22 14:24:33 +02:00
Folke Lemaitre 70f764bf73
fix(util): Util.merge now skips nil args 2023-10-13 11:37:57 +02:00
Folke Lemaitre 7b84609a06
feat(util): expose pretty stacktraces for notify 2023-10-10 19:12:35 +02:00
Folke Lemaitre 423a152e94
feat(profiling): added options to enable additional profiling 2023-10-09 12:38:43 +02:00
Folke Lemaitre f0cfbf9952
perf: lazy require commands 2023-10-08 20:22:04 +02:00
Folke Lemaitre 8b73492249
perf(util): don't try to load nvim-treesitter when markdown parser is builtin 2023-10-04 00:19:29 +02:00
Folke Lemaitre 6b55862d2d
refactor(cache): refactor for upstreaming to `vim.loader` 2023-03-15 15:10:56 +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
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 5d9d35404f
feat(util): utility method to walk over all modules in a directory 2023-01-23 19:19:00 +01:00
Folke Lemaitre c791c0ed7d
fix: work-around for libuv issue where fs_scandir_next sometimes fails to return a file type 2023-01-17 14:35:21 +01:00
Folke Lemaitre 1b2a6f631c
perf(plugin): de-duplicate dependencies, keys, ft, event and cmd 2023-01-17 14:00:42 +01:00
Folke Lemaitre efe72d98e6
perf(util): properly check that Neovim is exiting. Dont run VeryLazy when that's the case 2023-01-16 12:37:28 +01:00
Folke Lemaitre e8cb863703
fix(util): rever 2023-01-16 12:33:03 +01:00
Folke Lemaitre 1e67dc0d56
perf(util): dont trigger VeryLazy autocmds when exiting 2023-01-16 12:29:19 +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 784bb3c100
refactor: removed special `__merge` functionality 2023-01-12 13:13:30 +01:00
Folke Lemaitre 5aca9280df
perf(util): execute VeryLazy right after UIEnter 2023-01-11 13:40:19 +01:00
Folke Lemaitre d3a963d51c
refactor(util): improved notify functions 2023-01-10 09:28:59 +01:00
Folke Lemaitre b28c6b9000
feat(util): `Util.merge` now support advanced merging strategies. Docs coming soon 2023-01-10 07:32:28 +01:00
Folke Lemaitre e77be3cf3b
fix(spec): `Plugin.opts` is now always a table. Fixes #351 2023-01-08 18:45:40 +01:00
Folke Lemaitre 6a31b97e37
feat(util): better deep merging with `Util.merge` 2023-01-08 15:01:58 +01:00
Folke Lemaitre 5ed89b5a0d
fix(config): properly handle uis connecting after startup 2023-01-07 09:12:59 +01:00
Folke Lemaitre e4f79a42d6
fix(util): Util.try can now work without an error message 2023-01-05 11:31:13 +01:00
Folke Lemaitre 2e87520826
fix(util): assume type is file when no type is returned by scandir. Fixes #306 2023-01-04 08:57:50 +01:00
Folke Lemaitre b2673f1057
style: debug formatting 2023-01-04 00:27:31 +01:00
Folke Lemaitre 953c2791d8
fix(util): made `Util.lsmod` more robust. See #298 2023-01-03 22:31:18 +01:00
Folke Lemaitre 7b9fa284f8
style: better debug 2023-01-03 16:17:15 +01:00
Folke Lemaitre 60e96b478a
fix(loader): always load init.lua in plugin mods 2023-01-02 15:04:32 +01:00
Folke Lemaitre 50a456c189
feat(util): added trackfn that wraps a function and tracks timings 2023-01-02 11:26:40 +01:00
Folke Lemaitre 51c23b661e
fix(spec): allow a spec module to be on the rtp and not only in config 2023-01-01 20:31:34 +01:00
Folke Lemaitre ed0583e82b
fix(util): remove double forward slashes 2022-12-31 09:55:55 +01:00
Folke Lemaitre 32511a1214
feat(health): added spec parsing errors to `:checkhealth` 2022-12-30 11:52:20 +01:00
Folke Lemaitre d1739cb7e1
feat(util): use treesitter to highlight notify messages when available 2022-12-27 13:34:12 +01:00
Folke Lemaitre fde5feea6d
refactor: refactored ui code 2022-12-23 10:18:19 +01:00
Folke Lemaitre e2bbf3deef
refactor: better annotations to make sumneko faster 2022-12-23 08:34:55 +01:00
Folke Lemaitre 2a7b0047dd
feat(spec): `config` can be `true` or a `table` that will be passed to `require("plugin").setup(config)` 2022-12-22 22:48:22 +01:00
Folke Lemaitre b7c489b08f
fix(loader): lua modules can be links instead of files. Fixes #66 2022-12-21 16:28:01 +01:00
Folke Lemaitre 540847b7cb
fix: strip `/` from dirs. Fixes #60 2022-12-21 10:17:10 +01:00
Folke Lemaitre 44f80a7f5d
feat(plugin): allow plugin files only without a main plugin module. Fixes #53 2022-12-21 09:03:47 +01:00
Folke Lemaitre af87108605
fix(util): fixed double slashes 2022-12-20 08:47:01 +01:00
Folke Lemaitre 198963fdab
feat: utility method to normalize a path 2022-12-20 07:19:41 +01:00
Folke Lemaitre 3f517abfa4
feat: cleanup keys/cmd handlers when loading a plugin 2022-12-03 23:42:05 +01:00
Folke Lemaitre dbe2d0942a
feat: plugins no longer need to be installed under site/pack/*/opt 2022-12-03 15:48:06 +01:00