Compare commits

..

208 Commits

Author SHA1 Message Date
43e4f635d6 chore(main): release 12.6.0 (#3467)
🤖 I have created a release *beep* *boop*
---


##
[12.6.0](https://github.com/LazyVim/LazyVim/compare/v12.5.0...v12.6.0)
(2024-06-06)


### Features

* **bufferline:** allow custom icons for filetypes
([bac4bba](bac4bba016))
* **extras:** added extra for octo.nvim. Make sure to update lazy.nvim,
which-key.nvim and also update tokyonight if you use that theme.
([100c579](100c5793c8))
* **extras:** added new `git` extra with treesitter and issue/pr support
([91a5fc1](91a5fc10e6))
* **extras:** allow recommended to be the args for LazyVim.extras.wants
([502602e](502602e4a2))
* **git:** added leader-gB to browse remotes of the current repo
([c4ccd7c](c4ccd7cbce))
* **keymaps:** add neotest toggle watch keymap
([#3073](https://github.com/LazyVim/LazyVim/issues/3073))
([4d16296](4d1629605b))
* **lang:** add nix language support
([#2956](https://github.com/LazyVim/LazyVim/issues/2956))
([9eae3e0](9eae3e015a))
* **lint:** added support for prepend_args to nvim-lint. Fixes
[#1887](https://github.com/LazyVim/LazyVim/issues/1887)
([4ab123f](4ab123fb31))
* **lsp:** simpler API to deal with code actions
([1bd4d2f](1bd4d2fc72))
* **mini.files:** add cwd and vertical/horizontal keybindings to
mini.files ([#2695](https://github.com/LazyVim/LazyVim/issues/2695))
([393aa44](393aa44e66)),
closes [#2692](https://github.com/LazyVim/LazyVim/issues/2692)
* **nushell:** add minimal support
([#2416](https://github.com/LazyVim/LazyVim/issues/2416))
([4ef42b4](4ef42b4578))
* **prettier:** the prettier extra now needs a prettier config file by
default. See docs to change this.
([8ceccd7](8ceccd71e2))
* **treesitter:** add printf
([#2450](https://github.com/LazyVim/LazyVim/issues/2450))
([0a2f40c](0a2f40c2fb))
* **typescript:** open locations from lsp execute command with trouble
for vtsls
([a636bf2](a636bf2022))


### Bug Fixes

* **angular:** re-fix angular html treesitter
([#3488](https://github.com/LazyVim/LazyVim/issues/3488))
([fd4c38b](fd4c38bc2b))
* **angular:** treesitter not enabled for angular templates
([#3469](https://github.com/LazyVim/LazyVim/issues/3469))
([24af74e](24af74eed6))
* **git:** added recommended
([88db9c5](88db9c5192))
* **kotlin:** kotlin plugin messages and code maintain consistency
([#3291](https://github.com/LazyVim/LazyVim/issues/3291))
([2244af1](2244af1a86))
* **lualine:** don't override user's laststatus setting. See
[#3486](https://github.com/LazyVim/LazyVim/issues/3486)
([4d8d597](4d8d597a3f))
* **svelte:** added organize imports and prettier
([#3466](https://github.com/LazyVim/LazyVim/issues/3466))
([e0a0123](e0a0123b18))
* **svelte:** disable prettier integration for svelte for now. See
[#3466](https://github.com/LazyVim/LazyVim/issues/3466)
([9a11623](9a1162314f))
* **typecript:** remove dependency on `nvim-vtsls`. Not needed anymore
([cae2c22](cae2c226b5))
* **ui:** remove extra space in extras ui
([#3481](https://github.com/LazyVim/LazyVim/issues/3481))
([2c2b6f2](2c2b6f200c))
* **which-key:** use new which-key support for native group keymaps
(nop)
([8010f50](8010f50aa5))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-06 12:50:45 +02:00
0a2f40c2fb feat(treesitter): add printf (#2450)
```c
printf("%s\n", "Finally!");
```
2024-06-06 12:42:09 +02:00
fd4c38bc2b fix(angular): re-fix angular html treesitter (#3488)
This was previously attemped to be fixed by
https://github.com/LazyVim/LazyVim/pull/3469, which caused an issue with
angular LSP.
The PR was reverted as mentioned in
https://github.com/LazyVim/LazyVim/pull/3485.

This PR implements suggestion by @folke, which fixes treesitter without
breaking LSP.
2024-06-06 12:31:25 +02:00
88db9c5192 fix(git): added recommended 2024-06-06 12:29:53 +02:00
100c5793c8 feat(extras): added extra for octo.nvim. Make sure to update lazy.nvim, which-key.nvim and also update tokyonight if you use that theme. 2024-06-06 12:25:11 +02:00
91a5fc10e6 feat(extras): added new git extra with treesitter and issue/pr support 2024-06-06 12:24:00 +02:00
4d8d597a3f fix(lualine): don't override user's laststatus setting. See #3486 2024-06-06 11:16:36 +02:00
2bbc7e179d Revert "fix(angular): treesitter not enabled for angular templates (#3469)"
This reverts commit 24af74eed60bf2f02d963fd730b07e537cdf34dc.
2024-06-06 10:54:43 +02:00
2244af1a86 fix(kotlin): kotlin plugin messages and code maintain consistency (#3291)
### Description
I am the author of this
[PR](https://github.com/LazyVim/LazyVim/pull/2890).

While reviewing my own code and checking the LazyVim official website, I
noticed some inconsistencies 😓 , so I created a small PR to address
them:

### Changes
1.Each optional plugin has a comment message indicating that the plugin
is optional, but DAP does not (as shown in the image). Since the
official website already has an "optional" in title.
**I removed the comment messages regarding "optional" to avoid
confusion**.
<img width="300" alt="Screenshot 2024-05-23 at 10 31 38 PM"
src="https://github.com/LazyVim/LazyVim/assets/82575487/441979fc-20dd-4599-a91d-f27bc0841d79">


---

2. I changed the DAP to use local variables for DAP to maintain
consistency, even though both require statements reference the same
module.
2024-06-06 10:53:58 +02:00
8010f50aa5 fix(which-key): use new which-key support for native group keymaps (nop) 2024-06-06 10:46:56 +02:00
bac4bba016 feat(bufferline): allow custom icons for filetypes 2024-06-06 10:46:56 +02:00
c4ccd7cbce feat(git): added leader-gB to browse remotes of the current repo 2024-06-06 10:46:56 +02:00
86811ad7aa chore(build): auto-generate vimdoc 2024-06-06 04:10:32 +00:00
2c2b6f200c fix(ui): remove extra space in extras ui (#3481)
Remove extra space between icon and text (for source label).

## Before:
<img width="1893" alt="image"
src="https://github.com/LazyVim/LazyVim/assets/3313023/7778e103-729a-4231-bb23-0482ae9d8506">

## After:
<img width="1893" alt="image"
src="https://github.com/LazyVim/LazyVim/assets/3313023/b8e6b4d3-2554-4312-b7d3-7fd5b8c146d4">
2024-06-06 06:09:58 +02:00
24af74eed6 fix(angular): treesitter not enabled for angular templates (#3469)
## Problem
Treesitter was not working in angular html templates after enabling
`lang.angular` extra.

## Solution
Added a change recommeded by angular treesitter developer to enable
treesitter for components and containers.

### Reference to recommendation in treesitter docs
[Reference to the recommendation for this
hack](https://github.com/dlvandenberg/tree-sitter-angular?tab=readme-ov-file#filetype).
2024-06-06 00:01:42 +02:00
4d1629605b feat(keymaps): add neotest toggle watch keymap (#3073) 2024-06-05 23:46:21 +02:00
9eae3e015a feat(lang): add nix language support (#2956)
In the future we can add:
- dap / debugger support, if this is ever possible or needed.
- extend neotest, if this is ever needed, for most people I suspect not
needed.
- linting, if this is ever needed.
- ~~maybe enhance nvim-cmp behavior with nixpkgs, rust lang extension
crates.nvim does smt with nvim-cmp, other language extensions don't.~~

I think its already good to merge this PR, we can add these enhancements
later, if they are ever needed.

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-05 23:44:43 +02:00
4ef42b4578 feat(nushell): add minimal support (#2416)
## Description

This will add minimal support for [Nushell](https://www.nushell.sh/)
include lspconfig and treesitter highlight

## Additional Context

Close #2164

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-05 23:35:46 +02:00
502602e4a2 feat(extras): allow recommended to be the args for LazyVim.extras.wants 2024-06-05 23:35:14 +02:00
393aa44e66 feat(mini.files): add cwd and vertical/horizontal keybindings to mini.files (#2695)
* Makes the toggle_hidden keybinding configurable via mappings
* Adds new mini.files keybindings for opening files in a vertical split,
with both go_in and go_in_plus modes (configurable via mappings)
* Adds new keybinding to change working directory from mini.files
(configurable via mappings)

Closes #2692
2024-06-05 23:22:14 +02:00
d704ca4c1b ci: feature template 2024-06-05 23:11:06 +02:00
4ab123fb31 feat(lint): added support for prepend_args to nvim-lint. Fixes #1887 2024-06-05 23:02:19 +02:00
8ceccd71e2 feat(prettier): the prettier extra now needs a prettier config file by default. See docs to change this. 2024-06-05 22:55:36 +02:00
9a1162314f fix(svelte): disable prettier integration for svelte for now. See #3466 2024-06-05 22:20:35 +02:00
cae2c226b5 fix(typecript): remove dependency on nvim-vtsls. Not needed anymore 2024-06-05 22:19:44 +02:00
a636bf2022 feat(typescript): open locations from lsp execute command with trouble for vtsls 2024-06-05 22:19:19 +02:00
1bd4d2fc72 feat(lsp): simpler API to deal with code actions 2024-06-05 22:18:14 +02:00
e0a0123b18 fix(svelte): added organize imports and prettier (#3466)
* feat(svelte): add key binding for organize imports

* fix(svelte): solves sveltejs/language-tools#2008

* feat(svelte): add formatter for svelte
2024-06-05 20:28:23 +02:00
61689ad543 chore(main): release 12.5.0 (#3444)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-05 19:58:44 +02:00
4cc586a3f1 tests: refactored tests a bit 2024-06-05 19:53:50 +02:00
1d42e45fd2 ci: remove commit linter in favor of PR title linter 2024-06-05 18:24:52 +02:00
73c767c2f3 fix(util): don't print warning message in headless 2024-06-05 18:15:45 +02:00
f8268faa7c fix: cleanup unnecessary treesitter langs and mason lsp servers 2024-06-05 18:07:01 +02:00
368c060b45 tests: check for treesitter langs and mason lsp config 2024-06-05 17:47:46 +02:00
ca0b9ee915 fix(extras): added recommended for helm/haskell 2024-06-05 17:36:02 +02:00
106130f4cd ci: added some tests 2024-06-05 17:31:51 +02:00
373d6b60e1 style: python.lua 2024-06-05 16:42:13 +02:00
1cdb5bdf41 feat(python): switch to regexp branch for a rewrite the venv selector plugin (#3301)
It has eliminated many bugs and allows users to easily add their searches, if the plugin doesn't find them automatically.
2024-06-05 16:33:49 +02:00
1806ea710f feat(bufferline): add keymaps for BufferLineMovePrev / BufferLineMoveNext (#1935)
* Add mappings for BufferLineMovePrev / BufferLineMoveNext

* Change to '[B' and ']B'

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-05 16:11:16 +02:00
de9e337f0d feat(keymaps): add keymap to close all tab pages except the current one (#2975)
* feat(keymaps): add keymap to close all tab pages except the current one

* fix: use o

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-05 16:04:17 +02:00
99c06952a0 ci: stale 2024-06-05 15:53:22 +02:00
90d8ff27d2 ci: fix stale workflow 2024-06-05 15:43:22 +02:00
d6dea2247c ci: enable conventional commit linter on main 2024-06-05 15:41:32 +02:00
7f65b24113 style: r.lua 2024-06-05 15:38:04 +02:00
ff9ca808e0 ci: added stylua / stale / conventional commits 2024-06-05 15:36:56 +02:00
cdadb59ee3 docs(pt): add readme in portuguese (#1958) 2024-06-05 15:23:09 +02:00
ea62195fe5 docs: Added Japanese Translation of the README (#2232)
* add Japanese README file

* fix some typo
2024-06-05 15:22:50 +02:00
a2cf7d9a11 docs: add the Korean version of README (#2495) 2024-06-05 15:22:30 +02:00
7ed5a6c371 ci: remove custom pr-numbers again 2024-06-05 15:20:32 +02:00
71165ac52a ci: label more PRs 2024-06-05 15:19:04 +02:00
39c10b2b81 ci: remove custom pr-numbers 2024-06-05 15:16:39 +02:00
cf2870cce0 ci: fix labels 2024-06-05 15:10:46 +02:00
b764947061 ci: run labeler on existing PRs 2024-06-05 15:08:20 +02:00
75dcce02dc ci: added PR labeler 2024-06-05 15:03:08 +02:00
1faa562964 ci: change the release please action name to new (#3259)
* ci: change the release please action name to new

* Update ci.yml

* Create release-please-config.json

* fix: add release manifest

* fix: release-please

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-05 14:49:33 +02:00
c52242b05b style: format 2024-06-05 13:42:15 +02:00
662e2ffe0f fix(keymaps): use root dir for git log 2024-06-05 13:41:59 +02:00
fa706b320b feat(statuscol): statuscolumn options for open fold indicator and fold hl (#2923)
* feat(statuscol): fold open indicator

* fix: make it configurable

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-05 11:23:19 +02:00
d64d761539 feat: enabled ts-plugin support for astro and svelte 2024-06-05 11:09:12 +02:00
e32d1918ae fix(python): removed the python-semshi extra 2024-06-05 11:01:10 +02:00
HJK
c1f5fcf9c7 fix(extra.lang.scala): Fix the always initializing regardless of file… (#3455)
* fix(extra.lang.scala): Fix the always initializing regardless of filetype

* fix typo
2024-06-05 08:07:13 +02:00
452b70ad15 fix(toggle): slightly better maximize 2024-06-05 07:40:28 +02:00
1c583650e6 fix(toggle): un-maximize when quiting Neovim 2024-06-05 07:02:19 +02:00
90e68edfe7 chore(build): auto-generate vimdoc 2024-06-05 04:55:23 +00:00
8971ea25f9 fix(toggle): Restore width/height values when closing while maximized is toggled on (#3453) 2024-06-05 06:54:52 +02:00
987bd2207f feat(extras): Add extra for angular lspconfig (#2806)
* feat(extras): Add extra for angular lspconfig

Since treesitter has better support for angular parser recently that works for the legacy and the latest version of it,
I am happy to suggest this extra configuration that works for well for me without any issue.
And since lack of references about how to config the angular lsp inside of neovim out there, this will work fine as a starting point.

* feat(extras): Added `angularls` lsp configuration

* feat(extras.lang): update `angularls` configuration

---------

Co-authored-by: Radvil <radvil.linux@gmail.com>
2024-06-04 19:03:16 +02:00
9a635ef8d6 fix(lsp): Enable using deno.enablePaths in denols settings (#3446) 2024-06-04 11:31:29 +02:00
1677b3b84f feat(lazydev): use lazydev with neodev types (not the plugin) on Neovim 0.9.x 2024-06-04 11:14:48 +02:00
c50018b791 feat(editor): added extra for inc-rename.nvim (#3432)
* feat(editor-extra): Add inc-rename

* fix: refactor and moved noice integration

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-04 09:51:36 +02:00
ae0d94e048 fix(lazydev): add cmd 2024-06-04 09:39:37 +02:00
3df8af369c fix(tex): remove latex treesitter support since it's not needed with vimtex and it needs treesitter-cli 2024-06-04 09:39:37 +02:00
0c396e298a chore(main): release 12.4.0 (#3422)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-04 08:49:37 +02:00
2c6dbd9b89 chore(build): auto-generate vimdoc 2024-06-04 06:44:06 +00:00
39da8514d3 feat(lazydev): new lazydev config based on trigger words 2024-06-04 08:43:31 +02:00
4d706f1bdc fix(ui): fix incorrect colors on change colorscheme (lualine) (#3431) 2024-06-03 10:30:57 +02:00
d6c59d9a41 feat(hipatterns): added vue/astro 2024-06-03 09:24:19 +02:00
1731e455d4 fix(hipatterns): update mini-hipatterns.lua config to add support for heex, rust and svelte files (#3430)
* Update mini-hipatterns.lua

added support for heex, rust and svelte to hipatterns

* Update mini-hipatterns.lua
2024-06-03 09:22:23 +02:00
40df5896d5 chore(build): auto-generate vimdoc 2024-06-03 07:12:58 +00:00
6c3fd9fedf fix: hack for dashboard.nvim so that it shows errors when exiting 2024-06-03 07:12:17 +02:00
da7b7738eb fix(luasnip): move mappings to cmp spec so that they dont conflict with native snippets 2024-06-02 18:43:44 +02:00
83c0c9405a fix: fixup for nvim-snippets compat on 0.9. Fixes #3426 2024-06-02 17:47:27 +02:00
028d5bcac5 fix(todo-comments): use toggle for Trouble todo commands (#3424) 2024-06-02 14:53:58 +02:00
bb66618f1f fix(lazydev): easier way of defining library plugin paths 2024-06-02 14:24:14 +02:00
6da95ee7d3 fix(todo-comments): use trouble filters for showing only todo/fix/fixmes 2024-06-02 12:30:54 +02:00
b289fea163 chore(main): release 12.3.0 (#3415)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-02 10:03:48 +02:00
6ba62855e2 chore(build): auto-generate vimdoc 2024-06-02 07:35:29 +00:00
5e76948d58 feat(coding): use lazydev.nvim instead of neodev.nvim 2024-06-02 09:33:52 +02:00
596c439db5 feat(util): utility methods for lazy plugins 2024-06-02 09:33:19 +02:00
c14d21ce75 feat: moved neoconf.nvim to extras 2024-06-02 09:05:16 +02:00
8024201e75 refactor: move 0.9 stuff to a compat layer. Cleaner this way 2024-06-01 20:46:58 +02:00
595069d501 R.lua make R output themed by neovim theme (#3416) 2024-06-01 15:05:34 +02:00
b2858a297a feat(extras): show extras imported in other extras 2024-06-01 11:22:17 +02:00
45b92aa381 feat(extras): split enabled in enabled plugins/languages 2024-06-01 11:21:28 +02:00
c69553e194 fix(dot): added dot to recommended 2024-06-01 11:21:03 +02:00
c98fbef3b5 fix(json): added *.json to recommended 2024-06-01 11:20:50 +02:00
c33d6578a8 fix(util): make sure doc gen works 2024-06-01 10:25:10 +02:00
2e9da7f41f chore(main): release 12.2.0 (#3377)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-01 09:52:43 +02:00
7598a7503d feat(extras): added extra for svelte. Full support will be enabled once my mason PR gets merged 2024-06-01 09:08:09 +02:00
4e62df4269 fix(health): remove old deprecated module checks 2024-06-01 08:48:44 +02:00
a6df15a63f fix(util): make sure mason is loaded when getting package paths 2024-06-01 08:48:29 +02:00
276b50e389 style: docs for LazyVim.extend 2024-06-01 08:42:00 +02:00
679c76a8f3 chore(build): auto-generate vimdoc 2024-06-01 06:34:09 +00:00
683aaeb75b feat(astro): added support for ts-plugin, but won't work till mason-registry PR is merged. See #3364 2024-06-01 08:33:24 +02:00
9d999fa210 refactor: refactored mason/typescript/vue support 2024-06-01 08:31:10 +02:00
135150307b fix(aerial): disable trouble leader-cs keymap when aerial extra is enabled 2024-05-31 23:47:48 +02:00
146c87cd78 fix(trouble): don't enable symbols keymap when outline.nvim enabled (#3408) 2024-05-31 23:46:30 +02:00
e7430b0776 fix(vue): correctly add plugins. See #3401 2024-05-31 20:53:55 +02:00
07ff12f5eb fix(extras.lang.vue) missing typescript autocomplete in .vue files (#3401)
* Fix missing autocomplete in .vue files

The existing Vue extra was not properly configuring vtsls to use the globalPlugin: '@vue/typescript-plugin'

This commit fixes missing typescript autocomplete in .vue files.

* move @vue/typescript-plugin back to extend function call

* tidy LazyVim.extend() arguments
2024-05-31 20:52:01 +02:00
abc6554e24 fix(ui): remove old alpha.nvim warning 2024-05-31 16:49:47 +02:00
ae381c91a1 Revert "fix(rust): let rustaceans.nvim setup rust_analyzer (#3389)"
This reverts commit 3fadf6af8f4adc1788fb8adec1fd9850d12feaf8.
2024-05-31 14:24:27 +02:00
d02b73d72a fix(ui): allow to disable the trouble lualine component with vim.g.trouble_lualine = false (#3391)
* fix(ui): do not add trouble to lualine when aerial is enabled

* refactor: make trouble lualine an option

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-05-31 14:07:55 +02:00
6678af37ee fix(copilot-chat): no need to schedule which-key keys. just use default 2024-05-31 13:59:53 +02:00
3fadf6af8f fix(rust): let rustaceans.nvim setup rust_analyzer (#3389)
fix this warning
```
   Warn  11:52:45 PM notify.warn nvim-lspconfig.rust_analyzer has been setup.
This will likely lead to conflicts with the rustaceanvim LSP client.
See ':h rustaceanvim.mason'
```
fix taken from https://github.com/mrcjkb/rustaceanvim/blob/master/doc/mason.txt
2024-05-31 13:56:40 +02:00
9f2cc30246 fix(lsp): better way of extending deeply nested lists. Fixes #3398 2024-05-31 13:52:43 +02:00
7782affc90 chore(build): auto-generate vimdoc 2024-05-31 06:22:30 +00:00
a474aea1f9 fix: rename +a which-key group to ai. Fixes #3392 2024-05-31 08:21:50 +02:00
060f56d6d4 fix(extras): underline = false for setting diagnostics (#3379)
Similar to ea7b9c3c3f#
I only noticed this, because in my main config I have some Extras not
managed by `LazyExtras`.
2024-05-30 16:08:34 +02:00
0a9373733f feat(typescript): add keymap for remove unused imports (#3376) 2024-05-30 15:30:20 +02:00
298a8f5c5d chore(main): release 12.1.0 (#3362)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-30 14:55:03 +02:00
95d055dcf7 feat: trouble v3 2024-05-30 14:41:13 +02:00
ae098d67d6 fix(typescript): vtsls server expe settings (#3372)
Based on [vtsls schema](bd2df5a2d4/packages/service/configuration.schema.json (L1092)), experimental setting should be vtsls property not typescript.

```json
"vtsls.experimental.completion.enableServerSideFuzzyMatch": {
      "default": false,
      "type": "boolean",
      "description": "Execute fuzzy match of completion items on server side. Enable this will help filter out useless completion items from tsserver."
    },
```
2024-05-30 11:29:09 +02:00
c2ef09227e fix: remove lazygit log gl keymap when on gitui (#3371) 2024-05-30 11:17:55 +02:00
e7d4b397b2 feat(extras): simple extra for astro 2024-05-30 11:17:24 +02:00
cf6775a959 fix(typescript): allow easier merging of ts plugins 2024-05-30 11:17:23 +02:00
c4b7505969 fix(extras): show recommended languages above enabled plugins 2024-05-30 11:17:23 +02:00
7414e84af9 fix(root): escape glob expressions 2024-05-30 11:17:23 +02:00
b285a46dfc feat(typescript): vtls add select ts version (#3366) 2024-05-30 09:57:10 +02:00
2e5e46d9ff chore(build): auto-generate vimdoc 2024-05-30 05:19:20 +00:00
a224ef2a73 fix(clangd): switch source/header is now leader-ch. Fixes #3363 2024-05-30 07:18:41 +02:00
2a7d163a8a feat(copilot-chat): add cmp integration 2024-05-30 00:27:13 +02:00
80143069ff chore(main): release 12.0.0 (#3357)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-29 22:37:15 +02:00
3ace8277e5 feat(keymaps): new keymap to toggle mazimize of current window leader-m or leader-wm 2024-05-29 22:35:40 +02:00
a13457eea3 fix(trouble_v3): set correct lualine section background color 2024-05-29 21:38:05 +02:00
0975eeb9ad feat(vscode): added ts-comments to allow list for vscode 2024-05-29 18:22:54 +02:00
804756209e fix(lsp): remove duplicate keymap 2024-05-29 16:39:02 +02:00
01e6718e03 fix(lsp): added support for has as array for lsp keymaps 2024-05-29 16:31:16 +02:00
38b8736b81 feat(typescript): added gR to goto file references 2024-05-29 16:02:38 +02:00
4dfd5c2596 fix(lsp): create gr with nowait=true 2024-05-29 16:02:13 +02:00
f6bcf6f12c fix(lsp): fix ts/deno both attaching 2024-05-29 15:39:17 +02:00
fba06ce9f5 feat(typescript)!: the typescript extra now uses vtsls instead of tsserver. You may want to update your lsp settings. 2024-05-29 15:10:57 +02:00
cf46d265ff chore(build): auto-generate vimdoc 2024-05-29 12:46:34 +00:00
b949dba489 feat(lsp): added leader-cR to rename the current file and to lsp rename operations 2024-05-29 14:45:55 +02:00
4bbeb37a18 fix(lsp): fix LazyVim's on_file_rename to work according to the lsp spec 2024-05-29 14:45:55 +02:00
54d687383d style: cleanup 2024-05-29 14:45:55 +02:00
0160851a25 chore(main): release 11.11.0 (#3351)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-28 23:04:16 +02:00
1b86d7b2ad fix(snippets): fix snippets with multiple placeholders for the same tabstop 2024-05-28 19:32:21 +02:00
eb0da3c92f feat(snippets): try to use the snippet parse to get a preview 2024-05-28 19:31:59 +02:00
425dadef72 fix(snippets): show actual error for failed snippet 2024-05-28 19:31:22 +02:00
91493588a8 fix(nvim-snippets): no longer needed to set global_snippets 2024-05-28 17:51:10 +02:00
97bdcc1c52 chore(main): release 11.10.0 (#3339)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-28 16:15:34 +02:00
a6e6d4dabd fix(nvim-snippets): remove extra filetypes since thats no longer needed with merged PR 2024-05-28 16:12:53 +02:00
cf4374867d feat(snippets): re-number tabstops for invalid snippets 2024-05-28 16:12:35 +02:00
025ba33dc3 fix(nvim-snippets): also enable for tsx/jsx files 2024-05-28 15:13:29 +02:00
99f0a1cb40 fix(nvim-snippets): load js snippets for ts. See #3344 2024-05-28 15:11:32 +02:00
de57894158 feat(scala-extra): Use noice for progress and add minimal keybinding (#3348)
* Use fidget for progress and add minimal keybinding

* remove figest, noice works already

* make keybinding only available for scala filetypes
2024-05-28 14:55:11 +02:00
80c9dcaabe feat(lang): add R (#3272)
* Added R extra

* Removed "made by Ben10164"

* Formatted Lua

* Removed hardcoded addition of R-languageserver in MasonLSP

* Improved nvim-lspconfig config for r_language_server

* Added nvim-neotest

* Format

* Removed Lualine

* Rework into opts, modify `pdfviewer` to be os dependent

* refactor: r

* fix: add cmp-r back

* Added quarto whichkey group label

* Set pdfviewer to be an empty string

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-05-28 13:44:38 +02:00
a3011c91d4 chore(build): auto-generate vimdoc 2024-05-28 05:40:04 +00:00
47a8736278 feat(keymaps): add comment above/below current line with gco/gcO 2024-05-28 07:39:26 +02:00
e68ff6897e feat(lsp): config option to exclude certain filetypes from inlay hints. Closes #3202 2024-05-27 21:19:36 +02:00
08481c2c92 fix(copilot-chat): enhanced chat view is now merged upstream, so update your plugins! 2024-05-27 20:57:49 +02:00
505ce3851c chore(main): release 11.9.0 (#3333)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-27 18:24:15 +02:00
0a63734b78 fix(lsp): double check for documentHighlight. See #3246 2024-05-27 18:22:44 +02:00
a23e8c15f5 feat(copilot-chat): enhanced rendering of the chat window 2024-05-27 18:16:35 +02:00
02b240cea5 fix(copilot-chat): clear -> reset 2024-05-27 17:53:38 +02:00
eb1c04bd31 fix(terminal): make gf behave. Fixes #3335 2024-05-27 17:38:51 +02:00
163f7ea303 fix(edgy): load edgy spec early 2024-05-27 17:38:30 +02:00
2695fc7dfc feat(copilot-chat): make keymaps work in visual mode 2024-05-27 16:48:22 +02:00
54d7cea305 fix(typescript): invalid value in inlayHints options (#3331) 2024-05-27 13:48:22 +02:00
91fe7ef568 chore(main): release 11.8.0 (#3326)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-27 09:07:31 +02:00
46785526a6 feat(extras): added extra for CopilotChat.nvim 2024-05-27 08:42:30 +02:00
d3500a4a33 fix(rust): show error when rust-analyzer not found 2024-05-27 08:09:24 +02:00
f48d55a653 fix(lang/rust): Remove rust-analyzer from nvim-lspconfig (#2755)
According to the maintainer of `rustaceanvim` (see his comment [here](https://github.com/LazyVim/LazyVim/pull/2198#issuecomment-1999475044)) he says
> To pick up on this: There's a good reason rustaceanvim doesn't automatically pick up a mason.nvim installation. It will most likely be built with a different toolchain than the one your project uses, often leading to discrepancies and subtle bugs.
It's easy to configure rustaceanvim to use mason.nvim if you really want it, but I generally adhere to the YAGNI principle.

I tried locally and the removal of `rust-analyzer` from `nvim-lspconfig` doesn't
seem to have any effect on how `rustaceanvim` behaves.

I propose to remove all instances of `rust-analyzer` from `nvim-lspconfig` to avoid
any possible issues from users that don't have `rust-analyzer` installed
in their toolchain (in this case it would pick up Mason's $PATH I
believe), since they will think that since `rust-analyzer` is installed
by Mason, there shouldn't be a problem and report issues as bugs.
2024-05-27 08:04:51 +02:00
9ccdbf644c feat(git): Change Commit Log to use Lazygit (#2959)
* feat(git): Change Commit Log to use Lazygit

* fix: use gl

* fix conflicts

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-05-27 07:53:49 +02:00
dbed614655 fix(laygit): normalize paths. Fixes #3327 2024-05-27 05:35:47 +02:00
61dc00147b chore(build): auto-generate vimdoc 2024-05-27 05:14:23 +00:00
d23e8572e8 fix(laygit): use correct .git root for git blame 2024-05-27 07:13:43 +02:00
53911748dd fix(snippet): always use top-level snippet session. Fixes #3199 2024-05-26 18:51:14 +02:00
59204df1cb chore(main): release 11.7.0 (#3317)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-26 17:04:15 +02:00
3a30070a4c feat: lazyrc files are now a lazy.nvim feature 2024-05-26 16:49:48 +02:00
7aa37064a2 fix(lspconfig): make opts a function (#3311)
`LazyVim.config` gets evaluated during the parsing phase with `opts`
as a table (thus not taking into account changes made in the user's
personal configuration for the icons), so make `opts` a function to
defer the evaluation until the plugin loads.
2024-05-26 16:06:15 +02:00
b3373f3428 fix(lsp): added a-n, a-p for document highlights and cycling. Closes #3320 2024-05-26 16:03:13 +02:00
c9ab8224f5 fix(illuminate): s/enabed/enabled (#3313) 2024-05-26 10:38:28 +02:00
cdff9de172 fix(lsp): correct previous reference keymap description (#3314) 2024-05-26 10:33:40 +02:00
945ee7e283 chore(build): auto-generate vimdoc 2024-05-26 08:11:46 +00:00
07a137199c fix(lsp): properly get buffer for dynamic capabilities (#3315) 2024-05-26 10:11:12 +02:00
0f6ff53ce3 chore(main): release 11.6.1 (#3292)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-23 17:41:03 +02:00
10ed3082a4 fix(lsp): use proper buffer for dynamic capabilities. Fixes #3246 2024-05-23 17:39:23 +02:00
c6e8c5b450 chore(main): release 11.6.0 (#3269)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-23 07:15:41 +02:00
692aa08da7 chore(build): auto-generate vimdoc 2024-05-23 05:14:55 +00:00
46cf5347b5 fix(lsp): only enableinlay hints for when buffer is an actual file. See #3284 2024-05-23 07:14:17 +02:00
f9b31372ae fix(python): extras.lang.python to enable venv select keys on ft (#3280) 2024-05-22 19:39:16 +02:00
ad6c9bcfab Revert "fix: set markdown for LICENSE file (#3276)"
This reverts commit 1eea51606e1ec1035c440a4ca9b3eab053337a7d.
2024-05-22 19:37:23 +02:00
31f876cc4c chore(build): auto-generate vimdoc 2024-05-22 17:37:04 +00:00
1eea51606e fix: set markdown for LICENSE file (#3276) 2024-05-22 19:36:33 +02:00
ae6d8f1a34 feat(markdown): add formatter for mdx 2024-05-21 23:05:29 +02:00
9eec03d890 feat(markdown): configure conform for markdown files (#2308) 2024-05-21 23:03:43 +02:00
79608fbc4f feat(telescope): add telescope jumplist keymap (#3268) 2024-05-21 22:56:15 +02:00
3ebe30685d chore(main): release 11.5.0 (#3265)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-21 22:28:15 +02:00
e46dd4e9b2 fix(neo-tree): better icons for git staged/unstaged 2024-05-21 22:06:52 +02:00
ab4e57a4bf feat(telescope): add quickfix and telescope keymaps (#3077) 2024-05-21 20:34:28 +02:00
027d6bc2e8 fix(snippets): my nvim-snippets PR is merged, so remove work-around. That was quick :) 2024-05-21 20:26:30 +02:00
cb1e1b9c82 fix(snippets): fixes custom snippets. use my branch till nvim-snippets PR is merged. Fixes #3240 2024-05-21 20:18:20 +02:00
d73397c4aa fix(snippets): make friendly snippets a dep of nvim-snippets 2024-05-21 19:54:20 +02:00
2bae438570 fix(cmp): fix cmp's broken snippet parsing functionality. Fixes #3266 2024-05-21 19:51:13 +02:00
8ba7c64a7d feat(comments): use ts-comments.nvim instead of nvim-ts-context-commentstring on Neovim 0.10 2024-05-21 19:31:40 +02:00
55b07dee21 fix(nvim-snippets): enable global friendly-snippets. See #3240 2024-05-21 19:22:41 +02:00
8c94842b4a fix(lsp): sometimes lsp client is not fully initialized and doesnt yet have client.supports_method on 0.9.5. Fixes #3263 2024-05-21 18:23:10 +02:00
d19a004136 chore(build): auto-generate vimdoc 2024-05-21 10:01:38 +00:00
89 changed files with 2733 additions and 855 deletions

View File

@ -3,6 +3,11 @@ description: Suggest a new feature
title: "feature: "
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
**IMPORTANT:** ideas or requests related to extras, should go in the [Extra Requests](https://github.com/LazyVim/LazyVim/discussions/categories/extra-requests)
discussion forum.
- type: checkboxes
attributes:
label: Did you check the docs?
@ -10,6 +15,8 @@ body:
options:
- label: I have read all the LazyVim docs
required: true
- label: This is not a request for a new or existing extra (see above)
required: true
- type: textarea
validations:
required: true

19
.github/labeler.yml vendored Normal file
View File

@ -0,0 +1,19 @@
core:
- all:
- changed-files:
- any-glob-to-any-file: "lua/lazyvim/**"
- all-globs-to-all-files: "!lua/lazyvim/plugins/**"
core-plugins:
- all:
- changed-files:
- any-glob-to-any-file: "lua/lazyvim/plugins/**"
- all-globs-to-all-files: "!lua/lazyvim/plugins/extras/**"
extras:
- changed-files:
- any-glob-to-any-file: "lua/lazyvim/plugins/extras/**"
extras-lang:
- changed-files:
- any-glob-to-any-file: "lua/lazyvim/plugins/extras/lang/**"

View File

@ -4,6 +4,16 @@ on:
pull_request:
jobs:
stylua:
name: Stylua Formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: JohnnyMorganz/stylua-action@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: latest
args: --check .
tests:
strategy:
matrix:
@ -25,7 +35,7 @@ jobs:
run: |
nvim --version
[ ! -d tests ] && exit 0
nvim --headless -u tests/init.lua -c "PlenaryBustedDirectory tests/ {minimal_init = 'tests/init.lua', sequential = true}"
./tests/run
docs:
runs-on: ubuntu-latest
needs: tests
@ -54,13 +64,10 @@ jobs:
- tests
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v4
- uses: googleapis/release-please-action@v4
id: release
with:
release-type: simple
package-name: LazyVim
extra-files: |
lua/lazyvim/config/init.lua
- uses: actions/checkout@v4
- name: tag stable versions
if: ${{ steps.release.outputs.release_created }}

12
.github/workflows/labeler.yml vendored Normal file
View File

@ -0,0 +1,12 @@
name: "Pull Request Labeler"
on:
- pull_request_target
jobs:
labeler:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5

41
.github/workflows/pr.yml vendored Normal file
View File

@ -0,0 +1,41 @@
name: "Lint PR"
on:
pull_request_target:
types:
- opened
- edited
- synchronize
permissions:
pull-requests: read
jobs:
main:
name: Validate PR title
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
requireScope: true
subjectPattern: ^(?![A-Z]).+$
scopes: |
.+
types: |
build
chore
ci
docs
feat
fix
merge
perf
refactor
revert
style
test
wip
ignoreLabels: |
autorelease: pending

27
.github/workflows/stale.yml vendored Normal file
View File

@ -0,0 +1,27 @@
name: Close stale issues and PRs
on:
workflow_dispatch:
schedule:
- cron: "30 1 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
with:
operations-per-run: 300
# default stale time
days-before-stale: 30
days-before-close: 7
# never stale pull requests
# days-before-pr-stale: -1
days-before-pr-close: -1
# exclude issues with certain labels
exempt-issue-labels: pinned,wip,security,notice
# never stale issues attached to a milestone
# exempt-all-milestones: true
stale-issue-message: "This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days."
stale-pr-message: "This PR is stale because it has been open 60 days with no activity."
close-issue-message: "This issue was closed because it has been stalled for 7 days with no activity."

File diff suppressed because it is too large Load Diff

View File

@ -2,6 +2,12 @@
## 11.x
- **Neovim >= 0.10** now uses the much faster [lazydev.nvim](https://github.com/folke/lazydev.nvim)
instead of `neodev.nvim`
- moved `neoconf.nvim` to extras. Project specific LSP settings
can be done with a `.lazy.lua` file instead.
- `mini.ai` is back as a default plugin! Removing it was a mistake.
It's a great plugin that enhances the native text objects.

139
README-JP.md Normal file
View File

@ -0,0 +1,139 @@
<div align="center">
<img src="https://user-images.githubusercontent.com/292349/213446185-2db63fd5-8c84-459c-9f04-e286382d6e80.png">
</div>
<hr>
<h4 align="center">
<a href="https://lazyvim.github.io/installation">インストール</a>
·
<a href="https://lazyvim.github.io/configuration">設定</a>
·
<a href="https://lazyvim.github.io">ドキュメント</a>
</h4>
<div align="center"><p>
<a href="https://github.com/LazyVim/LazyVim/releases/latest">
<img alt="Latest release" src="https://img.shields.io/github/v/release/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41&include_prerelease&sort=semver" />
</a>
<a href="https://github.com/LazyVim/LazyVim/pulse">
<img alt="Last commit" src="https://img.shields.io/github/last-commit/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=8bd5ca&logoColor=D9E0EE&labelColor=302D41"/>
</a>
<a href="https://github.com/LazyVim/LazyVim/blob/main/LICENSE">
<img alt="License" src="https://img.shields.io/github/license/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=ee999f&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/stargazers">
<img alt="Stars" src="https://img.shields.io/github/stars/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=c69ff5&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/issues">
<img alt="Issues" src="https://img.shields.io/github/issues/LazyVim/LazyVim?style=for-the-badge&logo=bilibili&color=F5E0DC&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim">
<img alt="Repo Size" src="https://img.shields.io/github/repo-size/LazyVim/LazyVim?color=%23DDB6F2&label=SIZE&logo=codesandbox&style=for-the-badge&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://twitter.com/intent/follow?screen_name=folke">
<img alt="follow on Twitter" src="https://img.shields.io/twitter/follow/folke?style=for-the-badge&logo=twitter&color=8aadf3&logoColor=D9E0EE&labelColor=302D41" />
</a>
</div>
LazyVimは、設定の拡張と変更を容易にするために[💤 lazy.nvim](https://github.com/folke/lazy.nvim)によって提供されるNeovimセットアップです。
LazyVimは、ゼロから始めるか、あらかじめ作成されたディストリビューションを使用するかの選択を迫ることなく、
必要に応じて設定を調整する柔軟性と、事前に設定されたセットアップの利便性を両方叶える最高の世界を提供します。
![image](https://user-images.githubusercontent.com/292349/211285846-0b7bb3bf-0462-4029-b64c-4ee1d037fc1c.png)
![image](https://user-images.githubusercontent.com/292349/213447056-92290767-ea16-430c-8727-ce994c93e9cc.png)
## ✨ 機能
- 🔥 Neovimを本格的なIDEへと変身させます
- 💤 [lazy.nvim](https://github.com/folke/lazy.nvim)で簡単にカスタマイズと拡張が可能
- 🚀 驚くほどの高速さ
- 🧹 Options, autocmds, そしてkeymapsのための合理的なデフォルト設定
- 📦 事前に設定がされ、使用可能なプラグインが豊富についてきます
## ⚡️ 必要要件
- Neovim >= **0.9.0** (**LuaJIT**でビルドされている必要があります)
- Git >= **2.19.0** (部分的なcloneサポートのため)
- [Nerd Font](https://www.nerdfonts.com/) **_(任意)_**
- `nvim-treesitter`用の**C**コンパイラ。詳細は[こちら](https://github.com/nvim-treesitter/nvim-treesitter#requirements)
## 🚀 Getting Started
**lazyvim**のスターターテンプレートは[こちら](https://github.com/lazyvim/starter)。
<details><summary>Dockerで試す</summary>
```sh
docker run -w /root -it --rm alpine:edge sh -uelic '
apk add git lazygit neovim ripgrep alpine-sdk --update
git clone https://github.com/LazyVim/starter ~/.config/nvim
cd ~/.config/nvim
nvim
'
```
</details>
<details><summary><a href="https://github.com/LazyVim/starter">LazyVim Starter</a>をインストール</summary>
- 既存のNeovimファイルのバックアップを作成します。
```sh
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
```
- スターターをcloneします。
```sh
git clone https://github.com/LazyVim/starter ~/.config/nvim
```
- 後ほど自分のリポジトリに加えられるように、`.git`フォルダを削除します。
```sh
rm -rf ~/.config/nvim/.git
```
- Neovimを起動します!
```sh
nvim
```
**LazyVim**をカスタマイズするために、ファイルのコメントを参照してください。
</details>
---
[@elijahmanor](https://github.com/elijahmanor)氏によって作成された始めるにあたっての概要動画があります。
[![動画を見る](https://img.youtube.com/vi/N93cTbtLCIM/hqdefault.jpg)](https://www.youtube.com/watch?v=N93cTbtLCIM)
## 📂 ファイル構造
config配下にあるファイルは適切なタイミングで自動的にロードされる為、
手動でそれらのファイルをrequireする必要はありません。
LazyVimには、自分で設定したものより先にロードされるデフォルトの設定ファイルが付属しています。詳しくは[こちら](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config)。
カスタムプラグインをlua/plugins/の下に追加することができます。lua/plugins/配下の全てのファイルは[lazy.nvim](https://github.com/folke/lazy.nvim)によって自動的にロードされます。
<pre>
~/.config/nvim
├── lua
│   ├── config
│   │   ├── autocmds.lua
│   │   ├── keymaps.lua
│   │   ├── lazy.lua
│   │   └── options.lua
│   └── plugins
│   ├── spec1.lua
│   ├── **
│   └── spec2.lua
└── init.lua
</pre>
## ⚙️ 設定
こちらの[ドキュメント](https://lazyvim.github.io)を参照してください。

139
README-KO.md Normal file
View File

@ -0,0 +1,139 @@
<div align="center">
<img src="https://user-images.githubusercontent.com/292349/213446185-2db63fd5-8c84-459c-9f04-e286382d6e80.png">
</div>
<hr>
<h4 align="center">
<a href="https://lazyvim.github.io/installation">설치하기</a>
·
<a href="https://lazyvim.github.io/configuration">설정하기</a>
·
<a href="https://lazyvim.github.io">문서</a>
</h4>
<div align="center"><p>
<a href="https://github.com/LazyVim/LazyVim/releases/latest">
<img alt="최신 업데이트" src="https://img.shields.io/github/v/release/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41&include_prerelease&sort=semver" />
</a>
<a href="https://github.com/LazyVim/LazyVim/pulse">
<img alt="마지막 커밋" src="https://img.shields.io/github/last-commit/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=8bd5ca&logoColor=D9E0EE&labelColor=302D41"/>
</a>
<a href="https://github.com/LazyVim/LazyVim/blob/main/LICENSE">
<img alt="라이센스" src="https://img.shields.io/github/license/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=ee999f&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/stargazers">
<img alt="스타" src="https://img.shields.io/github/stars/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=c69ff5&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/issues">
<img alt="이슈" src="https://img.shields.io/github/issues/LazyVim/LazyVim?style=for-the-badge&logo=bilibili&color=F5E0DC&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim">
<img alt="레파지토리 크기" src="https://img.shields.io/github/repo-size/LazyVim/LazyVim?color=%23DDB6F2&label=SIZE&logo=codesandbox&style=for-the-badge&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://twitter.com/intent/follow?screen_name=folke">
<img alt="트위터" src="https://img.shields.io/twitter/follow/folke?style=for-the-badge&logo=twitter&color=8aadf3&logoColor=D9E0EE&labelColor=302D41" />
</a>
</div>
LazyVim은 [💤 lazy.nvim](https://github.com/folke/lazy.nvim)를 기반으로 작동하는 Neovim 셋업입니다. 더 커스터마이징 가능하고, 설정들을 바꾸는 것을 쉽게 만들기위해 시작되었죠. 그저 처음부터 모든 설정들을 만지고 시작하는 방법, 또는 이미 만들어진 배포용 설정을 사용하는 방법이 있지만, LazyVIM은 이미 잘 설정된 환경과, 필요에 따라 쉽게 바꿀 수 있는 유연성을 모두 포괄합니다. 이를 통해 훨신 쉽고 편리한, 전에는 만나보실 수 없었던 새로운 Nvim의 세계를 경험하실 수 있으실 겁니다.
![image](https://user-images.githubusercontent.com/292349/211285846-0b7bb3bf-0462-4029-b64c-4ee1d037fc1c.png)
![image](https://user-images.githubusercontent.com/292349/213447056-92290767-ea16-430c-8727-ce994c93e9cc.png)
## ✨ 기능
- 🔥 Neovim을 완벽한 IDE로 바꾸어보세요.
- 💤 lazy.vim과 함께 쉽게 커스터마이징하고, 확장하세요.
- 🚀 완전히 빠른 속도를 경험해보세요.
- 🧹 기본적으로 만져져있는 옵션, 자동커멘드, 그리고 단축키들을 아무런 추가적인 설정없이 사용해보세요.
- 📦 안정적이고 미리 설정되어져있는 플러그인들과 함게 코딩하세요.
## ⚡️ 요구사항
- **0.9.0**이상의 Neovim (LuaJIT과 함께 개발이 되어져있어야함니다.)
- **2.19.0**이상의 Git (이것은 부분적인 클론기능을 지원하기 위함입니다.)
- [Nerd Font](https://www.nerdfonts.com/) **_(옵션)_**
- `nvim-treesitter`를 위한 **C** 컴파일러. [이 문서](https://github.com/nvim-treesitter/nvim-treesitter#requirements)를 확인해주시기바랍니다.
## 🚀 시작하기
[이 깃헙 레파지토리](https://github.com/LazyVim/starter)에서 스타터 템플릿을 찾으실 수 있습니다.
<details><summary>도커와 함께 시작해보기</summary>
```sh
docker run -w /root -it --rm alpine:edge sh -uelic '
apk add git lazygit neovim ripgrep alpine-sdk --update
git clone https://github.com/LazyVim/starter ~/.config/nvim
cd ~/.config/nvim
nvim
'
```
</details>
<details><summary><a href="https://github.com/LazyVim/starter">LazyVim 스타터</a>와 함께 시작해보기</summary>
- 현재 Neovim 파일들을 미리 백업:
```sh
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
```
- Lazyvim 스타터 깃헙 레파지토리 복제:
```sh
git clone https://github.com/LazyVim/starter ~/.config/nvim
```
- 나중에 본인의 레파지토리에 저장할 경우를 대비해 .git 폴더 지우기
```sh
rm -rf ~/.config/nvim/.git
```
- Neovim!
```sh
nvim
```
LazyVim를 커스터마이징 하는 법에 대해 다룬 설명을 참조해주시기 바랍니다.
</details>
---
유튜브에 LazyVim시작하기에 대해 [@elijahmanor](https://github.com/elijahmanor)에 의해 만들어진 영상이 있으니, 시청해 보시는 것을 추천드립니다.
[![Watch the video](https://img.youtube.com/vi/N93cTbtLCIM/hqdefault.jpg)](https://www.youtube.com/watch?v=N93cTbtLCIM)
## 📂 파일 구조
config 폴더 안에 있는 모든 파일들은 적절한 시간내에 자동으로 로드가 되기에, 아무 파일도 require를 하지 않아도 됩니다. **LazyVim**은 config폴더 안에 있는 모든 기본 파일들을 당신의 config 파일들 **전**에 불어옵니다. 이것에 대해서는, [이 문서](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config)를 확인해 보시기 바랍니다.
추가적인 플러그인을 설치하시거나, 미리 설치되고 설정된 플러그인들을 또 덮어서 설정을 바꾸거나, 지우거나, 추가하고 싶으실 경우에는, 그에 해당하는 lua 파일들을 `lua/plugins` 폴더 안에 추가하시면, lazy.nvim이 자동적으로 그 파일들을 로드 할 것입니다.
<pre>
~/.config/nvim
├── lua
│   ├── config
│   │   ├── autocmds.lua
│   │   ├── keymaps.lua
│   │   ├── lazy.lua
│   │   └── options.lua
│   └── plugins
│   ├── spec1.lua
│   ├── **
│   └── spec2.lua
└── init.lua
</pre>
## ⚙️ 설정
[Lazyvim 공식문서](https://lazyvim.github.io)를 확인해 주시기 바랍니다.
LazyVim 공식문서의 한국어 지원은 현재 번역 중에 있습니다.

146
README-PT.md Normal file
View File

@ -0,0 +1,146 @@
<div align="center">
<img src="https://user-images.githubusercontent.com/292349/213446185-2db63fd5-8c84-459c-9f04-e286382d6e80.png">
</div>
<hr>
<h4 align="center">
<a href="https://lazyvim.github.io/installation">Instalar</a>
·
<a href="https://lazyvim.github.io/configuration">Configurar</a>
·
<a href="https://lazyvim.github.io">Documentação</a>
</h4>
<div align="center"><p>
<a href="https://github.com/LazyVim/LazyVim/releases/latest">
<img alt="Latest release" src="https://img.shields.io/github/v/release/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41&include_prerelease&sort=semver" />
</a>
<a href="https://github.com/LazyVim/LazyVim/pulse">
<img alt="Last commit" src="https://img.shields.io/github/last-commit/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=8bd5ca&logoColor=D9E0EE&labelColor=302D41"/>
</a>
<a href="https://github.com/LazyVim/LazyVim/blob/main/LICENSE">
<img alt="License" src="https://img.shields.io/github/license/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=ee999f&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/stargazers">
<img alt="Stars" src="https://img.shields.io/github/stars/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=c69ff5&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/issues">
<img alt="Issues" src="https://img.shields.io/github/issues/LazyVim/LazyVim?style=for-the-badge&logo=bilibili&color=F5E0DC&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim">
<img alt="Repo Size" src="https://img.shields.io/github/repo-size/LazyVim/LazyVim?color=%23DDB6F2&label=SIZE&logo=codesandbox&style=for-the-badge&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://twitter.com/intent/follow?screen_name=folke">
<img alt="follow on Twitter" src="https://img.shields.io/twitter/follow/folke?style=for-the-badge&logo=twitter&color=8aadf3&logoColor=D9E0EE&labelColor=302D41" />
</a>
</div>
LazyVim é uma configuração de Neovim potenciada por [💤 lazy.nvim](https://github.com/folke/lazy.nvim)
para tornar fácil customizar e extender a tua configuração.
Em vez de ter de escolher entre começar de raiz ou usar
uma distribuição pré-feita, LazyVim oferece o melhor
dos dois mundos - a flexibilidade de alterar a tua configuração
como necessário, junto com a conveniência de um setup pré-configurado.
![imagem](https://user-images.githubusercontent.com/292349/211285846-0b7bb3bf-0462-4029-b64c-4ee1d037fc1c.png)
![imagem](https://user-images.githubusercontent.com/292349/213447056-92290767-ea16-430c-8727-ce994c93e9cc.png)
## ✨ Características
- 🔥 Transforma o teu Neovim num IDE completo.
- 💤 Customiza e extende a tua configuração facilmente com [lazy.nvim](https://github.com/folke/lazy.nvim)
- 🚀 Super rápido
- 🧹 Definições comuns para options, autocms e keymaps
- 📦 Contém uma variedade de plugins pré-configurados e preparados a usar
## ⚡️ Requesitos
- Neovim >= **0.9.0** (preciso fazer build com **LuaJIT**)
- Git >= **2.19.0** (para suporte parcial de clones)
- uma [Nerd Font](https://www.nerdfonts.com/) **_(opcional)_**
- um compilador de **C** para `nvim-treesitter`. Mais informações [aqui](https://github.com/nvim-treesitter/nvim-treesitter#requirements)
## 🚀 Como Começar
Podes encontrar uma template **LazyVim** starter para começar, [aqui](https://github.com/LazyVim/starter)
<details><summary>Experimenta com docker</summary>
```sh
docker run -w /root -it --rm alpine:edge sh -uelic '
apk add git lazygit neovim ripgrep alpine-sdk --update
git clone https://github.com/LazyVim/starter ~/.config/nvim
cd ~/.config/nvim
nvim
'
```
</details>
<details><summary>Instala a template <a href="https://github.com/LazyVim/starter">LazyVim Starter</a></summary>
- Faz um backup da tua configuração atual de Neovim:
```sh
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
```
- Clona a template
```sh
git clone https://github.com/LazyVim/starter ~/.config/nvim
```
- Remove o diretório `.git`, para poderes adicionar ao teu próprio repositório mais tarde
```sh
rm -rf ~/.config/nvim/.git
```
- Inicia o Neovim!
```sh
nvim
```
Consulta os comentários nos ficheiros sobre como customizar **LazyVim**.
</details>
---
Existe um excelente video criado por [@elijahmanor](https://github.com/elijahmanor) com um passo a passo para começar.
[![Vê o video](https://img.youtube.com/vi/N93cTbtLCIM/hqdefault.jpg)](https://www.youtube.com/watch?v=N93cTbtLCIM)
## 📂 Extrutura de ficheiros
Os ficheiros no diretório **config** serão carregados automaticamente
no momento apropriado, por isso não é necessário carregar os plugins manualmente.
**LazyVim** vem com um conjunto de ficheiros
que serão carregados **_antes_** dos teus. Lẽ mais [aqui](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config)
Tu podes acrescentar a tua configuração em `lua/plugins`. Todos os ficheiros
neste diretório serão carregados automaticamente por [lazy.nvim](https://github.com/folke/lazy.nvim)
<pre>
~/.config/nvim
├── lua
│   ├── config
│   │   ├── autocmds.lua
│   │   ├── keymaps.lua
│   │   ├── lazy.lua
│   │   └── options.lua
│   └── plugins
│   ├── spec1.lua
│   ├── **
│   └── spec2.lua
└── init.lua
</pre>
## ⚙️ Configuração
Consulta a [documentação](https://lazyvim.github.io)

View File

@ -1,4 +1,4 @@
*LazyVim.txt* For Neovim >= 0.9.0 Last change: 2024 May 20
*LazyVim.txt* For Neovim >= 0.9.0 Last change: 2024 June 06
==============================================================================
Table of Contents *LazyVim-table-of-contents*

View File

@ -33,6 +33,9 @@ local defaults = {
misc = {
dots = "󰇘",
},
ft = {
octo = "",
},
dap = {
Stopped = { "󰁕 ", "DiagnosticWarn", "DapStoppedLine" },
Breakpoint = "",
@ -132,7 +135,7 @@ local defaults = {
}
M.json = {
version = 4,
version = 6,
data = {
version = nil, ---@type string?
news = {}, ---@type table<string, string>

View File

@ -75,6 +75,10 @@ map("n", "<leader>K", "<cmd>norm! K<cr>", { desc = "Keywordprg" })
map("v", "<", "<gv")
map("v", ">", ">gv")
-- commenting
map("n", "gco", "o<esc>Vcx<esc><cmd>normal gcc<cr>fxa<bs>", { desc = "Add Comment Below" })
map("n", "gcO", "O<esc>Vcx<esc><cmd>normal gcc<cr>fxa<bs>", { desc = "Add Comment Above" })
-- lazy
map("n", "<leader>l", "<cmd>Lazy<cr>", { desc = "Lazy" })
@ -130,12 +134,20 @@ map("n", "<leader>ub", function() LazyVim.toggle("background", false, {"light",
map("n", "<leader>gg", function() LazyVim.lazygit( { cwd = LazyVim.root.git() }) end, { desc = "Lazygit (Root Dir)" })
map("n", "<leader>gG", function() LazyVim.lazygit() end, { desc = "Lazygit (cwd)" })
map("n", "<leader>gb", LazyVim.lazygit.blame_line, { desc = "Git Blame Line" })
map("n", "<leader>gB", LazyVim.lazygit.browse, { desc = "Git Browse" })
map("n", "<leader>gf", function()
local git_path = vim.api.nvim_buf_get_name(0)
LazyVim.lazygit({args = { "-f", vim.trim(git_path) }})
end, { desc = "Lazygit Current File History" })
map("n", "<leader>gl", function()
LazyVim.lazygit({ args = { "log" }, cwd = LazyVim.root.git() })
end, { desc = "Lazygit Log" })
map("n", "<leader>gL", function()
LazyVim.lazygit({ args = { "log" } })
end, { desc = "Lazygit Log (cwd)" })
-- quit
map("n", "<leader>qq", "<cmd>qa<cr>", { desc = "Quit All" })
@ -169,9 +181,12 @@ map("n", "<leader>w-", "<C-W>s", { desc = "Split Window Below", remap = true })
map("n", "<leader>w|", "<C-W>v", { desc = "Split Window Right", remap = true })
map("n", "<leader>-", "<C-W>s", { desc = "Split Window Below", remap = true })
map("n", "<leader>|", "<C-W>v", { desc = "Split Window Right", remap = true })
map("n", "<leader>wm", function() LazyVim.toggle.maximize() end, { desc = "Maximize Toggle" })
map("n", "<leader>m", function() LazyVim.toggle.maximize() end, { desc = "Maximize Toggle" })
-- tabs
map("n", "<leader><tab>l", "<cmd>tablast<cr>", { desc = "Last Tab" })
map("n", "<leader><tab>o", "<cmd>tabonly<cr>", { desc = "Close Other Tabs" })
map("n", "<leader><tab>f", "<cmd>tabfirst<cr>", { desc = "First Tab" })
map("n", "<leader><tab><tab>", "<cmd>tabnew<cr>", { desc = "New Tab" })
map("n", "<leader><tab>]", "<cmd>tabnext<cr>", { desc = "Next Tab" })

View File

@ -19,6 +19,12 @@ vim.g.root_spec = { "lsp", { ".git", "lua" }, "cwd" }
-- Set to false to disable.
vim.g.lazygit_config = true
-- Options for the LazyVim statuscolumn
vim.g.lazyvim_statuscolumn = {
folds_open = false, -- show fold sign when fold is open
folds_githl = false, -- highlight fold sign with git sign color
}
-- Optionally setup the terminal to use
-- This sets `vim.o.shell` and does some additional configuration for:
-- * pwsh
@ -28,6 +34,9 @@ vim.g.lazygit_config = true
-- Hide deprecation warnings
vim.g.deprecation_warnings = false
-- Show the current document symbols location from Trouble in lualine
vim.g.trouble_lualine = true
local opt = vim.opt
opt.autowrite = true -- Enable auto write

View File

@ -71,6 +71,16 @@ return {
for _, source in ipairs(opts.sources) do
source.group_index = source.group_index or 1
end
local parse = require("cmp.utils.snippet").parse
require("cmp.utils.snippet").parse = function(input)
local ok, ret = pcall(parse, input)
if ok then
return ret
end
return LazyVim.cmp.snippet_preview(input)
end
local cmp = require("cmp")
cmp.setup(opts)
cmp.event:on("confirm_done", function(event)
@ -85,43 +95,46 @@ return {
},
-- snippets
vim.fn.has("nvim-0.10") == 1
and {
"nvim-cmp",
dependencies = {
{ "rafamadriz/friendly-snippets" },
{ "garymjr/nvim-snippets", opts = { friendly_snippets = true } },
{
"nvim-cmp",
dependencies = {
{
"garymjr/nvim-snippets",
opts = {
friendly_snippets = true,
},
opts = function(_, opts)
opts.snippet = {
expand = function(item)
return LazyVim.cmp.expand(item.body)
end,
}
table.insert(opts.sources, { name = "snippets" })
dependencies = { "rafamadriz/friendly-snippets" },
},
},
opts = function(_, opts)
opts.snippet = {
expand = function(item)
return LazyVim.cmp.expand(item.body)
end,
keys = {
{
"<Tab>",
function()
return vim.snippet.active({ direction = 1 }) and "<cmd>lua vim.snippet.jump(1)<cr>" or "<Tab>"
end,
expr = true,
silent = true,
mode = { "i", "s" },
},
{
"<S-Tab>",
function()
return vim.snippet.active({ direction = -1 }) and "<cmd>lua vim.snippet.jump(-1)<cr>" or "<Tab>"
end,
expr = true,
silent = true,
mode = { "i", "s" },
},
},
}
or { import = "lazyvim.plugins.extras.coding.luasnip", enabled = vim.fn.has("nvim-0.10") == 0 },
table.insert(opts.sources, { name = "snippets" })
end,
keys = {
{
"<Tab>",
function()
return vim.snippet.active({ direction = 1 }) and "<cmd>lua vim.snippet.jump(1)<cr>" or "<Tab>"
end,
expr = true,
silent = true,
mode = { "i", "s" },
},
{
"<S-Tab>",
function()
return vim.snippet.active({ direction = -1 }) and "<cmd>lua vim.snippet.jump(-1)<cr>" or "<Tab>"
end,
expr = true,
silent = true,
mode = { "i", "s" },
},
},
},
-- auto pairs
{
@ -150,26 +163,9 @@ return {
-- comments
{
"JoosepAlviste/nvim-ts-context-commentstring",
lazy = true,
opts = {
enable_autocmd = false,
},
init = function()
if vim.fn.has("nvim-0.10") == 1 then
vim.schedule(function()
local get_option = vim.filetype.get_option
vim.filetype.get_option = function(filetype, option)
return option == "commentstring" and require("ts_context_commentstring.internal").calculate_commentstring()
or get_option(filetype, option)
end
end)
end
end,
},
{
import = "lazyvim.plugins.extras.coding.mini-comment",
enabled = vim.fn.has("nvim-0.10") == 0,
"folke/ts-comments.nvim",
event = "VeryLazy",
opts = {},
},
-- Better text-objects
@ -204,4 +200,26 @@ return {
}
end,
},
{
"folke/lazydev.nvim",
ft = "lua",
cmd = "LazyDev",
opts = {
library = {
{ path = "luvit-meta/library", words = { "vim%.uv" } },
{ path = "LazyVim", words = { "LazyVim" } },
{ path = "lazy.nvim", words = { "LazyVim" } },
},
},
},
-- Manage libuv types with lazy. Plugin will never be loaded
{ "Bilal2453/luvit-meta", lazy = true },
-- Add lazydev source to cmp
{
"hrsh7th/nvim-cmp",
opts = function(_, opts)
table.insert(opts.sources, { name = "lazydev", group_index = 0 })
end,
},
}

View File

@ -0,0 +1,29 @@
-- Compatibility with Neovim 0.9
return {
-- Use LuaSnip instead of native snippets
{ "garymjr/nvim-snippets", enabled = false },
{ import = "lazyvim.plugins.extras.coding.luasnip" },
-- Use mini.comment instead of ts-comments
{ "folke/ts-comments.nvim", enabled = false },
{ import = "lazyvim.plugins.extras.coding.mini-comment" },
-- Use neodev-types with lazydev
{ "folke/neodev.nvim", config = function() end },
{
"folke/lazydev.nvim",
opts = function(_, opts)
opts.library = opts.library or {}
table.insert(opts.library, { "neodev.nvim/types/stable" })
end,
config = function(_, opts)
-- force lazydev to load on Neovim 0.9
require("lazydev.config").have_0_10 = true
require("lazydev").setup(opts)
end,
},
{
"neovim/nvim-lspconfig",
dependencies = {},
},
}

View File

@ -96,6 +96,12 @@ return {
expander_expanded = "",
expander_highlight = "NeoTreeExpander",
},
git_status = {
symbols = {
unstaged = "󰄱",
staged = "󰱒",
},
},
},
},
config = function(_, opts)
@ -197,11 +203,14 @@ return {
{ "<leader>sG", LazyVim.telescope("live_grep", { cwd = false }), desc = "Grep (cwd)" },
{ "<leader>sh", "<cmd>Telescope help_tags<cr>", desc = "Help Pages" },
{ "<leader>sH", "<cmd>Telescope highlights<cr>", desc = "Search Highlight Groups" },
{ "<leader>sj", "<cmd>Telescope jumplist<cr>", desc = "Jumplist" },
{ "<leader>sk", "<cmd>Telescope keymaps<cr>", desc = "Key Maps" },
{ "<leader>sl", "<cmd>Telescope loclist<cr>", desc = "Location List" },
{ "<leader>sM", "<cmd>Telescope man_pages<cr>", desc = "Man Pages" },
{ "<leader>sm", "<cmd>Telescope marks<cr>", desc = "Jump to Mark" },
{ "<leader>so", "<cmd>Telescope vim_options<cr>", desc = "Options" },
{ "<leader>sR", "<cmd>Telescope resume<cr>", desc = "Resume" },
{ "<leader>sq", "<cmd>Telescope quickfix<cr>", desc = "Quickfix List" },
{ "<leader>sw", LazyVim.telescope("grep_string", { word_match = "-w" }), desc = "Word (Root Dir)" },
{ "<leader>sW", LazyVim.telescope("grep_string", { cwd = false, word_match = "-w" }), desc = "Word (cwd)" },
{ "<leader>sw", LazyVim.telescope("grep_string"), mode = "v", desc = "Selection (Root Dir)" },
@ -229,12 +238,7 @@ return {
opts = function()
local actions = require("telescope.actions")
local open_with_trouble = function(...)
return require("trouble.providers.telescope").open_with_trouble(...)
end
local open_selected_with_trouble = function(...)
return require("trouble.providers.telescope").open_selected_with_trouble(...)
end
local open_with_trouble = require("trouble.sources.telescope").open
local find_files_no_ignore = function()
local action_state = require("telescope.actions.state")
local line = action_state.get_current_line()
@ -266,7 +270,7 @@ return {
mappings = {
i = {
["<c-t>"] = open_with_trouble,
["<a-t>"] = open_selected_with_trouble,
["<a-t>"] = open_with_trouble,
["<a-i>"] = find_files_no_ignore,
["<a-h>"] = find_files_with_hidden,
["<C-Down>"] = actions.cycle_history_next,
@ -415,15 +419,21 @@ return {
cmd = { "TroubleToggle", "Trouble" },
opts = { use_diagnostic_signs = true },
keys = {
{ "<leader>xx", "<cmd>TroubleToggle document_diagnostics<cr>", desc = "Document Diagnostics (Trouble)" },
{ "<leader>xX", "<cmd>TroubleToggle workspace_diagnostics<cr>", desc = "Workspace Diagnostics (Trouble)" },
{ "<leader>xL", "<cmd>TroubleToggle loclist<cr>", desc = "Location List (Trouble)" },
{ "<leader>xQ", "<cmd>TroubleToggle quickfix<cr>", desc = "Quickfix List (Trouble)" },
{ "<leader>xx", "<cmd>Trouble diagnostics toggle<cr>", desc = "Diagnostics (Trouble)" },
{ "<leader>xX", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", desc = "Buffer Diagnostics (Trouble)" },
{ "<leader>cs", "<cmd>Trouble symbols toggle focus=false<cr>", desc = "Symbols (Trouble)" },
{
"<leader>cS",
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
desc = "LSP references/definitions/... (Trouble)",
},
{ "<leader>xL", "<cmd>Trouble loclist toggle<cr>", desc = "Location List (Trouble)" },
{ "<leader>xQ", "<cmd>Trouble qflist toggle<cr>", desc = "Quickfix List (Trouble)" },
{
"[q",
function()
if require("trouble").is_open() then
require("trouble").previous({ skip_groups = true, jump = true })
require("trouble").prev({ skip_groups = true, jump = true })
else
local ok, err = pcall(vim.cmd.cprev)
if not ok then
@ -461,8 +471,8 @@ return {
keys = {
{ "]t", function() require("todo-comments").jump_next() end, desc = "Next Todo Comment" },
{ "[t", function() require("todo-comments").jump_prev() end, desc = "Previous Todo Comment" },
{ "<leader>xt", "<cmd>TodoTrouble<cr>", desc = "Todo (Trouble)" },
{ "<leader>xT", "<cmd>TodoTrouble keywords=TODO,FIX,FIXME<cr>", desc = "Todo/Fix/Fixme (Trouble)" },
{ "<leader>xt", "<cmd>Trouble todo toggle<cr>", desc = "Todo (Trouble)" },
{ "<leader>xT", "<cmd>Trouble todo toggle filter = {tag = {TODO,FIX,FIXME}}<cr>", desc = "Todo/Fix/Fixme (Trouble)" },
{ "<leader>st", "<cmd>TodoTelescope<cr>", desc = "Todo" },
{ "<leader>sT", "<cmd>TodoTelescope keywords=TODO,FIX,FIXME<cr>", desc = "Todo/Fix/Fixme" },
},

View File

@ -0,0 +1,116 @@
return {
{
"CopilotC-Nvim/CopilotChat.nvim",
branch = "canary",
cmd = "CopilotChat",
opts = function()
local user = vim.env.USER or "User"
user = user:sub(1, 1):upper() .. user:sub(2)
return {
model = "gpt-4",
auto_insert_mode = true,
show_help = true,
question_header = "" .. user .. " ",
answer_header = " Copilot ",
window = {
width = 0.4,
},
selection = function(source)
local select = require("CopilotChat.select")
return select.visual(source) or select.buffer(source)
end,
}
end,
keys = {
{ "<leader>a", "", desc = "+ai" },
{
"<leader>aa",
function()
return require("CopilotChat").toggle()
end,
desc = "Toggle (CopilotChat)",
mode = { "n", "v" },
},
{
"<leader>ax",
function()
return require("CopilotChat").reset()
end,
desc = "Clear (CopilotChat)",
mode = { "n", "v" },
},
{
"<leader>aq",
function()
local input = vim.fn.input("Quick Chat: ")
if input ~= "" then
require("CopilotChat").ask(input)
end
end,
desc = "Quick Chat (CopilotChat)",
mode = { "n", "v" },
},
},
config = function(_, opts)
local chat = require("CopilotChat")
require("CopilotChat.integrations.cmp").setup()
vim.api.nvim_create_autocmd("BufEnter", {
pattern = "copilot-chat",
callback = function()
vim.opt_local.relativenumber = false
vim.opt_local.number = false
end,
})
chat.setup(opts)
end,
},
-- Telescope integration
{
"nvim-telescope/telescope.nvim",
optional = true,
keys = {
-- Show help actions with telescope
{
"<leader>ad",
function()
local actions = require("CopilotChat.actions")
local help = actions.help_actions()
if not help then
LazyVim.warn("No diagnostics found on the current line")
return
end
require("CopilotChat.integrations.telescope").pick(help)
end,
desc = "Diagnostic Help (CopilotChat)",
mode = { "n", "v" },
},
-- Show prompts actions with telescope
{
"<leader>ap",
function()
local actions = require("CopilotChat.actions")
require("CopilotChat.integrations.telescope").pick(actions.prompt_actions())
end,
desc = "Prompt Actions (CopilotChat)",
mode = { "n", "v" },
},
},
},
-- Edgy integration
{
"folke/edgy.nvim",
optional = true,
opts = function(_, opts)
opts.right = opts.right or {}
table.insert(opts.right, {
ft = "copilot-chat",
title = "Copilot Chat",
size = { width = 50 },
})
end,
},
}

View File

@ -1,34 +1,38 @@
return {
"L3MON4D3/LuaSnip",
build = (not LazyVim.is_win())
and "echo 'NOTE: jsregexp is optional, so not a big deal if it fails to build'; make install_jsregexp"
or nil,
dependencies = {
{
"rafamadriz/friendly-snippets",
config = function()
require("luasnip.loaders.from_vscode").lazy_load()
end,
},
{
"nvim-cmp",
dependencies = {
"saadparwaiz1/cmp_luasnip",
{
"L3MON4D3/LuaSnip",
build = (not LazyVim.is_win())
and "echo 'NOTE: jsregexp is optional, so not a big deal if it fails to build'; make install_jsregexp"
or nil,
dependencies = {
{
"rafamadriz/friendly-snippets",
config = function()
require("luasnip.loaders.from_vscode").lazy_load()
end,
},
opts = function(_, opts)
opts.snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
}
table.insert(opts.sources, { name = "luasnip" })
end,
{
"nvim-cmp",
dependencies = {
"saadparwaiz1/cmp_luasnip",
},
opts = function(_, opts)
opts.snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
}
table.insert(opts.sources, { name = "luasnip" })
end,
},
},
opts = {
history = true,
delete_check_events = "TextChanged",
},
},
opts = {
history = true,
delete_check_events = "TextChanged",
},
{
"nvim-cmp",
-- stylua: ignore
keys = {
{
@ -41,4 +45,5 @@ return {
{ "<tab>", function() require("luasnip").jump(1) end, mode = "s" },
{ "<s-tab>", function() require("luasnip").jump(-1) end, mode = { "i", "s" } },
},
},
}

View File

@ -10,4 +10,11 @@ return {
},
},
},
{
"JoosepAlviste/nvim-ts-context-commentstring",
lazy = true,
opts = {
enable_autocmd = false,
},
},
}

View File

@ -9,7 +9,7 @@ return {
},
keys = {
-- stylua: ignore
{ "<leader>p", function() require("telescope").extensions.yank_history.yank_history({ }) end, desc = "Open Yank History" },
{ "<leader>p", function() require("telescope").extensions.yank_history.yank_history({ }) end, desc = "Open Yank History" },
{ "y", "<Plug>(YankyYank)", mode = { "n", "x" }, desc = "Yank Text" },
{ "p", "<Plug>(YankyPutAfter)", mode = { "n", "x" }, desc = "Put Yanked Text After Cursor" },
{ "P", "<Plug>(YankyPutBefore)", mode = { "n", "x" }, desc = "Put Yanked Text Before Cursor" },

View File

@ -49,17 +49,6 @@ return {
opts = {},
},
-- which key integration
{
"folke/which-key.nvim",
optional = true,
opts = {
defaults = {
["<leader>d"] = { name = "+debug" },
},
},
},
-- mason.nvim integration
{
"jay-babu/mason-nvim-dap.nvim",
@ -81,15 +70,11 @@ return {
},
},
},
-- VsCode launch.json parser
{
"folke/neoconf.nvim",
},
},
-- stylua: ignore
keys = {
{ "<leader>d", "", desc = "+debug" },
{ "<leader>dB", function() require("dap").set_breakpoint(vim.fn.input('Breakpoint condition: ')) end, desc = "Breakpoint Condition" },
{ "<leader>db", function() require("dap").toggle_breakpoint() end, desc = "Toggle Breakpoint" },
{ "<leader>dc", function() require("dap").continue() end, desc = "Continue" },

View File

@ -49,6 +49,14 @@ return {
},
},
{
"folke/trouble.nvim",
optional = true,
keys = {
{ "<leader>cs", false },
},
},
-- Telescope integration
{
"nvim-telescope/telescope.nvim",

View File

@ -40,6 +40,6 @@ return {
},
{
"neovim/nvim-lspconfig",
opts = { document_highlight = { enabed = false } },
opts = { document_highlight = { enabled = false } },
},
}

View File

@ -0,0 +1,38 @@
return {
-- Rename with cmdpreview
recommended = true,
desc = "Incremental LSP renaming based on Neovim's command-preview feature",
{
"smjonas/inc-rename.nvim",
cmd = "IncRename",
opts = {},
},
-- LSP Keymaps
{
"neovim/nvim-lspconfig",
opts = function()
local keys = require("lazyvim.plugins.lsp.keymaps").get()
keys[#keys + 1] = {
"<leader>cr",
function()
local inc_rename = require("inc_rename")
return ":" .. inc_rename.config.cmd_name .. " " .. vim.fn.expand("<cword>")
end,
expr = true,
desc = "Rename (inc-rename.nvim)",
has = "rename",
}
end,
},
--- Noice integration
{
"folke/noice.nvim",
optional = true,
opts = {
presets = { inc_rename = true },
},
},
}

View File

@ -50,14 +50,8 @@ return {
update_n_lines = "gzn", -- Update `n_lines`
},
},
},
{
"folke/which-key.nvim",
optional = true,
opts = {
defaults = {
["gz"] = { name = "+surround" },
},
keys = {
{ "gz", "", desc = "+surround" },
},
},

View File

@ -45,12 +45,59 @@ return {
require("mini.files").refresh({ content = { filter = new_filter } })
end
local map_split = function(buf_id, lhs, direction, close_on_file)
local rhs = function()
local new_target_window
local cur_target_window = require("mini.files").get_target_window()
if cur_target_window ~= nil then
vim.api.nvim_win_call(cur_target_window, function()
vim.cmd("belowright " .. direction .. " split")
new_target_window = vim.api.nvim_get_current_win()
end)
require("mini.files").set_target_window(new_target_window)
require("mini.files").go_in({ close_on_file = close_on_file })
end
end
local desc = "Open in " .. direction .. " split"
if close_on_file then
desc = desc .. " and close"
end
vim.keymap.set("n", lhs, rhs, { buffer = buf_id, desc = desc })
end
local files_set_cwd = function()
local cur_entry_path = MiniFiles.get_fs_entry().path
local cur_directory = vim.fs.dirname(cur_entry_path)
if cur_directory ~= nil then
vim.fn.chdir(cur_directory)
end
end
vim.api.nvim_create_autocmd("User", {
pattern = "MiniFilesBufferCreate",
callback = function(args)
local buf_id = args.data.buf_id
-- Tweak left-hand side of mapping to your liking
vim.keymap.set("n", "g.", toggle_dotfiles, { buffer = buf_id, desc = "Toggle Hidden Files" })
vim.keymap.set(
"n",
opts.mappings.toggle_hidden or "g.",
toggle_dotfiles,
{ buffer = buf_id, desc = "Toggle hidden files" }
)
vim.keymap.set(
"n",
opts.mappings.change_cwd or "gc",
files_set_cwd,
{ buffer = args.data.buf_id, desc = "Set cwd" }
)
map_split(buf_id, opts.mappings.go_in_horizontal or "<C-w>s", "horizontal", false)
map_split(buf_id, opts.mappings.go_in_vertical or "<C-w>v", "vertical", false)
map_split(buf_id, opts.mappings.go_in_horizontal_plus or "<C-w>S", "horizontal", true)
map_split(buf_id, opts.mappings.go_in_vertical_plus or "<C-w>V", "vertical", true)
end,
})

View File

@ -1,4 +1,12 @@
return {
-- Disable `<leader>cs` keymap so it doesn't conflict with `outline.nvim`
{
"folke/trouble.nvim",
optional = true,
keys = {
{ "<leader>cs", false },
},
},
{
"hedyhli/outline.nvim",
keys = { { "<leader>cs", "<cmd>Outline<cr>", desc = "Toggle Outline" } },

View File

@ -7,6 +7,7 @@ return {
"nvim-treesitter/nvim-treesitter",
},
keys = {
{ "<leader>r", "", desc = "+refactor" },
{
"<leader>rs",
function()
@ -124,15 +125,4 @@ return {
end
end,
},
-- which key integration
{
"folke/which-key.nvim",
optional = true,
opts = {
defaults = {
["<leader>r"] = { name = "+refactor" },
},
},
},
}

Some files were not shown because too many files have changed in this diff Show More