Commit Graph

252 Commits

Author SHA1 Message Date
9bce054faf fix(tailwind): additional tailwind completion settings for phoenix projects (#3961)
## Description

Tailwind completions stopped working in Phoenix projects that have
`HTML`, `HEEX` or `Elixir files with ~H sigils`.

Broader discussion and recommended solution:
https://github.com/tailwindlabs/tailwindcss-intellisense/issues/1002

## Related Issue(s)


## Screenshots

![Screenshot 2024-07-08 at 9 05
45 PM](https://github.com/LazyVim/LazyVim/assets/379021/8572e6c1-12dd-454c-b60e-3b33ae448284)
![Screenshot 2024-07-08 at 9 05
08 PM](https://github.com/LazyVim/LazyVim/assets/379021/f93bdc28-813e-4485-b40d-146c1670b8c2)


## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-14 07:53:18 +02:00
b3e746b637 fix(omnisharp): don't detach coreclr debug adapter (#4023)
## Description

Debugging c# with the Omnisharp plugin doesn't work, as described by
myself in #4004. Turns out this is a known issue with how nvim-dap calls
the mason netcoredbg cmd script. [The
solution](https://github.com/jay-babu/mason-nvim-dap.nvim/issues/132) is
to pass `detach = false` as an option to the debug adapter. I've tested
and it works on my windows machine.

## Related Issue(s)

#4004

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-14 07:52:53 +02:00
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
702471e454 feat: new mappings format for which-key v3. Forgot to push :) 2024-07-12 22:54:35 +02:00
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
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
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
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
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
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
8a6875ab3b perf(markdown): only run markdownlint-cli2 formatter when there are markdownlint diagnostics for the buffer 2024-06-30 11:16:10 +02:00
73e72ee21d perf(markdown): don't format with markdown-toc when no toc in the doc 2024-06-29 15:37:51 +02:00
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](https://github.com/LazyVim/LazyVim/assets/368399/87dbe37a-7d2c-4410-a600-c702e3097f63)

To this

![image](https://github.com/LazyVim/LazyVim/assets/368399/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
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
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
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
351336244c perf(markdown): add filetype in VeryLazy 2024-06-24 22:11:59 +02:00
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
abec8fbb03 fix(markdown): added support for mdx files 2024-06-23 08:56:15 +02:00
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
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
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
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
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
e0e1ab01af fix(dap): make sure mason-dap is loaded after initializing dap. See #3663 2024-06-15 10:19:48 +02:00
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
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
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
74c1766479 fix(python): only enable venv-selector when telescope is availble. See #3612 2024-06-13 17:02:30 +02:00
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
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
bd29f45153 fix(sql): make sure edgebars exist. Fixes #3578 2024-06-11 09:10:10 +02:00
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
7d30360df2 refactor: config = true >> opts = {} 2024-06-11 00:06:56 +02:00
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
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
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
02dd65cdea fix(helm): missing dependency (#3546)
according to this comment
ab41ff551b (r142924660)
2024-06-09 07:33:59 +02:00
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
8f7ee56dab refactor: LazyVim.lsp.on_attach 2024-06-08 08:11:30 +02:00
d90930b13e fix(typescript): implemented move to new file. Fixes #3534 2024-06-08 07:30:49 +02:00
cfa8c9fbd4 fix(clojure): removed rainbow delimiters and fixed some plugin setups. Closes #3530 2024-06-07 23:10:40 +02:00
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
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
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
ab41ff551b refactor: use lazy's new opts_extend functionality for treesitter and mason 2024-06-07 09:03:59 +02:00
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
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
3654098520 fix(php): php gets recommended in every .git repo (#3496) 2024-06-06 16:07:39 +02:00