Commit graph

250 commits

Author SHA1 Message Date
Lawrence Ho
28a7f8126c
feat(java): new java mappings format for which-key v3 (#4013)
## Description

Use which-key v3 format for java mappings.

`<leader>c` is removed as it is reported as a duplicate mapping in
health check.

## Related Issue(s)


## Screenshots


## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-13 09:54:58 +02:00
Folke Lemaitre
702471e454
feat: new mappings format for which-key v3. Forgot to push :) 2024-07-12 22:54:35 +02:00
Iordanis Petkakis
8bfd9a50a7
fix(php): php_cs_fixer is the correct name (#3991)
## Description
`conform.nvim` was not using the correct formatter name for
`php-cs-fixer` (which is the name of the binary).
Also move `conform.nvim` spec outside of `nvim-lint` spec.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
Fixes #3985
<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-11 17:40:17 +02:00
sus-domesticus
b481b644dd
fix(java): fix config_overrides for tests (#3968)
## Description
Problem
In the default configuration `opts.test` is a boolean and the code tries
to access `opts.test.config_overrides` which results in an error.

Solution
Use control flow to return nil in the case of `opts.test` being boolean.

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
  - Fixes #3965.

## Checklist

- [ x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-09 17:12:02 +02:00
kezhenxu94
8b2eacb6ac
feat(java): allow overriding test config (#3891)
## What is this PR for?

Allow overriding java test config

## Does this PR fix an existing issue?

NO

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-07 20:50:13 +02:00
Michael Olson
aa418a2147
feat(icons): provide language specific icons in extras (#3931)
## What is this PR for?

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

Provide language specific file icons. The intent is to lay the
foundation of this type of extension / configuration. I've added icons
for file types that I interact with but this is definitely not holistic.
I also went back and forth on whether the configuration should be within
the core UI config or in the extras (I landed on the later). Definitely
open to feedback on these changes.

## Does this PR fix an existing issue?

<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

Nope.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-07-07 19:28:51 +02:00
Ray Guo
4b0f720457
feat(vue): enabled hybrid mode to avoid 2 typescript lsp running at same time (#3908)
## What is this PR for?

At the moment, the config for vue set hybrid mode to `false` which volar
will run a typescript server under the hook. ( hybrid mode false is the
takeover mode in v1, was introduced in `2.0.7` see more information
here: https://github.com/vuejs/language-tools/pull/4119 ).

However, another vtsls with vue language plugin also attached to vue
files, this will cause two typescript server running at the same time.
It can be very easily observed with tools like `htop` volar and vtsls
will have similar memory usage which is abnormal because volar should be
very light by itself. This will introduce issues like duplicate
diagnostics, see
https://github.com/vuejs/language-tools/issues/4159#issuecomment-2208101079

In this pull request, I set the hybrid mode to true as default because
the hybrid mode is the "correct" way moving forward, thus it would be
more stable. Let me know if you feel it should stay as `false` to be
default.

## Does this PR fix an existing issue?

No existing issue.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-05 16:12:04 +02:00
George Guimarães
9c7d3dc75e
feat(erlang): add Erlang language (#3911)
I usually work with Elixir codebases, but sometimes I want to browse and
code with Erlang codebases, so here is the config I've been using for
Erlang.
2024-07-04 20:47:33 +02:00
Folke Lemaitre
8a6875ab3b
perf(markdown): only run markdownlint-cli2 formatter when there are markdownlint diagnostics for the buffer 2024-06-30 11:16:10 +02:00
Folke Lemaitre
73e72ee21d
perf(markdown): don't format with markdown-toc when no toc in the doc 2024-06-29 15:37:51 +02:00
Adrian Wilkins
0fede4040b
feat(java): enable Lombok support in jdtls (#3852)
jdtls needs an argument passed to the JVM to load Lombok as an agent.

Mason downloads `lombok.jar`so we can use that

## What is this PR for?

Configures Lombok support in `jdtls` ; this removes a lot of red
underlines in Java projects that use it.

Changes this

![image](87dbe37a-7d2c-4410-a600-c702e3097f63)

To this

![image](db6ada27-82f3-4052-a0c8-1e62882aaffc)


- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.

Co-authored-by: Adrian Wilkins <adrian.wilkins.contractor@dvla.gov.uk>
2024-06-29 11:45:53 +02:00
Maximilian Stinsky
f47d105b80
feat(extras): switch to markdownlint-cli2 (#3843)
## What is this PR for?
This PR switches makrdownlint-cli to markdownlint-cli2.
markdownlint-cli2 should be a bit faster than markdownlint-cli and has a
more flexible configuration through files in the whole directory tree.
The cli is maintained by David Anson who also wrote the markdown style
checker itself which is used by the "old" cli and cli2.

Blog post from David Anson regarding the new cli itself:
https://dlaa.me/blog/post/markdownlintcli2

## Does this PR fix an existing issue?
 No

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-29 10:41:20 +02:00
Arthur
c6b29713a0
docs(extra.sql): add sql options docs (#3765)
## What is this PR for?

A small contribution to enhance the documentation and make it easier to
use.

While vim-dadbod and vim-dadbod-ui recommend using dotenv.vim for env
file injection, we aim to provide a simpler method. Instead of
implementing file parsing or relying on an external plugin (dotenv.vim),
just try directly using a Lua table.

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Does this PR fix an existing issue?

none!

<!--
  If this PR fixes any issues, please link to the issue here.
  Fixes #<issue_number>
-->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-25 22:01:04 +02:00
Slava Markevich
c13215814c
fix(elixir): fix credo detection for elixir linters. (#3809)
## What is this PR for?
Fix detection of elixir `credo` linter. 

`vim.fn.executable("credo") == 0` will never succeed because `credo` is
not binary/executable. It is a `mix` package and only available via `mix
credo` command.

Instead, the plugins(both `none-ls` and `nvim-lint`) will check for the
presence of the `.credo.exs` file.

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Does this PR fix an existing issue?
Fixes #3808 
<!--
  If this PR fixes any issues, please link to the issue here.
  Fixes #<issue_number>
-->

## Checklist
- [x] Both linters display credo warnings if `credo` is installed and
the `.credo.exs` config exists in a project.
- [x] There are no errors if the `.credo.exs` file does not exist in the
project.
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-25 21:04:32 +02:00
Folke Lemaitre
351336244c
perf(markdown): add filetype in VeryLazy 2024-06-24 22:11:59 +02:00
Sandeep Dilip
8be66bb1a6
fix(extras.astro): support astro.config.ts root (#3786)
## What is this PR for?

Support
[`astro.config.ts`](https://docs.astro.build/en/guides/configuring-astro/#supported-config-file-types)
as a root file for the Astro extra.

## Does this PR fix an existing issue?

N/A

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-23 22:19:47 +02:00
Folke Lemaitre
abec8fbb03
fix(markdown): added support for mdx files 2024-06-23 08:56:15 +02:00
Fredrik Averpil
55464b77c6
feat(go): switch to neotest-golang (#3749)
## What is this PR for?

This PR switches
[nvim-neotest/neotest-go](https://github.com/nvim-neotest/neotest-go)
for
[fredrikaverpil/neotest-golang](https://github.com/fredrikaverpil/neotest-golang).

## Does this PR fix an existing issue?

Neotest-go comes with some problems which are mitigated in
neotest-golang. A full description/background is available in the
project README, but here are some highlights:

### Neotest-go issues mitigated in neotest-golang

- Test Output in JSON, making it difficult to read:
[neotest-go#52](https://github.com/nvim-neotest/neotest-go/issues/52)
- "Run nearest" runs all tests:
[neotest-go#83](https://github.com/nvim-neotest/neotest-go/issues/83)
- Running test suite doesn't work:
[neotest-go#89](https://github.com/nvim-neotest/neotest-go/issues/89)
- Diagnostics for table tests on the line of failure:
[neotest-go#75](https://github.com/nvim-neotest/neotest-go/issues/75)
- Support for Nested Subtests:
[neotest-go#74](https://github.com/nvim-neotest/neotest-go/issues/74)
- DAP support:
[neotest-go#12](https://github.com/nvim-neotest/neotest-go/issues/12)

### Features

- Supports all [Neotest
usage](https://github.com/nvim-neotest/neotest#usage).
- Integrates with [nvim-dap-go](https://github.com/leoluz/nvim-dap-go)
for debugging of tests using delve.
- Inline diagnostics.
- Works great with
[andythigpen/nvim-coverage](https://github.com/andythigpen/nvim-coverage)
for displaying coverage in the sign column (per-Go package, or per-test
basis).
- Monorepo support (detect, run and debug tests in sub-projects).
- Supports table tests (relies on treesitter AST detection).
- Supports nested test functions.

## Notes

- I'm the author of
[fredrikaverpil/neotest-golang](https://github.com/fredrikaverpil/neotest-golang).


## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-23 07:01:22 +02:00
Adam K
67eece6d74
fix(extras.python): avoid launching extra console with dap on Windows (#3723)
On Windows, when using dap, python.exe will launch an extra console. If
you target pythonw.exe this avoids that. Explanation source:
https://stackoverflow.com/questions/9705982/pythonw-exe-or-python-exe

## What is this PR for?

Modify which exe is targeted for python + dap on windows. If you use
python.exe an extra console launches (eg, nvim is runnining on Wezterm,
boot up dap, and as a result an external console (usually through
windows terminal or built-in console terminal) will launch (dap still
runs in the original window). This is avoided with pythonw.exe

## Does this PR fix an existing issue?

No

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-18 21:31:41 +02:00
Ahmed Kamal
1101c3ed24
feat(extra): add prisma support and config (#3684)
## What is this PR for?

Adding support for prisma

## Does this PR fix an existing issue?

No

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.

---------

Co-authored-by: Ben Puryear <54869170+Ben10164@users.noreply.github.com>
2024-06-18 19:03:19 +02:00
dbger
06f13daf72
fix(dap): get the correct debugpy pkg path on windows (#3716)
## What is this PR for?
fix(dap): get the correct debugpy pkg path on windows.

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Does this PR fix an existing issue?

<!--
  If this PR fixes any issues, please link to the issue here.
  Fixes #<issue_number>
-->

## Checklist

- [ ] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-18 19:02:41 +02:00
Tony Messias
ea3b5cc2ab
feat(php): allow using intelephense instead of phpactor in php extras (#3691)
## What is this PR for?

- Allows setting intelephense instead of phpactor for PHP's LSP

## Does this PR fix an existing issue?

No. But I personally use intelephesen myself and when researching on how
to use the PHP extras but swap phpactor (too verbose, imo) for
intelephense, I found this [comment
here](https://github.com/LazyVim/LazyVim/pull/3397#issuecomment-2141950186)
which suggested making it configurable like the Python extras. That's
what I'm doing here.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-17 06:47:47 +02:00
Folke Lemaitre
e0e1ab01af
fix(dap): make sure mason-dap is loaded after initializing dap. See #3663 2024-06-15 10:19:48 +02:00
Ahmed Kamal
06f5ef928f
fix(elixir): add missing lspconfig (#3661)
## What is this PR for?
add missing elixir lspconfig

## Does this PR fix an existing issue?

lspconfig is missing for elixir and since mason was removed in
f8268faa7c,
elixirls is no longer automatically installed.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-15 09:30:39 +02:00
Iordanis Petkakis
2d689763e4
fix(rust): incorporate latest changes from rustaceanvim (#3655)
## What is this PR for?

After recent changes in `rustaceanvim` in
https://github.com/mrcjkb/rustaceanvim/pull/403, `checkOnSave` is
supposed to be boolean and the table that we were passing to
`checkOnSave` previously should be passed to `check` instead. I left the
`check` table undefined, because the options that we were passing to
`checkOnSave` before are the default ones being passed to `check`. So,
only if the user wants to change something should he change the values
of the `check` table according to what he wants.

## Does this PR fix an existing issue?

No
## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-14 23:07:42 +02:00
xiaojianzheng
5070694861
fix(vue): disable volar hybrid mode since it interferes with tsserver (#3654)
can not inc-rename when volar is enabled.

After the configuration in commit was added, the inc-rename operation
returned to normal.

I suspect that volar's Hybrid mode affects the rename operation.


https://github.com/vuejs/language-tools?tab=readme-ov-file#none-hybrid-modesimilar-to-takeover-mode-configuration-requires-vuelanguage-server-version-207

Co-authored-by: 肖健正 <xiaojianzheng@qq.com>
2024-06-14 23:06:53 +02:00
Folke Lemaitre
74c1766479
fix(python): only enable venv-selector when telescope is availble. See #3612 2024-06-13 17:02:30 +02:00
Folke Lemaitre
39a908c9fa
feat(pick): move pickers to extras (telescope still the default) (#3606)
## What is this PR for?

Refactoring of pickers in LazyVim:

- [x] telescope moved to extras
- [x] dressing was moved to the telescope extra. Not needed with fzf-lua
and noice
- [x] when none of the two is enabled, then telescope will be enabled
- [x] when using `:LazyExtras` to enable fzf-lua, the telescope spec
will never be parsed
- [x] when not using `:LazyExras`, the spec will be parsed, but one of
the two will be disabled.
- [x] only one picker extra can be used to prevent issues
- [ ] cleanup lsp keymaps
2024-06-13 06:07:02 +02:00
Folke Lemaitre
a3547e4b3b
revert: "fix(dap): set host to 127.0.0.1 instead of localhost to prevent issues with ipv6. Fixes #3577"
This reverts commit 9b8a393edc.
2024-06-11 19:14:27 +02:00
Folke Lemaitre
bd29f45153
fix(sql): make sure edgebars exist. Fixes #3578 2024-06-11 09:10:10 +02:00
Folke Lemaitre
9b8a393edc
fix(dap): set host to 127.0.0.1 instead of localhost to prevent issues with ipv6. Fixes #3577 2024-06-11 06:55:16 +02:00
Folke Lemaitre
7d30360df2
refactor: config = true >> opts = {} 2024-06-11 00:06:56 +02:00
Muneeb Usmani
f5dc867ac2
fix(php): formatting and linting (#3540)
Fixed the issue of php formatting not working in extras.lang.php
2024-06-10 22:01:24 +02:00
Micah Halter
1c46f54432
fix(typescript): clean up configuration of the vscode dap extension (#3556)
`mason-nvim-dap.nvim` adds it's own adapter filetype mappings to the
vscode extension in `nvim-dap` (as of
https://github.com/jay-babu/mason-nvim-dap.nvim/pull/129)

This also moves the type mappings for the `pwa-node` and `node` adapters
to where they are defined in the typescript pack.

Now that the default internal type mappings are configured we can rely
on the automatic loading of the `.vscode/launch.json` that `nvim-dap`
does
2024-06-09 22:48:51 +02:00
Folke Lemaitre
547dc76a12
fix(rust): make neotest optional 2024-06-09 09:27:29 +02:00
Ian
0567b37f61
fix(lang): neotest not loading rust tests (#3544)
fixes https://github.com/LazyVim/LazyVim/issues/3543
2024-06-09 08:37:08 +02:00
DrummyFloyd
02dd65cdea
fix(helm): missing dependency (#3546)
according to this comment
ab41ff551b (r142924660)
2024-06-09 07:33:59 +02:00
Mykhailo Sabatura
fbb1276ffd
fix(extra-lang-angular): add BufNew event to attach angular treesitter (#3522)
## Problem

Sometimes angular treesitter didn't get started, e.g. when creating a
new file.

## Solution

- Add `BufNew` event to attach angular treesitter.
- Change `BufRead` to `BufReadPost` for better readability.

### Related Neovim docs
- [BufRead / BufReadPost
docs](https://neovim.io/doc/user/autocmd.html#BufRead)
- [BufNew](https://neovim.io/doc/user/autocmd.html#BufNew)
2024-06-08 23:57:45 +02:00
Folke Lemaitre
8f7ee56dab
refactor: LazyVim.lsp.on_attach 2024-06-08 08:11:30 +02:00
Folke Lemaitre
d90930b13e
fix(typescript): implemented move to new file. Fixes #3534 2024-06-08 07:30:49 +02:00
Folke Lemaitre
cfa8c9fbd4
fix(clojure): removed rainbow delimiters and fixed some plugin setups. Closes #3530 2024-06-07 23:10:40 +02:00
Folke Lemaitre
945143a34e
feat(svelte): with prettier & svelte extra, prettier will be enabled when prettier-plugin-svelte is available 2024-06-07 23:02:47 +02:00
Folke Lemaitre
214f5fccdf
feat(prettier): with the prettier & astro extra, prettier will be enabled if the prettier-astro-plugin is available 2024-06-07 23:02:47 +02:00
antónio mora
913902ba36
feat(lang): add clojure support (#2179)
This adds support to Clojure as an extra _lang_ configuration. 
Closes https://github.com/LazyVim/LazyVim/pull/1484
@folke I read the docs and couldn't find a recommendation on _how_ to
suggest features, so I figured opening a PR should be enought. please
let me know if I should do anything else.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-07 17:23:23 +02:00
Folke Lemaitre
ab41ff551b
refactor: use lazy's new opts_extend functionality for treesitter and mason 2024-06-07 09:03:59 +02:00
Igor Guerrero
59495c1871
feat(sql): add SQL extra (#1740)
Co-authored-by: Fredrik Averpil <fredrik.averpil@gmail.com>
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-06 23:27:59 +02:00
DrummyFloyd
a9aea4b5a1
fix(markdown): missing markdown-toc in mason (#3499)
missing `markdown-toc` in ensure installed for `extra/markdown`
2024-06-06 16:22:40 +02:00
Iordanis Petkakis
3654098520
fix(php): php gets recommended in every .git repo (#3496) 2024-06-06 16:07:39 +02:00
Andrea C from The App
4742390960
feat(lang): add elm (#3023)
Adding https://elm-lang.org support.

- Adds `elm` Treesitter parsers
- Adds `elm-language-server` language server
- Adds `elm-format` formatter

## LSP Configuration

The default
[elm-language-server](https://github.com/elm-tooling/elm-language-server)
configuration matches all [currently supported features for Neovim
LSP](https://github.com/elm-tooling/elm-language-server#editor-support).

## A note on elm-test and elm-review

`elm-test` is not directly supported by [neo-test](../test/neotest) but
it's available via
[neotest-vim-test](https://github.com/nvim-neotest/neotest-vim-test).

However, it is common practice to peruse both
[elm-test](https://github.com/elm-explorations/test/) and
[elm-review](https://github.com/jfmengels/elm-review) directly via the
command line.

---------

Co-authored-by: gacallea <gacallea@users.noreply.github.com>
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-06 13:36:02 +02:00
李晓辉
5a19f6b5fe
feat(extras): add thrift lang support (#2804)
This PR adds support for thriftls, the first line is because thrift is
not among the neovim built-in file types.

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-06 13:30:17 +02:00