Commit Graph

23 Commits

Author SHA1 Message Date
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
7d30360df2 refactor: config = true >> opts = {} 2024-06-11 00:06:56 +02:00
8f7ee56dab refactor: LazyVim.lsp.on_attach 2024-06-08 08:11:30 +02:00
ab41ff551b refactor: use lazy's new opts_extend functionality for treesitter and mason 2024-06-07 09:03:59 +02:00
c29213416b feat(extras): added recommended detectors for all languages 2024-05-18 14:39:20 +02:00
7a5dbeae75 feat: use LazyVim everywhere instead of require("lazyvim.util") 2024-03-22 09:15:09 +01:00
e8e7d22f56 fix(go): adding opts recursive_run (#2520)
Adding opts recursive_run to fix the error 'no Go files in /path/project.' This issue is caused by a recent change in the 'nvim-neotest/neotest-go' project, which now [defaults to non-recursive behavior](https://github.com/nvim-neotest/neotest-go/pull/72)
2024-03-07 17:49:06 +01:00
385c99dbb7 feat(go): add gofumpt formatter with conform/none-ls (#1683)
* feat(go): only install required packages

* fix: add gofumpt formatter using conform/none-ls

* fix: add mason.nvim as dependency of none-ls
2023-10-13 12:43:51 +02:00
14c091b1fc feat!: make conform.nvim and nvim-lint the default formatters/linters 2023-10-12 11:48:02 +02:00
c8c929c9fd perf(util): split lazyvim.util in smaller separate modules 2023-10-12 11:48:02 +02:00
e8ab2ff5b6 feat(go): add goimports (#1549) 2023-10-01 23:01:43 +02:00
964dd6c4b2 fix(extras.go): remove unneeded formatters since gopls handles them (#1535)
* fix(extras.go): remove unneeded formatters since gopls handles them

* add optional back
2023-09-30 19:30:52 +02:00
f61a243d1a feat(extras): added conform.nvim extra you can use instead of null-ls/none-ls 2023-09-29 13:37:00 +02:00
a7f68e5e37 refactor(none-ls): make all null-ls usages in extras optional 2023-09-29 12:00:56 +02:00
7cac6f064c feat(null-ls)!: use none-ls instead of null-ls (#1517)
* FEATURE: use none-ls instead of null-ls

Fixes #1516

* fix(none-ls): automatically migrate null-ls to none-ls

* feat(config): show warning if user config contains renamed references

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-09-29 11:52:45 +02:00
02d673d37c feat(lang): add debug adapter plugin for go (#1115)
neotest-go does not provide a DAP strategy, and thus you cannot invoke the debugger with require('neotest').run.run({strategy=dap}).

There have been efforts to implement this in https://github.com/nvim-neotest/neotest-go/issues/12 but this seems to have stalled.
You can find the background to this change discussed here: https://github.com/LazyVim/LazyVim/discussions/1107
2023-07-22 09:13:54 +02:00
63e898599a feat(lang): add null-ls tools to mason's ensure_installed (#1133) 2023-07-16 08:47:06 +02:00
1e1fc3c6a0 fix(go): make settings configurable for go 2023-07-02 13:01:59 +02:00
4ba5086b3d feat(go): add fine-tuned LSP options, add some null-ls sources (#1024) 2023-06-30 23:14:58 +02:00
2b5ae7b63c feat(go): add workaround to get semantic token highlighting (#815) 2023-05-24 23:22:40 +02:00
29632c6b29 fix(go): actually set semantic tokens (#811) 2023-05-24 14:07:23 +02:00
b172f47f27 fix(go): extend mason ensure_installed 2023-05-24 10:35:05 +02:00
163a4f9275 feat(go): add go lang extras (#795)
* feat(go): add go lang extras

* fix(go): update plugin

* fix(go): add neotest adapter to adapters

* fix(go): pr changes
2023-05-24 08:55:03 +02:00