Skip to content

feat: make format timeout configurable.#1275

Merged
Jint-lzxy merged 10 commits into0.10from
feat/configurable-format-timeout
Jul 1, 2024
Merged

feat: make format timeout configurable.#1275
Jint-lzxy merged 10 commits into0.10from
feat/configurable-format-timeout

Conversation

@ayamir
Copy link
Owner

@ayamir ayamir commented Jun 2, 2024

No description provided.

@ayamir ayamir linked an issue Jun 2, 2024 that may be closed by this pull request
@charliie-dev
Copy link
Collaborator

lmao, i'm just doing a conform.nvim migration lol

@misumisumi
Copy link
Collaborator

misumisumi commented Jun 3, 2024

When using a formatter from none-ls, a timeout appears if the formatter does not support range format and the format takes a long time.
lsp-format-modifications doesn't respect none-ls timeout?

When I set format_modifications_only to false, the timeout defined in settings.lua worked.

It may be necessary to limit the formatters to those in joechrisellis/lsp-format-modifications.nvim/issues/1 (whitelist format).

@misumisumi
Copy link
Collaborator

misumisumi commented Jun 3, 2024

I worked when setting to vim.lsp.buf.format({ timeout_ms = opt.timeout_ms }) however timeout is shown as before.
Do we add this conf in format function ?

@ayamir
Copy link
Owner Author

ayamir commented Jun 6, 2024

lmao, i'm just doing a conform.nvim migration lol

what's the progress?

@ayamir
Copy link
Owner Author

ayamir commented Jun 6, 2024

When using a formatter from none-ls, a timeout appears if the formatter does not support range format and the format takes a long time. lsp-format-modifications doesn't respect none-ls timeout?

When I set format_modifications_only to false, the timeout defined in settings.lua worked.

It may be necessary to limit the formatters to those in joechrisellis/lsp-format-modifications.nvim/issues/1 (whitelist format).

Yes, we should do more things for null-ls.

@charliie-dev
Copy link
Collaborator

what's the progress?

u can merge this pr first if it's ready.

@Jint-lzxy
Copy link
Collaborator

Yes, we should do more things for null-ls.

I think we could create a wrapper around the function (or in terms of the config, format_callback) that handles the real formatting inside lsp-format-modifications.nvim. This way, we can unify those "formatting providers" (e.g., LSP, none-ls) even without lsp-format-modifications.

@Jint-lzxy
Copy link
Collaborator

lmao, i'm just doing a conform.nvim migration lol

@CharlesChiuGit Did u find anything in conform.nvim that's (practically) better than our "native" formatting approach? I've been thinking about making the switch, but I'm still on the fence lol

@ayamir ayamir marked this pull request as draft June 10, 2024 14:57
@charliie-dev
Copy link
Collaborator

charliie-dev commented Jun 11, 2024

@CharlesChiuGit Did u find anything in conform.nvim that's (practically) better than our "native" formatting approach? I've been thinking about making the switch, but I'm still on the fence lol

@Jint-lzxy
TBH, not much really.

  1. conform.nvim uses "filetype"-based config v.s. none-ls.nvim uses linter-based config. Can't tell which is better, it's just a matter of taste.
  2. https://github.com/zapling/mason-conform.nvim vs https://github.com/jay-babu/mason-null-ls.nvim
  3. i think the best part of conform is that it supports formatting injections, for example, formatting code blocks in markdown files.( i'm not sure if none-ls can do it tho.)

I'm also working on refactoring formatting.lua since i think current setup is too complicate lol.
Here's my temporary config for conform.lua and conform_util.lua.

I'll finish it asap. plz let me know if u have any ideas or we could just stick to none-ls.

@charliie-dev
Copy link
Collaborator

after trying to migrate to conform.nvim, i think it's not a obvious advantage to do the migration.

@charliie-dev charliie-dev marked this pull request as ready for review June 17, 2024 11:01
@charliie-dev charliie-dev requested a review from Jint-lzxy June 18, 2024 08:03
@Jint-lzxy
Copy link
Collaborator

@CharlesChiuGit

( i'm not sure if none-ls can do it tho.)

afaiu, yes and no.

The "yes" part is bc we only need a little code to extend the existing API and make it work. The "no" part is that injection formatting is, as of now, still not part of the formal standard, so things can break accidentally if the standard changes and a "standard-conforming" server is being used.

But honestly, I don't find that very useful lmao most of the time I'm just using an autocmd to extract these embedded codes, format them individually, and then place them back 😂

I'm also working on refactoring formatting.lua since i think current setup is too complicate lol.

lol that's cooooool! Hope we get a sneak peek very soon 😄

plz let me know if u have any ideas or we could just stick to none-ls.

TL;DR: I don't think delegating separate document capabilities (e.g., formatting, linting) to different plugins is really a good idea. imho it's better to implement the "client-side stuff" on our end (except for the builtins) and leave everything else to a comprehensive management framework that implements the protocol itself. i.e.,:

        ┌──────────────────┐                                        
        │Other Capabilities│                                        
        │                  │                                        
  ┌─────►  vim.diagnostic  │                                        
  │     │     vim.lsp      │                                        
  │     │     extmark      │                                        
  │     │       ...        │           ┌──────────────────┐         
  │     └──────────────────┘     ┌─────►       LSPs       ├───┐     
  │                              │     │ (nvim-lspconfig) │   │     
  │ Delegates                    │     └──────────────────┘   │     
  │                              │                            │     
┌─┴────────┐                     │                      ┌─────▼────┐
│  Client  │── ── ── ── ── ── ── │◄─────────────────────┤ Servers  │
│ (Neovim) │     JSON-RPC        │                      │(Multiple)│
└─┬────────┘                     │                      └─────▲────┘
  │                              │     ┌───────────┐          │     
  │                              │     │   exec    │          │     
  │                              └─────► (none-ls) ├──────────┘     
  │ Delegates                          └───────────┘                


  │     ┌─────────────────────┐                                     
  │     │Formatting Capability│                                     
  └────►│                     │                                     
        │  > formatting.lua   │                                     
        └─────────────────────┘                                     

Long answer: lol if you ask me, I'd say I actually prefer sticking to none-ls. bc if I recall correctly, the bare bones of the LSP, apart from those fancy features like semantic tokens, are to support (a) formatting, (b) linting, and (c) AST parsing (i.e., achieving a certain degree of "understanding" of the code as a whole). And none-ls just does that. nvim-lspconfig is for servers that actually follow the specification, whereas none-ls makes the others work "as if" they implement the standard protocol.

Personally, I feel like plugins such as conform.nvim and nvim-lint indeed do their jobs pretty well, but their use cases can all be covered by none-ls. Plus, they usually don't have that "comprehensive" amount of builtins as compared to none-ls, which makes me question the reason for including two instead of just one that would do both jobs, and even better (in my workflow at least).

Also, the client-side stuff we really need to handle is actually just textDocument/*formatting (which isn't applied automatically by Neovim itself). Other features, such as visualizing linting results, are already implemented in the vim.diagnostic module and work pretty well. All of these reasons combined are why I chose to stick with none-ls lol

@charliie-dev
Copy link
Collaborator

charliie-dev commented Jun 20, 2024

@Jint-lzxy

lol that's cooooool! Hope we get a sneak peek very soon 😄

lol, i'm not going to refactor it now since my draft is based on conform.nvim and since now we're going to use conform.nvim so no need to refactor now(

edit: lol, i'm not going to refactor it now since my draft is based on conform.nvim and since now we're not going to use conform.nvim so no need to refactor now(

@Jint-lzxy
Copy link
Collaborator

lol, i'm not going to refactor it now since my draft is based on conform.nvim and since now we're going to use conform.nvim so no need to refactor now(

Sorry, but did u mean "we're NOT going to use conform.nvim"? A bit confused when reading this lol

…t possible ci issues

Signed-off-by: Charles Chiu <charleschiu@hey.com>
@charliie-dev
Copy link
Collaborator

@Jint-lzxy

Sorry, but did u mean "we're NOT going to use conform.nvim"? A bit confused when reading this lol

yeah, after trying to config conform.nvim, i don't see obvious advantages to do so. And the config is not even cleaner.

@Jint-lzxy Jint-lzxy mentioned this pull request Jun 24, 2024
3 tasks
@Jint-lzxy
Copy link
Collaborator

Jint-lzxy commented Jun 24, 2024

yeah, after trying to config conform.nvim, i don't see obvious advantages to do so. And the config is not even cleaner.

@CharlesChiuGit lol I actually meant to point out a possible typo in ur comment (looked like u missed a "not"), but anyway, thanks for the extra comments 😄

lol, i'm not going to refactor it now since my draft is based on `conform.nvim` and
since now we're going to use `conform.nvim` so no need to refactor now(
               ^
               ^ missing "not" here?

@charliie-dev
Copy link
Collaborator

yeah, lol it's a typo

@charliie-dev
Copy link
Collaborator

i think we can merge this pr now

@Jint-lzxy
Copy link
Collaborator

i think we can merge this pr now

@CharlesChiuGit iiuc we still need to implement #1275 (comment) (or sth equivalent) right? (Original issue: #1275 (comment))

ayamir added 2 commits June 29, 2024 22:38
this commit also revert the settings structure b/c we can refactor it in
another PR.
@ayamir
Copy link
Owner Author

ayamir commented Jun 29, 2024

@misumisumi Could you please check it again?

@misumisumi
Copy link
Collaborator

settings["format_modifications_only"] = false seems to work perfectly.
timeout is effective.
In case settings["format_modifications_only"] = true, the following problem occurs:

  • stylua formats with incorrect indentation
  • unsupported formatters will not format at all

You might want to add an experimental note if you don't care about modification_only.

@ayamir
Copy link
Owner Author

ayamir commented Jun 30, 2024

stylua formats with incorrect indentation

It can be repro for stylua but not for other formatters. It's the reason why my commit doesn't pass CI.

@Jint-lzxy
Copy link
Collaborator

It can be repro for stylua but not for other formatters.

I think I mentioned elsewhere that range formatters only capture the lines that have actually been changed, without necessarily being aware of the context, which can occasionally lead to errors.

@ayamir
Copy link
Owner Author

ayamir commented Jun 30, 2024

I think I mentioned elsewhere that range formatters only capture the lines that have actually been changed, without necessarily being aware of the context, which can occasionally lead to errors.

So it's a upstream bug? Perhaps use treesitter to capture the context of changes lines and commit it to the formatter is a solution. For example, stylua supports the input of --range-start and --range-end: https://github.com/JohnnyMorganz/StyLua?tab=readme-ov-file#formatting-ranges

@ayamir ayamir changed the title feat&refactor: make format timeout configurable, refactor format-related options. feat: make format timeout configurable. Jun 30, 2024
Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>
@Jint-lzxy
Copy link
Collaborator

So it's a upstream bug? Perhaps use treesitter to capture the context of changes lines and commit it to the formatter is a solution.

Hmm I think it's not. afaiu this is how the specification defines this capability. Additionally, the link u shared mentions the following:

Only whole statements lying within the range will be formatted. If part of a statement falls outside the range, the statement will be ignored.

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: ayamir <miracle_l@bupt.edu.cn>
@Jint-lzxy
Copy link
Collaborator

unsupported formatters will not format at all

@misumisumi Do u have any examples for this case? We do resort to reformatting the entire buffer if range formatting fails for any reason.

if
	format_modifications_only
	and require("lsp-format-modifications").format_modifications(client, bufnr).success
then
	if format_notify then
		vim.notify(
			string.format("[LSP] Format changed lines successfully with %s!", client.name),
			vim.log.levels.INFO,
			{ title = "LSP Range Format Success" }
		)
	end
	return
end

-- Fall back to format the whole buffer (even if partial formatting failed)
local params = vim.lsp.util.make_formatting_params(opts.formatting_options)
local result, err = client.request_sync("textDocument/formatting", params, timeout_ms, bufnr)
...

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: ayamir <miracle_l@bupt.edu.cn>
@misumisumi
Copy link
Collaborator

misumisumi commented Jun 30, 2024

Do u have any examples for this case? We do resort to reformatting the entire buffer if range formatting fails for any reason.

textlint have problem.
2024-06-30_14-33

@ayamir
Copy link
Owner Author

ayamir commented Jun 30, 2024

@misumisumi Seems it has been formatted when range format failed?

@misumisumi
Copy link
Collaborator

Yes.
This is the result when range format is enabled.
It works when range format is not enabled.

@misumisumi
Copy link
Collaborator

misumisumi commented Jun 30, 2024

I checked NullLsLog, and it seems that the formatter is not even called in the first place.
The same is true for shfmt, which does not support range formatting.
This occurs with files managed by git.
Also, files before they are managed by git can be formatted.
However, textlint fails with a timeout, perhaps ignoring timeout_ms.
(textlint inserts very heavy processing)

null-ls returns require("lsp-format-modifications").format_modifications(client, bufnr).success as true regardless of the result.

@ayamir
Copy link
Owner Author

ayamir commented Jun 30, 2024

The same is true for shfmt, which does not support range formatting.

In my test case, the format of the whole file is executed when range format failed, which is expected.

image

IMO this PR is ready to merge b/c it has been realize its original goal, i.e., make format timeout configurable.

@ayamir ayamir requested a review from Jint-lzxy July 1, 2024 01:11
Copy link
Collaborator

@Jint-lzxy Jint-lzxy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Jint-lzxy Jint-lzxy merged commit 8f30bae into 0.10 Jul 1, 2024
@Jint-lzxy Jint-lzxy deleted the feat/configurable-format-timeout branch July 1, 2024 02:03
Jint-lzxy added a commit that referenced this pull request Jul 1, 2024
* feat: implement inlay virtual text for rust and go (#759)

* feat: implement inlay virtual text for rust and go

Signed-off-by: 蔡略 <cailue@bupt.edu.cn>

* fix: go-nvim use lsp-inlayhints.nvim only

Signed-off-by: 蔡略 <cailue@bupt.edu.cn>

* refactor: move inlay-hints to `completion`

Signed-off-by: 蔡略 <cailue@bupt.edu.cn>

* feat: lua support

Signed-off-by: 蔡略 <cailue@bupt.edu.cn>

* chore(inlay-hints): remove `sumneko_lua`

* fix: set inlay-hints debug mode off

Signed-off-by: 蔡略 <cailue@bupt.edu.cn>

---------

Signed-off-by: 蔡略 <cailue@bupt.edu.cn>
Co-authored-by: Charles Chiu <charleschiu@hey.com>

* workaroud for watchfile problem (#871)

* workaroud for watchfile problem

* fix CI

* Merge branch 'main'

* chore(neodim): remove pin commit (#1142)

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* fix: remove `specs.nvim` due to long time no update.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* Merge branch 'main' into 0.10

Signed-off-by: ayamir <lgt986452565@gmail.com>

* refactor: use neovim native inlay-hint.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fix(lsp): adapt to upstream API, eliminate warning.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fix(plugins): add nvim-bqf.

* fix(go.nvim): adapt upstream api.

* feat(plugins): add dropbar.nvim for winbar.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* feat(settings): make enable_inlayhint configurable.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fixup: check user input, improve robustness.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fix(clangd): disable clangd for proto.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fixup: clean redundant config files.

* fix(gopls): unify gopls config, allow user overrides.

* fixup: clean code.

* feat(clang_format): enable clang_format for cuda and protobuf.

* fix: inlay_hint error (#1236)

* Merge remote-tracking branch 'origin' into 0.10

* fix: lua_ls workspace settings.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: upgrade to new api to judge if is a list.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: use builtin grep_string to search selection.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: general cleanup

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix: `inlayhint` -> `inlayhints`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(ts-autotag): update config format

* chore: use vim.uv in place of vim.loop.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: use vim.iter():flattern in place of vim.tbl_flattern.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: update install scripts for nvim 0.10 stable. (#1271)

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: replace deprecated apis (#1266)

* chore: use vim.lsp.get_clients in place of vim.lsp.get_active_clients.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: use vim.lsp.get_clients in place of vim.lsp.buf_get_clients.

Signed-off-by: ayamir <lgt986452565@gmail.com>

---------

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fix(toggleterm): use `""` instead of `nil` to fix auto-exit on Windows (#1267)

* fix: utilize `ts-context` in `glance` preview window (#1265)

* set ts-context floatterm zindex to 50 which greater than 45.

default zindex of glance [dnlhc/glance.nvim] floatterm is 45.
It can display on glance.

Signed-off-by: mjkx <291083247@qq.com>

* set trim_scope to inner

Signed-off-by: mjkx <291083247@qq.com>

* perf: add discription

---------

Signed-off-by: mjkx <291083247@qq.com>
Co-authored-by: CharlesChiuGit <charleschiu@hey.com>

* chore: use vim.o in place of vim.api.nvim_get_option_value. (#1269)

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fix(0.10): minor cleanup (#1276)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(scripts): update frequently used functions (#1277)

I recently refactored my frequently used commands and
thought it would be great to also port that here lol

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(docs): support v0.10 (#1278)

* feat(docs): support v0.10

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix instructions

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

---------

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(scripts): typo

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fixup! fix(scripts): typo

* feat(README): supports `0.9` -> `0.10`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* chore: cleanup

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(lualine): ensure all components are properly aligned

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* unlock rustaceanvim

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(lsp): be protective

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix: `neovim` -> `Neovim`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* Revert "fix(lualine): ensure all components are properly aligned"

This reverts commit 9be7ffe.

* feat: support new options (#1279)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(trouble)!: v3 support (#1281)

* feat(trouble)!: v3 support

This PR includes the following changes:

- *REMOVED* all features unrelated to the original purpose of
  trouble.nvim, such as LSP References (Glance.nvim covers this) and
  qf-list preview (bqf handles this).

- Added a custom mapping for searching project diagnostics. This is
  slightly different from workspace diagnostics: one is defined by
  the language server itself (e.g., see LuaLS's documentation on workspace
  diagnostics), while the other is determined with assistance from Project.nvim.

- General cleanup: I deliberately excluded LspKind support from our
  config this time bc imho it's a feature we likely won't use and
  supporting it is a real hassle.

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fixup! Missing one option

* fix: invoke `utils.load_plugin`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

---------

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* refactor: overhaul the icon library (#1282)

This PR significantly updates the icon library by expanding its
content, removing duplicates, and organizing icons into more cohesive
groups.

I've also created a custom Dropbar config that uses these icons and
adds toggleterm support.

* fix typo

* Oops... Missing one icon

* fix: invoke `utils.load_plugin`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(lsp): correctly configure diagnostic-signs (#1280)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat: disable more plugins for RO (buf|file)types (#1284)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(alpha): cannot cast `string` to `integer` for winheight (#1285)

iirc this is deprecated

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(ibl): support per-language indent config (#1287)

* feat(ibl): support per-language indent config

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fixup! feat(ibl): support per-language indent config

---------

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(ibl): more language nodes (#1288)

* feat(ibl): more language nodes

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(ibl): even more language nodes

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* chore(ibl): sorting

Signed-off-by: Charles Chiu <charleschiu@hey.com>

---------

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Charles Chiu <charleschiu@hey.com>
Co-authored-by: Charles Chiu <charleschiu@hey.com>

* feat(luasnip): support ECMAScript regexes (#1291)

As per `:h luasnip-lsp-snippets-transformations`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(core): use the lua API to set options (#1292)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat: include several new plugins (#1235)

* feat(cmp): more completion candidates from opened buffers. (#1219)

* buffer completion config

* opts -> option

* chore(lockfile): auto update lazy-lock.json

* chore(plugins): tidying up (#1221)

This commit mainly tweaks the loading events of some plugins to align with
upstream specifications. Additionally, there have been enhancements made to
certain documentation.

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(plugins): remove duplicate specifications

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix: use `init` for vim plugins (#1222)

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore(lockfile): auto update lazy-lock.json

* docs: mention the experimental nature of the 0.10 branch (#1215)

* docs: add note for 0.10 nightly branch in readme.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore(issue_template): add nightly warning

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* chore(issue_tempate): linting

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* docs: update readme for 0.10 branch.

Co-authored-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* chore(issue_template): add nightly warning

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* chore(issue_template): add nightly warning

Signed-off-by: Charles Chiu <charleschiu@hey.com>

---------

Signed-off-by: ayamir <lgt986452565@gmail.com>
Signed-off-by: Charles Chiu <charleschiu@hey.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>
Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Co-authored-by: Charles Chiu <charleschiu@hey.com>
Co-authored-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(ISSUE_TEMPLATE): format code

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(README): misplaced content

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(todo-comment): add missing keywords (#1225)

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* chore(lockfile): auto update lazy-lock.json

* fix(options): remove options managed by `vim-sleuth` (#1229)

Since all tab-related stuff is now managed by `vim-sleuth`, I think
it is better to remove the relevant options to avoid confusion.

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* chore(lockfile): auto update lazy-lock.json

* fix(rustaceanvim): use `init` for its config (#1231)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* chore(lockfile): auto update lazy-lock.json

* feat!: improve go development experience (#1226)

* chore(go): replace vim-go with go.nvim.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fix: install gopls by mason by default.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* feat(keymap): set `n|gi` to goto implementation.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore(keymap): use `gm` to jump to lsp implementations

Co-authored-by: 冷酔閑吟 <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* fixup: remove unused `map_cu`.

* chore: use gopls instead of null-ls to format.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: add notes for config options.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fixup: tidy settings for go.nvim and gopls.

* docs: update more notes for how to config go.nvim.

* chore: cleanup

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix: enable only the options that are truly necessary

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fixup! chore: cleanup

* fix(gopls): invalid config entry

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

---------

Signed-off-by: ayamir <lgt986452565@gmail.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>
Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Co-authored-by: 冷酔閑吟 <50296129+Jint-lzxy@users.noreply.github.com>
Co-authored-by: neogtliu <neogtliu@tencent.com>

* feat!: add `advanced-git-search.nvim`

* feat!: add `search.nvim` to enhance `telescope`.

* feat: reorganize keymaps for telescope search collections.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fixup: update descriptions for modified keymaps.

* chore: remove single diagnostic disable for undefined-field.

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* chore: remove diagnostic disable for undefined-field.

* feat!: replace `colorizer.lua` with `nvim-highlight-colors`

* fix: invoke `utils.load_plugin`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* chore(advanced-git-search): remove unused options

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(telescope): add collection panel for `search.nvim`

* chore: typo

* feat: more documentation

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* chore: clean up

* feat: don't hard-code collection names

* chore: use custom loader

* fix: disable warning

* fix: CI & cleanup

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* Revert `lazy-lock.json`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix: make luaJIT happy

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

---------

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: ayamir <lgt986452565@gmail.com>
Signed-off-by: Charles Chiu <charleschiu@hey.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>
Co-authored-by: mjkx <52132505+mjkx5@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: 冷酔閑吟 <50296129+Jint-lzxy@users.noreply.github.com>
Co-authored-by: Mohu <lgt986452565@gmail.com>
Co-authored-by: neogtliu <neogtliu@tencent.com>

* feat: better way to check if the (T|G)UI is running (#1297)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* chore(global): cleanup legacy code (#1296)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat: reduce the use of direct syscalls (#1294)

* feat: reduce the use of direct syscalls

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix: typo

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

---------

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(events): avoid name clashes (#1295)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* Feat/telescope collections keymaps (#1299)

* feat(telescope): add some new plugins for `search.nvim`

* fixup: correct alpha-nvim config.

* feat: more resonable keymap, add notify to misc.

Signed-off-by: ayamir <lgt986452565@gmail.com>

---------

Signed-off-by: ayamir <lgt986452565@gmail.com>
Co-authored-by: ayamir <lgt986452565@gmail.com>

* fix(gitsigns): upstream breaking changes (#1300)

See lewis6991/gitsigns.nvim@3d7e49c

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(core): missing leading path separator (#1301)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* Revert "Feat/telescope collections keymaps (#1299)" (#1302)

This reverts commit 93c06cd.

* Feat/telescope collections keymaps (#1303)

* feat(telescope): add some new plugins for `search.nvim`

* fixup: correct alpha-nvim config.

* feat: more resonable keymap, add notify to misc.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* revert: local cmp changes.

* fix: update alpha-nvim config.

* chore: update doc strings

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* Update lua/modules/configs/ui/alpha.lua

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* Update lua/modules/configs/ui/alpha.lua

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* Update lua/modules/configs/ui/alpha.lua

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* Update lua/modules/configs/ui/alpha.lua

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* Update lua/modules/configs/ui/alpha.lua

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* feat: update dotstutor.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* feat: correct several minor issues

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* chore: cleanup

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat!: mnemonic keymaps

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

---------

Signed-off-by: ayamir <lgt986452565@gmail.com>
Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>
Co-authored-by: CharlesChiuGit <charleschiu@hey.com>
Co-authored-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(treesitter): lessened performance restrictions (#1305)

* feat(treesitter): lessened performance restrictions

This commit lifts some of the performance restrictions previously imposed on
Treesitter when incremental parsing was not yet supported. Specifically:

Treesitter will now only be disabled by default for files exceeding 7,500 lines
or 2 MiB in size. Testing on an Intel i9-9880H with an APPLE SSD AP1024N shows
noticeable lag at these thresholds.

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fixup: return correct value.

---------

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Co-authored-by: ayamir <lgt986452565@gmail.com>

* chore: update plugin author's name

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* feat(nixos): add `mergeLazyLock` option (#1310)

* feat(nixos): add copyLazyLock option

* fix(nixos): fix code style

accepted modification proposed by nixd
see more nix's code style best practice below url
https://nix.dev/guides/best-practices

* fix(nixos): rename copyLazyLock to mergeLazyLock

* fix(nixos): fix discription

* fix: cmp snippets source selecting issue (#1309)

* migrate(cmp): `cmp_nvim_lsp` capabilities API update

* feat(cmp): make `<CR>` safer

* fix(cmp): occasional inability to select completion items (#1315)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: ayamir <lgt986452565@gmail.com>
Co-authored-by: ayamir <lgt986452565@gmail.com>

* feat: credit all collaborators as copyright holders (#1316)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat: make format timeout configurable (#1275)

* feat&refactor: make format timeout configurable, refactor format-related
options.

* chore(settings): set `format_modifications_only` to `false` to prevent possible ci issues

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* fix: set timeout for null-ls considering range format capability.

this commit also revert the settings structure b/c we can refactor it in
another PR.

* fixup: fix ci.

* fix: remove redundant notification.

* fixup: fix notify logic and CI.

* fixup: merge judgements.

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* fixup: remove redundant judge.

* docs: more accurate comment note.

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: ayamir <miracle_l@bupt.edu.cn>

* fix: wrong require source.

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: ayamir <miracle_l@bupt.edu.cn>

---------

Signed-off-by: Charles Chiu <charleschiu@hey.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>
Signed-off-by: ayamir <miracle_l@bupt.edu.cn>
Co-authored-by: Charles Chiu <charleschiu@hey.com>
Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>

---------

Signed-off-by: 蔡略 <cailue@bupt.edu.cn>
Signed-off-by: ayamir <lgt986452565@gmail.com>
Signed-off-by: Charles Chiu <charleschiu@hey.com>
Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: mjkx <291083247@qq.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>
Signed-off-by: ayamir <miracle_l@bupt.edu.cn>
Co-authored-by: ClSlaid <cailue@bupt.edu.cn>
Co-authored-by: Charles Chiu <charleschiu@hey.com>
Co-authored-by: Xie Zejian <xiezej@gmail.com>
Co-authored-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Co-authored-by: Mythos_404 <mythos_404@outlook.com>
Co-authored-by: mjkx <52132505+mjkx5@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: neogtliu <neogtliu@tencent.com>
Co-authored-by: MiSumiSumi <dragon511southern@gmail.com>
Deg2v pushed a commit to Deg2v/nvimdots that referenced this pull request Jan 16, 2025
* feat: implement inlay virtual text for rust and go (ayamir#759)

* feat: implement inlay virtual text for rust and go

Signed-off-by: 蔡略 <cailue@bupt.edu.cn>

* fix: go-nvim use lsp-inlayhints.nvim only

Signed-off-by: 蔡略 <cailue@bupt.edu.cn>

* refactor: move inlay-hints to `completion`

Signed-off-by: 蔡略 <cailue@bupt.edu.cn>

* feat: lua support

Signed-off-by: 蔡略 <cailue@bupt.edu.cn>

* chore(inlay-hints): remove `sumneko_lua`

* fix: set inlay-hints debug mode off

Signed-off-by: 蔡略 <cailue@bupt.edu.cn>

---------

Signed-off-by: 蔡略 <cailue@bupt.edu.cn>
Co-authored-by: Charles Chiu <charleschiu@hey.com>

* workaroud for watchfile problem (ayamir#871)

* workaroud for watchfile problem

* fix CI

* Merge branch 'main'

* chore(neodim): remove pin commit (ayamir#1142)

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* fix: remove `specs.nvim` due to long time no update.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* Merge branch 'main' into 0.10

Signed-off-by: ayamir <lgt986452565@gmail.com>

* refactor: use neovim native inlay-hint.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fix(lsp): adapt to upstream API, eliminate warning.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fix(plugins): add nvim-bqf.

* fix(go.nvim): adapt upstream api.

* feat(plugins): add dropbar.nvim for winbar.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* feat(settings): make enable_inlayhint configurable.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fixup: check user input, improve robustness.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fix(clangd): disable clangd for proto.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fixup: clean redundant config files.

* fix(gopls): unify gopls config, allow user overrides.

* fixup: clean code.

* feat(clang_format): enable clang_format for cuda and protobuf.

* fix: inlay_hint error (ayamir#1236)

* Merge remote-tracking branch 'origin' into 0.10

* fix: lua_ls workspace settings.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: upgrade to new api to judge if is a list.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: use builtin grep_string to search selection.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: general cleanup

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix: `inlayhint` -> `inlayhints`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(ts-autotag): update config format

* chore: use vim.uv in place of vim.loop.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: use vim.iter():flattern in place of vim.tbl_flattern.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: update install scripts for nvim 0.10 stable. (ayamir#1271)

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: replace deprecated apis (ayamir#1266)

* chore: use vim.lsp.get_clients in place of vim.lsp.get_active_clients.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: use vim.lsp.get_clients in place of vim.lsp.buf_get_clients.

Signed-off-by: ayamir <lgt986452565@gmail.com>

---------

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fix(toggleterm): use `""` instead of `nil` to fix auto-exit on Windows (ayamir#1267)

* fix: utilize `ts-context` in `glance` preview window (ayamir#1265)

* set ts-context floatterm zindex to 50 which greater than 45.

default zindex of glance [dnlhc/glance.nvim] floatterm is 45.
It can display on glance.

Signed-off-by: mjkx <291083247@qq.com>

* set trim_scope to inner

Signed-off-by: mjkx <291083247@qq.com>

* perf: add discription

---------

Signed-off-by: mjkx <291083247@qq.com>
Co-authored-by: CharlesChiuGit <charleschiu@hey.com>

* chore: use vim.o in place of vim.api.nvim_get_option_value. (ayamir#1269)

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fix(0.10): minor cleanup (ayamir#1276)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(scripts): update frequently used functions (ayamir#1277)

I recently refactored my frequently used commands and
thought it would be great to also port that here lol

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(docs): support v0.10 (ayamir#1278)

* feat(docs): support v0.10

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix instructions

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

---------

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(scripts): typo

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fixup! fix(scripts): typo

* feat(README): supports `0.9` -> `0.10`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* chore: cleanup

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(lualine): ensure all components are properly aligned

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* unlock rustaceanvim

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(lsp): be protective

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix: `neovim` -> `Neovim`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* Revert "fix(lualine): ensure all components are properly aligned"

This reverts commit 9be7ffe.

* feat: support new options (ayamir#1279)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(trouble)!: v3 support (ayamir#1281)

* feat(trouble)!: v3 support

This PR includes the following changes:

- *REMOVED* all features unrelated to the original purpose of
  trouble.nvim, such as LSP References (Glance.nvim covers this) and
  qf-list preview (bqf handles this).

- Added a custom mapping for searching project diagnostics. This is
  slightly different from workspace diagnostics: one is defined by
  the language server itself (e.g., see LuaLS's documentation on workspace
  diagnostics), while the other is determined with assistance from Project.nvim.

- General cleanup: I deliberately excluded LspKind support from our
  config this time bc imho it's a feature we likely won't use and
  supporting it is a real hassle.

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fixup! Missing one option

* fix: invoke `utils.load_plugin`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

---------

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* refactor: overhaul the icon library (ayamir#1282)

This PR significantly updates the icon library by expanding its
content, removing duplicates, and organizing icons into more cohesive
groups.

I've also created a custom Dropbar config that uses these icons and
adds toggleterm support.

* fix typo

* Oops... Missing one icon

* fix: invoke `utils.load_plugin`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(lsp): correctly configure diagnostic-signs (ayamir#1280)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat: disable more plugins for RO (buf|file)types (ayamir#1284)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(alpha): cannot cast `string` to `integer` for winheight (ayamir#1285)

iirc this is deprecated

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(ibl): support per-language indent config (ayamir#1287)

* feat(ibl): support per-language indent config

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fixup! feat(ibl): support per-language indent config

---------

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(ibl): more language nodes (ayamir#1288)

* feat(ibl): more language nodes

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(ibl): even more language nodes

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* chore(ibl): sorting

Signed-off-by: Charles Chiu <charleschiu@hey.com>

---------

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Charles Chiu <charleschiu@hey.com>
Co-authored-by: Charles Chiu <charleschiu@hey.com>

* feat(luasnip): support ECMAScript regexes (ayamir#1291)

As per `:h luasnip-lsp-snippets-transformations`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(core): use the lua API to set options (ayamir#1292)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat: include several new plugins (ayamir#1235)

* feat(cmp): more completion candidates from opened buffers. (ayamir#1219)

* buffer completion config

* opts -> option

* chore(lockfile): auto update lazy-lock.json

* chore(plugins): tidying up (ayamir#1221)

This commit mainly tweaks the loading events of some plugins to align with
upstream specifications. Additionally, there have been enhancements made to
certain documentation.

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(plugins): remove duplicate specifications

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix: use `init` for vim plugins (ayamir#1222)

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore(lockfile): auto update lazy-lock.json

* docs: mention the experimental nature of the 0.10 branch (ayamir#1215)

* docs: add note for 0.10 nightly branch in readme.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore(issue_template): add nightly warning

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* chore(issue_tempate): linting

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* docs: update readme for 0.10 branch.

Co-authored-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* chore(issue_template): add nightly warning

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* chore(issue_template): add nightly warning

Signed-off-by: Charles Chiu <charleschiu@hey.com>

---------

Signed-off-by: ayamir <lgt986452565@gmail.com>
Signed-off-by: Charles Chiu <charleschiu@hey.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>
Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Co-authored-by: Charles Chiu <charleschiu@hey.com>
Co-authored-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(ISSUE_TEMPLATE): format code

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(README): misplaced content

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(todo-comment): add missing keywords (ayamir#1225)

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* chore(lockfile): auto update lazy-lock.json

* fix(options): remove options managed by `vim-sleuth` (ayamir#1229)

Since all tab-related stuff is now managed by `vim-sleuth`, I think
it is better to remove the relevant options to avoid confusion.

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* chore(lockfile): auto update lazy-lock.json

* fix(rustaceanvim): use `init` for its config (ayamir#1231)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* chore(lockfile): auto update lazy-lock.json

* feat!: improve go development experience (ayamir#1226)

* chore(go): replace vim-go with go.nvim.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fix: install gopls by mason by default.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* feat(keymap): set `n|gi` to goto implementation.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore(keymap): use `gm` to jump to lsp implementations

Co-authored-by: 冷酔閑吟 <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* fixup: remove unused `map_cu`.

* chore: use gopls instead of null-ls to format.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* chore: add notes for config options.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fixup: tidy settings for go.nvim and gopls.

* docs: update more notes for how to config go.nvim.

* chore: cleanup

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix: enable only the options that are truly necessary

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fixup! chore: cleanup

* fix(gopls): invalid config entry

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

---------

Signed-off-by: ayamir <lgt986452565@gmail.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>
Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Co-authored-by: 冷酔閑吟 <50296129+Jint-lzxy@users.noreply.github.com>
Co-authored-by: neogtliu <neogtliu@tencent.com>

* feat!: add `advanced-git-search.nvim`

* feat!: add `search.nvim` to enhance `telescope`.

* feat: reorganize keymaps for telescope search collections.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* fixup: update descriptions for modified keymaps.

* chore: remove single diagnostic disable for undefined-field.

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* chore: remove diagnostic disable for undefined-field.

* feat!: replace `colorizer.lua` with `nvim-highlight-colors`

* fix: invoke `utils.load_plugin`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* chore(advanced-git-search): remove unused options

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(telescope): add collection panel for `search.nvim`

* chore: typo

* feat: more documentation

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* chore: clean up

* feat: don't hard-code collection names

* chore: use custom loader

* fix: disable warning

* fix: CI & cleanup

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* Revert `lazy-lock.json`

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix: make luaJIT happy

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

---------

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: ayamir <lgt986452565@gmail.com>
Signed-off-by: Charles Chiu <charleschiu@hey.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>
Co-authored-by: mjkx <52132505+mjkx5@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: 冷酔閑吟 <50296129+Jint-lzxy@users.noreply.github.com>
Co-authored-by: Mohu <lgt986452565@gmail.com>
Co-authored-by: neogtliu <neogtliu@tencent.com>

* feat: better way to check if the (T|G)UI is running (ayamir#1297)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* chore(global): cleanup legacy code (ayamir#1296)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat: reduce the use of direct syscalls (ayamir#1294)

* feat: reduce the use of direct syscalls

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix: typo

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

---------

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(events): avoid name clashes (ayamir#1295)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* Feat/telescope collections keymaps (ayamir#1299)

* feat(telescope): add some new plugins for `search.nvim`

* fixup: correct alpha-nvim config.

* feat: more resonable keymap, add notify to misc.

Signed-off-by: ayamir <lgt986452565@gmail.com>

---------

Signed-off-by: ayamir <lgt986452565@gmail.com>
Co-authored-by: ayamir <lgt986452565@gmail.com>

* fix(gitsigns): upstream breaking changes (ayamir#1300)

See lewis6991/gitsigns.nvim@3d7e49c

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fix(core): missing leading path separator (ayamir#1301)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* Revert "Feat/telescope collections keymaps (ayamir#1299)" (ayamir#1302)

This reverts commit 93c06cd.

* Feat/telescope collections keymaps (ayamir#1303)

* feat(telescope): add some new plugins for `search.nvim`

* fixup: correct alpha-nvim config.

* feat: more resonable keymap, add notify to misc.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* revert: local cmp changes.

* fix: update alpha-nvim config.

* chore: update doc strings

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* Update lua/modules/configs/ui/alpha.lua

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* Update lua/modules/configs/ui/alpha.lua

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* Update lua/modules/configs/ui/alpha.lua

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* Update lua/modules/configs/ui/alpha.lua

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* Update lua/modules/configs/ui/alpha.lua

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* feat: update dotstutor.

Signed-off-by: ayamir <lgt986452565@gmail.com>

* feat: correct several minor issues

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* chore: cleanup

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat!: mnemonic keymaps

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

---------

Signed-off-by: ayamir <lgt986452565@gmail.com>
Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>
Co-authored-by: CharlesChiuGit <charleschiu@hey.com>
Co-authored-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat(treesitter): lessened performance restrictions (ayamir#1305)

* feat(treesitter): lessened performance restrictions

This commit lifts some of the performance restrictions previously imposed on
Treesitter when incremental parsing was not yet supported. Specifically:

Treesitter will now only be disabled by default for files exceeding 7,500 lines
or 2 MiB in size. Testing on an Intel i9-9880H with an APPLE SSD AP1024N shows
noticeable lag at these thresholds.

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* fixup: return correct value.

---------

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Co-authored-by: ayamir <lgt986452565@gmail.com>

* chore: update plugin author's name

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* feat(nixos): add `mergeLazyLock` option (ayamir#1310)

* feat(nixos): add copyLazyLock option

* fix(nixos): fix code style

accepted modification proposed by nixd
see more nix's code style best practice below url
https://nix.dev/guides/best-practices

* fix(nixos): rename copyLazyLock to mergeLazyLock

* fix(nixos): fix discription

* fix: cmp snippets source selecting issue (ayamir#1309)

* migrate(cmp): `cmp_nvim_lsp` capabilities API update

* feat(cmp): make `<CR>` safer

* fix(cmp): occasional inability to select completion items (ayamir#1315)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: ayamir <lgt986452565@gmail.com>
Co-authored-by: ayamir <lgt986452565@gmail.com>

* feat: credit all collaborators as copyright holders (ayamir#1316)

Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>

* feat: make format timeout configurable (ayamir#1275)

* feat&refactor: make format timeout configurable, refactor format-related
options.

* chore(settings): set `format_modifications_only` to `false` to prevent possible ci issues

Signed-off-by: Charles Chiu <charleschiu@hey.com>

* fix: set timeout for null-ls considering range format capability.

this commit also revert the settings structure b/c we can refactor it in
another PR.

* fixup: fix ci.

* fix: remove redundant notification.

* fixup: fix notify logic and CI.

* fixup: merge judgements.

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>

* fixup: remove redundant judge.

* docs: more accurate comment note.

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: ayamir <miracle_l@bupt.edu.cn>

* fix: wrong require source.

Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: ayamir <miracle_l@bupt.edu.cn>

---------

Signed-off-by: Charles Chiu <charleschiu@hey.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>
Signed-off-by: ayamir <miracle_l@bupt.edu.cn>
Co-authored-by: Charles Chiu <charleschiu@hey.com>
Co-authored-by: jint_lzxy_ <50296129+Jint-lzxy@users.noreply.github.com>

---------

Signed-off-by: 蔡略 <cailue@bupt.edu.cn>
Signed-off-by: ayamir <lgt986452565@gmail.com>
Signed-off-by: Charles Chiu <charleschiu@hey.com>
Signed-off-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Signed-off-by: mjkx <291083247@qq.com>
Signed-off-by: Mohu <miracle_l@bupt.edu.cn>
Signed-off-by: ayamir <miracle_l@bupt.edu.cn>
Co-authored-by: ClSlaid <cailue@bupt.edu.cn>
Co-authored-by: Charles Chiu <charleschiu@hey.com>
Co-authored-by: Xie Zejian <xiezej@gmail.com>
Co-authored-by: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com>
Co-authored-by: Mythos_404 <mythos_404@outlook.com>
Co-authored-by: mjkx <52132505+mjkx5@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: neogtliu <neogtliu@tencent.com>
Co-authored-by: MiSumiSumi <dragon511southern@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow format timeouts to be set individually

4 participants