diff options
-rw-r--r-- | .github/workflows/changelog.yml | 22 | ||||
-rw-r--r-- | .github/workflows/cliff.toml | 80 | ||||
-rw-r--r-- | .github/workflows/commitlint.yml | 7 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | CHANGELOG.md | 467 | ||||
-rw-r--r-- | README.md | 184 | ||||
-rw-r--r-- | lua/lvim/bootstrap.lua | 5 | ||||
-rw-r--r-- | lua/lvim/config/init.lua | 12 | ||||
-rw-r--r-- | lua/lvim/core/builtins/init.lua | 1 | ||||
-rw-r--r-- | lua/lvim/core/notify.lua | 72 | ||||
-rw-r--r-- | lua/lvim/core/nvimtree.lua | 17 | ||||
-rw-r--r-- | lua/lvim/core/telescope.lua | 6 | ||||
-rw-r--r-- | lua/lvim/core/theme.lua | 4 | ||||
-rw-r--r-- | lua/lvim/keymappings.lua | 15 | ||||
-rw-r--r-- | lua/lvim/lsp/config.lua | 2 | ||||
-rw-r--r-- | lua/lvim/plugins.lua | 8 | ||||
-rw-r--r-- | snapshots/default.json | 3 | ||||
-rw-r--r-- | tests/minimal_init.lua | 2 | ||||
-rw-r--r-- | utils/ci/run_test.sh | 7 | ||||
-rw-r--r-- | utils/ci/update_changelog.sh | 15 | ||||
-rw-r--r-- | utils/installer/config.example.lua | 1 | ||||
-rw-r--r-- | utils/installer/config_win.example.lua | 1 |
22 files changed, 667 insertions, 265 deletions
diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml new file mode 100644 index 00000000..74b20dc7 --- /dev/null +++ b/.github/workflows/changelog.yml @@ -0,0 +1,22 @@ +name: changelog +on: release + +jobs: + changelog-gen: + name: Generate changelog + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - uses: orhun/git-cliff-action@v1 + with: + config: cliff.toml + args: -vv --latest --strip header -c .github/workflows/cliff.toml + env: + OUTPUT: CHANGELOG.md + + - name: Print the changelog + run: cat "${{ steps.git-cliff.outputs.changelog }}" diff --git a/.github/workflows/cliff.toml b/.github/workflows/cliff.toml new file mode 100644 index 00000000..7f02201b --- /dev/null +++ b/.github/workflows/cliff.toml @@ -0,0 +1,80 @@ +# configuration file for git-cliff (0.1.0) + +[changelog] +# changelog header +header = """ +# Changelog\n +All notable changes to this project will be documented in this file.\n +""" +# template for the changelog body +# https://tera.netlify.app/docs/#introduction +body = """ +{% if version %}\ + ## [{{ version | trim_start_matches(pat="v") }}] +{% else %}\ + ## [unreleased] +{% endif %}\ +{% for group, commits in commits | group_by(attribute="group") %} + ### {{ group | upper_first }} + {% for commit in commits + | filter(attribute="scope") + | sort(attribute="scope") %} + - {% if commit.breaking %}[**breaking**] {% endif %}_({{commit.scope}})_ {{ commit.message }} + {%- endfor %} + {% for commit in commits %} + {%- if commit.scope -%} + {% else -%} + - {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message }} + {% endif -%} + {% endfor -%} + {% raw %}{% endraw %}\ +{% endfor %}\n +""" +# remove the leading and trailing whitespaces from the template +trim = true +# changelog footer +footer = """ +<!-- generated by git-cliff --> +""" + +[git] +# allow only conventional commits +# https://www.conventionalcommits.org +conventional_commits = true +# filter out the commits that are not conventional +filter_unconventional = true +# regex for parsing and grouping commits +commit_preprocessors = [ + { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](https://github.com/lunarvim/lunarvim/pull/${2}))"}, +] +commit_parsers = [ + { message = "(.*[bB]ump)", group = "<!-- 7 --> Miscellaneous Tasks", skip = true}, + { message = "^[bB]uild", group = "<!-- 0 --> Packaging"}, + { message = "(^[fF]eat|^\\[Feat)", group = "<!-- 1 --> Features"}, + { message = "(^[bB]ug|^[Ff]ix|^\\[Bug)", group = "<!-- 2 --> Bugfix"}, + { message = "(^[rR]efactor|^ref)", group = "<!-- 3 --> Refactor"}, + { message = "^[dD]oc", group = "<!-- 4 --> Documentation"}, + { message = "^[rR]evert", group = "<!-- 5 --> Revert"}, + { message = "^[pP]erf", group = "<!-- 6 --> Performance"}, + { message = "^[cC]hore", group = "<!-- 7 --> Miscellaneous Tasks", skip = true}, + { message = "^ci", group = "<!-- 7 --> Miscellaneous Tasks", skip = true}, + { message = "^test", group = "<!-- 7 --> Miscellaneous Tasks", skip = true}, + { message = "[wW]orkflow", group = "<!-- 7 --> Miscellaneous Tasks", skip = true}, +] +# filter out the commits that are not matched by commit parsers +filter_commits = false +# glob pattern for matching git tags +tag_pattern = "v[0-9]*" +# regex for skipping tags +skip_tags = "v0.1.0-beta.1" +# regex for ignoring tags +ignore_tags = "" +# sort the tags topologically +topo_order = false +# sort the commits inside sections by oldest/newest order +sort_commits = "oldest" +# protect breaking changes from being skipped due to matching a skipping commit_parser +protect_breaking_commits = false + +[features] +preserve_order = ["serde_json/preserve_order"] diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml index de6be24f..400b0bd0 100644 --- a/.github/workflows/commitlint.yml +++ b/.github/workflows/commitlint.yml @@ -1,5 +1,9 @@ name: "Commit Linter" -on: pull_request +on: + pull_request: + branches: + - "rolling" + jobs: lint-commits: runs-on: ubuntu-latest @@ -13,3 +17,4 @@ jobs: with: configFile: .github/workflows/commitlint.config.js helpURL: https://github.com/LunarVim/LunarVim/blob/rolling/CONTRIBUTING.md#commit-messages + firstParent: true @@ -27,4 +27,5 @@ lua/lv-user-config/ *.backup *.old +.luarc.json .luacheckcache diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..d7ae6dd5 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,467 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## [unreleased] + +### <!-- 1 --> Features + +- _(autocmds)_ make sure all autocmds are modifiable ([#3087](https://github.com/lunarvim/lunarvim/pull/3087)) +- _(cmp)_ add configs for cmp.setup.cmdline ([#3180](https://github.com/lunarvim/lunarvim/pull/3180)) +- _(config)_ allow disabling reload-on-save ([#3261](https://github.com/lunarvim/lunarvim/pull/3261)) +- _(dap)_ red bugs and other highlight improvements +- _(dap)_ buffernames for elements, icons, hide dap-repl by default ([#3156](https://github.com/lunarvim/lunarvim/pull/3156)) +- _(document highlight)_ use illuminate rather than autocommand to avoid flashing ([#3029](https://github.com/lunarvim/lunarvim/pull/3029)) +- _(indentblankline)_ show first indent level +- _(installer)_ handle INSTALL_PREFIX not on PATH ([#2912](https://github.com/lunarvim/lunarvim/pull/2912)) +- _(installer)_ desktop entry ([#3187](https://github.com/lunarvim/lunarvim/pull/3187)) +- _(logger)_ hot-reload logger level ([#3159](https://github.com/lunarvim/lunarvim/pull/3159)) +- _(lualine)_ update statusline +- _(lualine)_ improvements +- _(lvim/lsp)_ enable tailwindcss by default ([#2870](https://github.com/lunarvim/lunarvim/pull/2870)) +- _(telecope)_ set show_untracked by default ([#2984](https://github.com/lunarvim/lunarvim/pull/2984)) +- _(terminal)_ better mappings ([#3104](https://github.com/lunarvim/lunarvim/pull/3104)) +- _(uninstaller)_ desktop entry +- _(whichkey)_ add default keybindings to cycle to next buffer ([#2873](https://github.com/lunarvim/lunarvim/pull/2873)) +- add lir.nvim ([#3031](https://github.com/lunarvim/lunarvim/pull/3031)) +- add lir.nvim again ([#3038](https://github.com/lunarvim/lunarvim/pull/3038)) +- new colorscheme tokyonight ([#3041](https://github.com/lunarvim/lunarvim/pull/3041)) +- a less noisy tree ([#3042](https://github.com/lunarvim/lunarvim/pull/3042)) +- breadcrumbs ([#3043](https://github.com/lunarvim/lunarvim/pull/3043)) +- use a shorter dashboard banner when needed ([#3047](https://github.com/lunarvim/lunarvim/pull/3047)) +- illuminate works again +- breadcrumbs work again +- new dashboard logo +- set options to remove some noise +- laststatus=3 global statusline +- better telescopic experience ([#3052](https://github.com/lunarvim/lunarvim/pull/3052)) +- pickers ([#3053](https://github.com/lunarvim/lunarvim/pull/3053)) +- add indentlines ([#3056](https://github.com/lunarvim/lunarvim/pull/3056)) +- only show reloaded config on debug log level to decrease noise +- add border for mason ([#3080](https://github.com/lunarvim/lunarvim/pull/3080)) +- colorscheme tweaks +- reload and lir color update ([#3123](https://github.com/lunarvim/lunarvim/pull/3123)) +- now, when you're hovering over a require('a.b.c'), you can type gf, and go to the 'c.lua' file ([#3122](https://github.com/lunarvim/lunarvim/pull/3122)) +- move icons to a single icons file ([#3115](https://github.com/lunarvim/lunarvim/pull/3115)) +- add some more reloads ([#3126](https://github.com/lunarvim/lunarvim/pull/3126)) +- add space after breadcrumb icons ([#3128](https://github.com/lunarvim/lunarvim/pull/3128)) +- add missing nvimtree setting ([#3138](https://github.com/lunarvim/lunarvim/pull/3138)) +- added dap ui and relative config ([#3131](https://github.com/lunarvim/lunarvim/pull/3131)) +- terminal, dap, and notify active by default +- all features active by default ([#3157](https://github.com/lunarvim/lunarvim/pull/3157)) +- lock new installations to nvim 0.8+ ([#3111](https://github.com/lunarvim/lunarvim/pull/3111)) +- enable global installation ([#3161](https://github.com/lunarvim/lunarvim/pull/3161)) +- add new copilot and other sources ([#3171](https://github.com/lunarvim/lunarvim/pull/3171)) +- use icon for copilot in statusline ([#3173](https://github.com/lunarvim/lunarvim/pull/3173)) +- buffer cmp for search, and path for command mode ([#3147](https://github.com/lunarvim/lunarvim/pull/3147)) +- reduce noise from LSP text comes from buffer source anyway +- warn user when setting un-installed colorscheme ([#2982](https://github.com/lunarvim/lunarvim/pull/2982)) +- latest impatient updates from upstream ([#3236](https://github.com/lunarvim/lunarvim/pull/3236)) + +### <!-- 2 --> Bugfix + +- _(alpha)_ can't set button hl without doing this +- _(alpha)_ check alpha module ([#3233](https://github.com/lunarvim/lunarvim/pull/3233)) +- _(breadcrumbs)_ make sure winbar_filetype_exclude is customizable ([#3221](https://github.com/lunarvim/lunarvim/pull/3221)) +- _(ci)_ resolve stylua ci rare error ([#3065](https://github.com/lunarvim/lunarvim/pull/3065)) +- _(cmp)_ do not mutate the original confirm_opts on CR ([#2979](https://github.com/lunarvim/lunarvim/pull/2979)) +- _(cmp)_ fix cmp select on CR ([#2980](https://github.com/lunarvim/lunarvim/pull/2980)) +- _(core/autocmds)_ do not check for existence on clear_augroup ([#2963](https://github.com/lunarvim/lunarvim/pull/2963)) +- _(dashboard)_ add missing space ([#3063](https://github.com/lunarvim/lunarvim/pull/3063)) +- _(example config)_ fix config for treesitter ([#3016](https://github.com/lunarvim/lunarvim/pull/3016)) +- _(indentblankline)_ make sure to use the new syntax for all options ([#3058](https://github.com/lunarvim/lunarvim/pull/3058)) +- _(installer)_ create profile.ps1 if nonexistent ([#2810](https://github.com/lunarvim/lunarvim/pull/2810)) +- _(installer)_ small fix in help message of install.sh ([#3032](https://github.com/lunarvim/lunarvim/pull/3032)) +- _(installer)_ don't overwrite previous config ([#3154](https://github.com/lunarvim/lunarvim/pull/3154)) +- _(installer)_ don't set log level +- _(log)_ correct add_entry code documentation ([#3081](https://github.com/lunarvim/lunarvim/pull/3081)) +- _(lsp)_ return the actual resolved mason-config ([#2889](https://github.com/lunarvim/lunarvim/pull/2889)) +- _(lsp)_ pass name arg to should_auto_install ([#2958](https://github.com/lunarvim/lunarvim/pull/2958)) +- _(lsp)_ enforce lvim completion for lua-server ([#3035](https://github.com/lunarvim/lunarvim/pull/3035)) +- _(lsp/utils)_ do not register duplicate autocommands ([#3004](https://github.com/lunarvim/lunarvim/pull/3004)) +- _(lua-dev)_ make sure we are loading the correct types ([#3208](https://github.com/lunarvim/lunarvim/pull/3208)) +- _(luadev)_ this plugin has been renamed ([#3235](https://github.com/lunarvim/lunarvim/pull/3235)) +- _(lualine)_ set icon color according to the status of treesitter ([#2754](https://github.com/lunarvim/lunarvim/pull/2754)) +- _(lualine)_ little more padding +- _(lualine)_ guard setup on install ([#3185](https://github.com/lunarvim/lunarvim/pull/3185)) +- _(lualine)_ globalstatus=true by default +- _(nvim-cmp-lsp)_ update_capabilities has been deprecated ([#3245](https://github.com/lunarvim/lunarvim/pull/3245)) +- _(nvimtree)_ remove view height +- _(plugins)_ bring back original folke repos ([#2992](https://github.com/lunarvim/lunarvim/pull/2992)) +- _(plugins)_ handle deprecated options ([#3014](https://github.com/lunarvim/lunarvim/pull/3014)) +- _(plugins)_ set max jobs to 50 on mac +- _(statusline)_ display null-ls linters properly ([#2921](https://github.com/lunarvim/lunarvim/pull/2921)) +- _(ts_context_commentstring)_ block comment match new api ([#2948](https://github.com/lunarvim/lunarvim/pull/2948)) +- _(typo)_ fix language server name typo in config example ([#3176](https://github.com/lunarvim/lunarvim/pull/3176)) +- _(typo)_ fix language server name typo in config example #3176 ([#3183](https://github.com/lunarvim/lunarvim/pull/3183)) +- handle deprecated telescope.builtin.internal ([#2885](https://github.com/lunarvim/lunarvim/pull/2885)) +- update key bindings for comment.nvim to use new api ([#2926](https://github.com/lunarvim/lunarvim/pull/2926)) +- remove warning message +- make sure latest plugins are customizable ([#3044](https://github.com/lunarvim/lunarvim/pull/3044)) +- quick and dirty fix for global statusline +- add branch export for rolling installation ([#3054](https://github.com/lunarvim/lunarvim/pull/3054)) +- lag in space when in terminal insert +- fixing laststatus harder +- make sure to use global in lualine +- more consistent dashboard description ([#3055](https://github.com/lunarvim/lunarvim/pull/3055)) +- always load base theme +- plain tokyonight +- lualine filetype padding +- lualine git signs padding +- improve lualine inactive +- lualine slightly better +- use columns instead of winwidth +- lualine laststatus nuclear option +- pcall for dashboard +- small fixes on telescope pickers & breadcrumbs ([#3060](https://github.com/lunarvim/lunarvim/pull/3060)) +- supertab should tab if menu is not available ([#3079](https://github.com/lunarvim/lunarvim/pull/3079)) +- update minimal_lsp.lua ([#3090](https://github.com/lunarvim/lunarvim/pull/3090)) +- set `lua-dev.nvim` to a valid commit version ([#3096](https://github.com/lunarvim/lunarvim/pull/3096)) +- add lunarvim/lvim/after to rtp +- correct typos ([#3117](https://github.com/lunarvim/lunarvim/pull/3117)) +- idk why it has an issue here but we can't use reload in the plugins file for now +- don't ignore plugin this way ([#3125](https://github.com/lunarvim/lunarvim/pull/3125)) +- esc exit autocommand +- always use border for lsp hover ([#3160](https://github.com/lunarvim/lunarvim/pull/3160)) +- nvim_dap has an issue with setting winbar for dapui_console filetype +- formatting +- telescope delete_buffer binds correct scope +- move telescope.actions pcall to the top +- use function for pickers +- Remove J and K key mappings for move ([#3206](https://github.com/lunarvim/lunarvim/pull/3206)) +- typo in git.lua +- name treesitter source in cmp ([#3223](https://github.com/lunarvim/lunarvim/pull/3223)) +- don't install desktop file w/o xdg-desktop-menu ([#3229](https://github.com/lunarvim/lunarvim/pull/3229)) +- disable gitsigns hunk navigation message ([#3244](https://github.com/lunarvim/lunarvim/pull/3244)) +- copilot background should matcha statusline +- disable unsupported asian characters spellchecking ([#3259](https://github.com/lunarvim/lunarvim/pull/3259)) +- nil table in breadcrumbs in autocommand ([#3267](https://github.com/lunarvim/lunarvim/pull/3267)) + +### <!-- 3 --> Refactor + +- [**breaking**] _(cmp)_ adapt new recommendations ([#2913](https://github.com/lunarvim/lunarvim/pull/2913)) +- [**breaking**] _(keymaps)_ don't hijack H/L by default ([#2874](https://github.com/lunarvim/lunarvim/pull/2874)) +- [**breaking**] migrate to mason.nvim ([#2880](https://github.com/lunarvim/lunarvim/pull/2880)) +- small improvements ([#3021](https://github.com/lunarvim/lunarvim/pull/3021)) +- smaller timeout for packer ([#2910](https://github.com/lunarvim/lunarvim/pull/2910)) +- more deliberate reload ([#3133](https://github.com/lunarvim/lunarvim/pull/3133)) + +### <!-- 4 --> Documentation + +- _(lsp)_ fix the way of removing items from skipped_servers ([#2887](https://github.com/lunarvim/lunarvim/pull/2887)) +- _(readme)_ recommend rolling for 0.8, remove old breaking changes ([#3028](https://github.com/lunarvim/lunarvim/pull/3028)) +- _(windows)_ update example config for nvim-tree ([#2766](https://github.com/lunarvim/lunarvim/pull/2766)) +- _(windows)_ update example config ([#2919](https://github.com/lunarvim/lunarvim/pull/2919)) +- fix some typos and enhance readability ([#2917](https://github.com/lunarvim/lunarvim/pull/2917)) +- fix automatic_servers_installation example ([#2918](https://github.com/lunarvim/lunarvim/pull/2918)) +- update images +- Replace Tree-sitter `maintained` with `all` in README ([#3088](https://github.com/lunarvim/lunarvim/pull/3088)) +- Update contributing readme with new url for install docs. ([#3254](https://github.com/lunarvim/lunarvim/pull/3254)) + +### <!-- 5 --> Revert + +- remove incomplete lir integration ([#3030](https://github.com/lunarvim/lunarvim/pull/3030)) +- lir.nvim is still broken ([#3036](https://github.com/lunarvim/lunarvim/pull/3036)) +- fix Packer instead of hard-coding config ([#3049](https://github.com/lunarvim/lunarvim/pull/3049)) + +### <!-- 6 --> Performance + +- _(plugins)_ move assert `vim.env.LVIM_DEV_MODE` logic ([#3238](https://github.com/lunarvim/lunarvim/pull/3238)) + +## [1.1.4] + +### <!-- 1 --> Features + +- _(cmp)_ documentation is deprecated in favor of window.documentation ([#2461](https://github.com/lunarvim/lunarvim/pull/2461)) +- _(cmp)_ add option to disable friendly-snippets ([#2660](https://github.com/lunarvim/lunarvim/pull/2660)) +- _(codelens)_ cursorhold is too much intrusive for codelens ([#2600](https://github.com/lunarvim/lunarvim/pull/2600)) +- _(icons)_ make it possible to disable icons ([#2529](https://github.com/lunarvim/lunarvim/pull/2529)) +- _(installer)_ ensure correct responses when prompting user ([#2506](https://github.com/lunarvim/lunarvim/pull/2506)) +- _(installer)_ add verify-plugins hook ([#2751](https://github.com/lunarvim/lunarvim/pull/2751)) +- _(lsp)_ add option to override default `nvim-lsp-installer` settings ([#2698](https://github.com/lunarvim/lunarvim/pull/2698)) +- _(lsp)_ add option to override nlsp-settings ([#2769](https://github.com/lunarvim/lunarvim/pull/2769)) +- _(lsp)_ bind formatexpr and omnifunc by default ([#2865](https://github.com/lunarvim/lunarvim/pull/2865)) +- _(lua-dev)_ use the newer lua-dev branch till folke comes back ([#2538](https://github.com/lunarvim/lunarvim/pull/2538)) +- _(neovim)_ neovim 0.8 compatibility ([#2544](https://github.com/lunarvim/lunarvim/pull/2544)) +- _(peek)_ make sure max width and height are customizable ([#2492](https://github.com/lunarvim/lunarvim/pull/2492)) +- _(plugins)_ add support for packer snapshots ([#2351](https://github.com/lunarvim/lunarvim/pull/2351)) +- _(quit)_ make sure to ask before discarding changes ([#2554](https://github.com/lunarvim/lunarvim/pull/2554)) +- _(which-key)_ added search command for colour highlights ([#2693](https://github.com/lunarvim/lunarvim/pull/2693)) +- lock nvim <0.7 to a specific tag ([#2491](https://github.com/lunarvim/lunarvim/pull/2491)) +- gitsigns yadm support ([#2535](https://github.com/lunarvim/lunarvim/pull/2535)) +- add cmp-tmux to the list of sources ([#2542](https://github.com/lunarvim/lunarvim/pull/2542)) +- prompt when closing modified/term buffers ([#2658](https://github.com/lunarvim/lunarvim/pull/2658)) +- fix a couple of issues ([#2750](https://github.com/lunarvim/lunarvim/pull/2750)) +- add commands to open/edit lvim logs ([#2709](https://github.com/lunarvim/lunarvim/pull/2709)) + +### <!-- 2 --> Bugfix + +- _(autocmd)_ actually use the format wrapper ([#2560](https://github.com/lunarvim/lunarvim/pull/2560)) +- _(autocmds)_ make sure we are using codelens correctly ([#2576](https://github.com/lunarvim/lunarvim/pull/2576)) +- _(autocmds)_ disable commentstring_calc on cursor-hold ([#2581](https://github.com/lunarvim/lunarvim/pull/2581)) +- _(autocmds)_ toggle format-on-save properly ([#2659](https://github.com/lunarvim/lunarvim/pull/2659)) +- _(cmp)_ update nvim-cmp to the latest version ([#2467](https://github.com/lunarvim/lunarvim/pull/2467)) +- _(cmp)_ hotfix nvim-cmp version +- _(cmp)_ bring back default keybindings ([#2470](https://github.com/lunarvim/lunarvim/pull/2470)) +- _(cmp)_ update nvim-cmp to the latest version ([#2467](https://github.com/lunarvim/lunarvim/pull/2467)) ([#2469](https://github.com/lunarvim/lunarvim/pull/2469)) +- _(core.comment)_ fix default extra mappings ([#2768](https://github.com/lunarvim/lunarvim/pull/2768)) +- _(dap)_ temporarily use dap-buddy dev branch which has older code ([#2567](https://github.com/lunarvim/lunarvim/pull/2567)) +- _(dap)_ pause key binding commmand ([#2573](https://github.com/lunarvim/lunarvim/pull/2573)) +- _(impatient)_ avoid get_options in fast handler ([#2451](https://github.com/lunarvim/lunarvim/pull/2451)) +- _(installer)_ latest and specified release version for neovim have different urls ([#2484](https://github.com/lunarvim/lunarvim/pull/2484)) +- _(installer)_ use full path to verify_plugins.lua ([#2755](https://github.com/lunarvim/lunarvim/pull/2755)) +- _(installer)_ always use check shallow clones ([#2763](https://github.com/lunarvim/lunarvim/pull/2763)) +- _(installer/pwsh)_ fixes some details on installer and uninstaller ([#2404](https://github.com/lunarvim/lunarvim/pull/2404)) +- _(log)_ add date to the timestamp of logs ([#2669](https://github.com/lunarvim/lunarvim/pull/2669)) +- _(lsp)_ undo stdpath overload to avoid datarace ([#2540](https://github.com/lunarvim/lunarvim/pull/2540)) +- _(lsp)_ update format filter for nightly ([#2773](https://github.com/lunarvim/lunarvim/pull/2773)) +- _(lualine)_ color theme gaps in some components ([#2465](https://github.com/lunarvim/lunarvim/pull/2465)) +- _(lualine)_ unique buf client names ([#2683](https://github.com/lunarvim/lunarvim/pull/2683)) +- _(luasnip)_ make sure all snippets are loaded ([#2447](https://github.com/lunarvim/lunarvim/pull/2447)) +- _(luasnip)_ only use user snippets if the folder exists ([#2481](https://github.com/lunarvim/lunarvim/pull/2481)) +- _(lvim/lsp/manager)_ make client_is_configured more reliable ([#2851](https://github.com/lunarvim/lunarvim/pull/2851)) +- _(nvimtree)_ escape the dot character in custom filter ([#2493](https://github.com/lunarvim/lunarvim/pull/2493)) +- _(nvimtree)_ make sure on_config_done is using the correct require ([#2509](https://github.com/lunarvim/lunarvim/pull/2509)) +- _(nvimtree)_ add latest changes from nvimtree ([#2537](https://github.com/lunarvim/lunarvim/pull/2537)) +- _(nvimtree)_ update nvim-tree setup ([#2681](https://github.com/lunarvim/lunarvim/pull/2681)) +- _(nvimtree)_ remove `indent_markers` icons trailing space ([#2854](https://github.com/lunarvim/lunarvim/pull/2854)) +- _(packer)_ add max_jobs = 40 ([#2781](https://github.com/lunarvim/lunarvim/pull/2781)) +- _(readme)_ update lsp server ignore syntax +- _(readme)_ remove black as linter ([#2510](https://github.com/lunarvim/lunarvim/pull/2510)) +- _(telescope)_ set <cr> binding to actions.select_default only ([#2395](https://github.com/lunarvim/lunarvim/pull/2395)) +- _(theme)_ make sure the new theme is fully loaded ([#2392](https://github.com/lunarvim/lunarvim/pull/2392)) +- _(windows)_ specify required powershell version for the installation script ([#2376](https://github.com/lunarvim/lunarvim/pull/2376)) +- update deprecated methods in example configuration for trouble.nvim ([#2416](https://github.com/lunarvim/lunarvim/pull/2416)) +- use correct cache path ([#2593](https://github.com/lunarvim/lunarvim/pull/2593)) +- load notify's telescope extension properly ([#2586](https://github.com/lunarvim/lunarvim/pull/2586)) +- skip calling nvim-tree.setup() more than once ([#2707](https://github.com/lunarvim/lunarvim/pull/2707)) +- typo in utils/installer/install.sh ([#2776](https://github.com/lunarvim/lunarvim/pull/2776)) +- use pcall for setting up project.nvim ([#2762](https://github.com/lunarvim/lunarvim/pull/2762)) + +### <!-- 3 --> Refactor + +- _(lsp)_ replace deprecated ocamllsp with ocamlls ([#2402](https://github.com/lunarvim/lunarvim/pull/2402)) +- _(lsp)_ cleanup servers' override configuration ([#2243](https://github.com/lunarvim/lunarvim/pull/2243)) +- _(lsp)_ decouple the installer setup-hook ([#2536](https://github.com/lunarvim/lunarvim/pull/2536)) +- _(telescope)_ don't overwrite default cmd to show hidden files +- _(whichkey)_ use vim.keymap.set directly ([#2786](https://github.com/lunarvim/lunarvim/pull/2786)) +- re-enable packer.sync() in LvimReload ([#2410](https://github.com/lunarvim/lunarvim/pull/2410)) +- update impatient ([#2477](https://github.com/lunarvim/lunarvim/pull/2477)) +- lock new installations to nvim v0.7+ ([#2526](https://github.com/lunarvim/lunarvim/pull/2526)) +- use api-autocmds for lsp functions ([#2549](https://github.com/lunarvim/lunarvim/pull/2549)) +- [**breaking**] load the default options once ([#2592](https://github.com/lunarvim/lunarvim/pull/2592)) +- remove redundant ftdetects ([#2651](https://github.com/lunarvim/lunarvim/pull/2651)) + +### <!-- 4 --> Documentation + +- _(README)_ change forgotten breaking change in example ([#2377](https://github.com/lunarvim/lunarvim/pull/2377)) +- _(windows)_ use alpha in config_win.example.lua ([#2452](https://github.com/lunarvim/lunarvim/pull/2452)) + +### <!-- 5 --> Revert + +- do not run packer.sync() on every reload ([#2548](https://github.com/lunarvim/lunarvim/pull/2548)) + +### <!-- 6 --> Performance + +- _(cmp)_ remove redundant check for emmet-ls ([#2830](https://github.com/lunarvim/lunarvim/pull/2830)) + +## [1.1.3] + +### <!-- 1 --> Features + +- add alpha.nvim integration (#1906) + +### <!-- 2 --> Bugfix + +- _(alpha)_ globalstatus after openning files from dashboard (#2366) +- _(bufferline)_ add an additional space before diagnostics (#2367) +- _(lualine)_ conditional theme loading (#2363) +- _(peek)_ make sure popup_options are positive (#2373) +- _(peek)_ print error if lsp is unable to get file contents (#2379) +- _(terminal)_ whichkey -> which-key (#2380) +- _(terminal)_ weird lazygit commit message bug (#2382) +- _(windows)_ use correct validation for the alias (#2371) +- nvim-tree taking half the window on open (#2357) +- correct typo in backup function (#2358) +- automatically set colorscheme (#2370) + +### <!-- 3 --> Refactor + +- load onedarker theme externally (#2359) + +### <!-- 4 --> Documentation + +- update demo images on the main readme (#2386) + +## [1.1.2] + +### <!-- 1 --> Features + +- _(installer)_ Use pnpm to install nodejs dependencies(#2279) (#2280) +- _(windows)_ Add custom config_win.example.lua (#2330) +- Add option to automatically answer 'yes' for sh install script (#2306) +- Enable nlsp-settings schemas (#2322) + +### <!-- 2 --> Bugfix + +- _(nlsp-settings)_ Cross platform issue (#2335) +- _(timeoutlen)_ This has caused way too many issues in the past (#2287) +- Disable the default intro message (#2340) + +### <!-- 3 --> Refactor + +- _(nvim-tree)_ Update settings structure (#2304) + +### <!-- 4 --> Documentation + +- _(readme)_ Fix typo in example config (#2333) + +## [1.1.1] + +### <!-- 2 --> Bugfix + +- Add tsx to treesitter ensure_installed list (#2268) +- Correct a path to bufferline module (#2270) + +## [1.1.0] + +### <!-- 1 --> Features + +- _(vue)_ Set volar as default language server instead of vuels (#2230) +- Use schemastore.nvim to provide extended json schema support (#2239) +- Use bufferline instead of barbar (#2254) +- Add a minimal implementation of bbye (#2267) + +### <!-- 2 --> Bugfix + +- _(autopairs)_ Remove weird tex rules from autopairs (#2206) +- _(diag)_ Show lsp-diag code in open_float (#2180) +- _(installer)_ Usernames can contain @ symbol (#2167) +- _(installer)_ Universal bash (#2241) +- _(logging)_ Disable insane amount of logging inside lvim.log (#2205) +- _(lsp)_ No need to stop clients on LvimReload (#2160) +- _(lsp)_ Use temporary fork of lua-dev (#2187) +- _(lsp)_ Avoid accessing undefined user_data (#2216) +- _(lualine)_ Add space to diff components (#1897) +- _(lualine)_ Compacter size for treesitter icon (#2247) +- _(lualine)_ Use 1-char width symbol for changed (#2246) +- _(which-key)_ The PR has been merged to the original repo (#2172) +- _(zsh)_ Don't set filetype to sh (#2035) +- Added -ScriptBlock to run commands ```install.ps1``` (#2188) + +### <!-- 3 --> Refactor + +- _(nvim-tree)_ Cleanup and update settings (#2182) +- _(nvim-tree)_ Remove unused code (#2266) +- Remove unused outdated files (#2184) + +### <!-- 4 --> Documentation + +- _(readme)_ Add powershell installer script for Windows (#2208) + +## [1.0.0] + +### <!-- 1 --> Features + +- _(info)_ Display overridden servers for filetype (#2155) +- _(luadev)_ Better vim api completion (#2043) +- Add lualine config for darkplus +- Last updates before 1.0.0 (#1953) +- Use Telescope's git_files with fallback (#2089) +- Plugin version bump (#2120) +- Lazyload notify's configuration (#1855) +- Plugin version bump (#2131) + +### <!-- 2 --> Bugfix + +- _(gitsigns)_ Rounded border (#2142) +- _(install)_ Avoid data-races for `on_packer_complete` (#2157) +- _(installer)_ Backup linked files with rsync (#2081) +- _(installer)_ Check if npm-prefix is writable (#2091) +- _(installer)_ More robust yarn validation (#2113) +- _(lsp)_ Set the handlers opts for v0.6 as well (#2109) +- _(lsp)_ Formatter now use new null-ls api function (#2135) +- _(lsp)_ Formatter now use new null-ls api function (#2135) +- _(null-ls)_ Avoid sending invalid opts.args (#2154) +- _(which-key)_ Temporary solution for which-key (#2150) +- Remove autopairs cmp completion (#2083) +- Remove "error" message from git tag (#2141) + +### <!-- 3 --> Refactor + +- _(bootstrap)_ More robust git module (#2127) +- _(info)_ Use new null-ls api for sources (#2125) +- _(install.sh)_ Fix typo in node error message (#2107) +- _(null-ls)_ Allow passing full list of options for sources (#2137) +- _(settings)_ Add headless-mode settings (#2134) +- _(term)_ Leave the first few ids unassigned (#2156) +- _(test)_ Cleanup test utilities (#2132) +- Deprecate lvim.lang.FOO (#1913) (#1914) +- Remove unused old language configs (#2094) +- Uplift neovim's minimum version requirement to 0.6.0 (#2093) +- Avoid running ts.setup in headless (#2119) +- More consistent autocmds (#2133) +- Use a static lvim binary template (#1444) + +## [1.0.0-rc] + +### <!-- 1 --> Features + +- _(installer)_ Nicer rsync output (#2067) +- _(terminal)_ Lazygit can now be toggled (#2039) +- Add lualine config for darkplus +- Last updates before 1.0.0 (#1953) +- Support new null-ls (#1955) +- Empty for empty buffers instead of Buffer <#> +- Improved LSP grouping in lualine +- Decrease hide in width limit for lualine +- Add support for fsharp (#2021) +- Add some messages in uninstall.sh (#1945) +- Null-ls code_actions interface (#2008) +- Full compatibility with neovim v0.6 (#2037) +- Multiple enhancements to lvim-reload (#2054) +- Bump plugin versions (#2064) +- Update lsp-installer and lspconfig hashes to enable solidity_ls language server (#2072) + +### <!-- 2 --> Bugfix + +- _(autopairs)_ Add missing configuration entries (#2030) +- _(bootstrap)_ Remove hard-coded spellfile option (#2061) +- _(cmp)_ Revert broken sequential loading (#2002) +- _(installer)_ Better handling of existing files (#2066) +- _(lsp)_ Avoid installing an overridden server (#1981) +- _(lsp)_ Prevent repeated setup call (#2048) +- _(lsp)_ Correct client_id parsing in lvim-info (#2071) +- _(lsp)_ Allow overriding servers with custom providers (#2070) +- _(lualine)_ Change `fg` of section `a` in onedarker (#1909) +- _(null-ls)_ Allow the same linter and formatter (#1968) +- _(nvimtree)_ Update settings (#2001) +- _(nvimtree)_ Restore default mappings + make them customizable (#2007) +- _(nvimtree)_ Handle paths containing spaces (#2027) +- _(plugins)_ Typo of pin commit of `treesitter` (#2046) +- _(terminal)_ Allow disabling the open binding for toggleterm +- _(windows)_ Autocmd requires forward slashes (#1967) +- _(windows)_ Remove redundant `resolve` call (#1974) +- Bump nvim-tree version +- Formatting +- Remove duplicate lint messages +- Allow LunarVim changelog to work outside the lvim directory (#1952) +- Use an indepdent shadafile from neovim (#1910) +- Packersync issue when you have large number of plugins (#1922) +- No idea why this breaks barbar +- Lsp root can get very annoying when working with multiple languages. User is still able to turn it on. +- Update jdtls script +- Correct order for cmp's setup (#1999) +- Dont close if next char is a close pair and no pairs in same line (#2017) +- More accessible changelog (#2019) +- Better default, ignore `.git` in `live_grep` (#2020) +- No restart required when changing colorscheme (#2026) +- No longer treat lazygit missing as an error (#2051) + +### <!-- 3 --> Refactor + +- Deprecate lvim.lang.FOO (#1913) (#1914) +- More configurable format-on-save (#1937) +- Load the default keymaps once (#1965) + +<!-- generated by git-cliff --> @@ -2,169 +2,67 @@ <div align="center"><p> <a href="https://github.com/lunarvim/LunarVim/releases/latest"> - <img alt="Latest release" src="https://img.shields.io/github/v/release/lunarvim/LunarVim" /> + <img alt="Latest release" src="https://img.shields.io/github/v/release/LunarVim/LunarVim?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41" /> </a> <a href="https://github.com/lunarvim/LunarVim/pulse"> - <img alt="Last commit" src="https://img.shields.io/github/last-commit/lunarvim/LunarVim"/> + <img alt="Last commit" src="https://img.shields.io/github/last-commit/lunarvim/LunarVim?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41"/> </a> <a href="https://github.com/lunarvim/LunarVim/blob/main/LICENSE"> - <img src="https://img.shields.io/github/license/lunarvim/lunarvim?style=flat-square&logo=GNU&label=License" alt="License" - /> + <img alt="License" src="https://img.shields.io/github/license/lunarvim/lunarvim?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41" /> + </a> + <a href="https://github.com/LunarVim/LunarVim/stargazers"> + <img alt="Stars" src="https://img.shields.io/github/stars/LunarVim/LunarVim?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41" /> + </a> + <a href="https://github.com/LunarVim/LunarVim/issues"> + <img alt="Issues" src="https://img.shields.io/github/issues/LunarVim/LunarVim?style=for-the-badge&logo=bilibili&color=F5E0DC&logoColor=D9E0EE&labelColor=302D41" /> + </a> + <a href="https://github.com/LunarVim/LunarVim"> + <img alt="Repo Size" src="https://img.shields.io/github/repo-size/LunarVim/LunarVim?color=%23DDB6F2&label=SIZE&logo=codesandbox&style=for-the-badge&logoColor=D9E0EE&labelColor=302D41" /> + </a> <a href="https://patreon.com/chrisatmachine" title="Donate to this project using Patreon"> - <img src="https://img.shields.io/badge/patreon-donate-yellow.svg" alt="Patreon donate button" /> + <img alt="Patreon donate button" src="https://img.shields.io/badge/patreon-donate-yellow.svg?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41" /> </a> <a href="https://twitter.com/intent/follow?screen_name=chrisatmachine"> - <img src="https://img.shields.io/twitter/follow/chrisatmachine?style=social&logo=twitter" alt="follow on Twitter"> + <img alt="follow on Twitter" src="https://img.shields.io/twitter/follow/chrisatmachine?style=for-the-badge&logo=twitter&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41" /> </a> -</p> - -</div> - -## Showcase - - - - - - - -## Install In One Command! - -Make sure you have the release version of Neovim (0.8+). - -### Linux/MacOS: - -If you are running Neovim 0.8+ - -```bash -bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh) -``` - -If you are running Neovim 0.8+ - -```bash -export LV_BRANCH="rolling"; bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/rolling/utils/installer/install.sh) -``` - -To run the install script without any interaction you can pass the `-y` flag to automatically install all dependencies and have no prompts. This is particularly useful in automated installations. - -In the same way, you can use `--no-install-dependencies` to skip the dependency installation. - -### Windows (Powershell 7+): -Powershell v7+ is required for this script. For instructions on how to install, [click here.](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.2) + <p align="center"> + <img src="https://stars.medv.io/LunarVim/LunarVim.svg", title="commits"/> + </p> -```powershell -Invoke-WebRequest https://raw.githubusercontent.com/LunarVim/LunarVim/master/utils/installer/install.ps1 -UseBasicParsing | Invoke-Expression -``` +An IDE layer for Neovim with sane defaults. Completely free and community driven. -## Automatic LSP support +--- -By default, most supported language servers will get automatically installed once you open the supported file type, e.g, opening a Python file for the first time will install `Pyright` and configure it automatically for you. +**[<kbd> <br> Install <br> </kbd>][Install]**  +**[<kbd> <br> Configure <br> </kbd>][Configure]**  +**[<kbd> <br> Troubleshooting <br> </kbd>][Troubleshoot]**  +**[<kbd> <br> Contribute <br> </kbd>][Contribute]** -## Configuration file +--- -To install plugins configure LunarVim use the `config.lua` located here: `~/.config/lvim/config.lua` - -Example: - -```lua --- general -lvim.format_on_save = true -lvim.colorscheme = "tokyonight" - -lvim.leader = "space" --- add your own keymapping -lvim.keys.normal_mode["<C-s>"] = ":w<cr>" --- unmap a default keymapping --- lvim.keys.normal_mode["<C-Up>"] = "" --- edit a default keymapping --- lvim.keys.normal_mode["<C-q>"] = ":q<cr>" --- set keymap with custom opts --- lvim.keys.insert_mode["po"] = {'<ESC>', { noremap = true }} - --- Use which-key to add extra bindings with the leader-key prefix --- lvim.builtin.which_key.mappings["P"] = { "<cmd>Telescope projects<CR>", "Projects" } - --- Configure builtin plugins -lvim.builtin.alpha.active = true -lvim.builtin.notify.active = true -lvim.builtin.terminal.active = true - --- Treesitter parsers change this to a table of the languages you want i.e. {"java", "python", javascript} -lvim.builtin.treesitter.ensure_installed = "all" -lvim.builtin.treesitter.ignore_install = { "haskell" } - --- Disable virtual text -lvim.lsp.diagnostics.virtual_text = false - --- Select which servers should be configured manually. Requires `:LvimCacheReset` to take effect. --- See the full default list `:lua print(vim.inspect(lvim.lsp.override))` -vim.list_extend(lvim.lsp.automatic_configuration.skipped_servers, { "pyright" }) - --- set a formatter, this will override the language server formatting capabilities (if it exists) -local formatters = require "lvim.lsp.null-ls.formatters" -formatters.setup { - { command = "black" }, - { - command = "prettier", - ---@usage specify which filetypes to enable. By default, providers will attach to all the filetypes it supports. - filetypes = { "typescript", "typescriptreact" }, - }, -} - --- set additional linters -local linters = require "lvim.lsp.null-ls.linters" -linters.setup { - { - command = "eslint_d", - ---@usage specify which filetypes to enable. By default, providers will attach to all the filetypes it supports. - filetypes = { "javascript", "javascriptreact" }, - }, -} - --- Additional Plugins -lvim.plugins = { - {"lunarvim/colorschemes"}, - { - "ray-x/lsp_signature.nvim", - config = function() require"lsp_signature".on_attach() end, - event = "BufRead" - } -} -``` - -## Updating LunarVim - -- inside LunarVim `:LvimUpdate` -- from the command-line `lvim +LvimUpdate +q` - -### Update the plugins - -- inside LunarVim `:PackerUpdate` - -## Resources - -- [Documentation](https://www.lunarvim.org) - -- [YouTube](https://www.youtube.com/channel/UCS97tchJDq17Qms3cux8wcA) +## Showcase -- [Discord](https://discord.gg/Xb9B4Ny) + + -- [Twitter](https://twitter.com/chrisatmachine) +<!-----------------------------------------------------------------------------> -## Testimonials +## Socials -> "I have the processing power of a potato with 4 gb of ram and LunarVim runs perfectly." -> -> - @juanCortelezzi, LunarVim user. +<p align="center"> +<a href="https://github.com/Lunarvim"><img src="https://user-images.githubusercontent.com/696094/196835284-c52d4bd1-7034-439e-848b-47d4f2933dff.svg" width="64" height="64" alt="Github Logo"/></a> <img src="assets/misc/transparent.png" height="1" width="5"/> <a href="https://discord.gg/Xb9B4Ny"><img src="https://user-images.githubusercontent.com/696094/196835282-f5c47d66-29b7-4210-9ee0-d9cdecde3559.svg" width="64" height="64" alt="Discord Logo"/></a> <img src="assets/misc/transparent.png" height="1" width="5"/> <a href="https://twitter.com/chrisatmachine"><img src="https://user-images.githubusercontent.com/696094/196835281-52617611-ede6-40da-a4bc-8c5025622bbf.svg" width="64" height="64" alt="Twitter Logo"/></a> <img src="assets/misc/transparent.png" height="1" width="5"/> <a href="https://reddit.com/r/Lunarvim"><img src="https://user-images.githubusercontent.com/696094/196835278-041a4f99-28e1-4a93-8e35-c8912f1089fc.svg" width="64" height="64" alt="Reddit Logo"/></a> +</p> -> "My minimal config with a good amount less code than LunarVim loads 40ms slower. Time to switch." -> -> - @mvllow, Potential LunarVim user. +[Contribute]: https://github.com/LunarVim/LunarVim/blob/master/CONTRIBUTING.md +[Install]: https://www.lunarvim.org/docs/installation +[Troubleshoot]: https://www.lunarvim.org/docs/troubleshooting +[Configure]: https://www.lunarvim.org/docs/configuration -<div align="center" id="madewithlua"> +## Thanks to all contributors -[](#madewithlua) +<a href="https://github.com/Lunarvim/Lunarvim/graphs/contributors"> + <img src="https://contrib.rocks/image?repo=Lunarvim/Lunarvim" /> +</a> </div> diff --git a/lua/lvim/bootstrap.lua b/lua/lvim/bootstrap.lua index 5d980498..55a22502 100644 --- a/lua/lvim/bootstrap.lua +++ b/lua/lvim/bootstrap.lua @@ -10,7 +10,6 @@ end local uv = vim.loop local path_sep = uv.os_uname().version:match "Windows" and "\\" or "/" -local in_headless = #vim.api.nvim_list_uis() == 0 ---Join path segments that were passed as input ---@return string @@ -96,9 +95,7 @@ function M:init(base_dir) vim.cmd [[let &packpath = &runtimepath]] end - -- FIXME: currently unreliable in unit-tests - if not in_headless then - _G.PLENARY_DEBUG = false + if not vim.env.LVIM_TEST_ENV then require "lvim.impatient" end diff --git a/lua/lvim/config/init.lua b/lua/lvim/config/init.lua index 59722673..ae5dd601 100644 --- a/lua/lvim/config/init.lua +++ b/lua/lvim/config/init.lua @@ -46,6 +46,11 @@ function M:init() friendly_snippets = true, }, } + + ---@deprecated + lvim.builtin.notify = { + active = false + } end local function handle_deprecated_settings() @@ -93,6 +98,13 @@ local function handle_deprecated_settings() deprecation_notice("lvim.builtin.dashboard", "Use `lvim.builtin.alpha` instead. See LunarVim#1906") end + + -- notify.nvim + if lvim.builtin.notify.active then + deprecation_notice("lvim.builtin.notify", "See LunarVim#3294") + end + + if lvim.autocommands.custom_groups then deprecation_notice( "lvim.autocommands.custom_groups", diff --git a/lua/lvim/core/builtins/init.lua b/lua/lvim/core/builtins/init.lua index 0060c460..4764ff70 100644 --- a/lua/lvim/core/builtins/init.lua +++ b/lua/lvim/core/builtins/init.lua @@ -18,7 +18,6 @@ local builtins = { "lvim.core.bufferline", "lvim.core.autopairs", "lvim.core.comment", - "lvim.core.notify", "lvim.core.lualine", "lvim.core.alpha", "lvim.core.mason", diff --git a/lua/lvim/core/notify.lua b/lua/lvim/core/notify.lua deleted file mode 100644 index b08c45a6..00000000 --- a/lua/lvim/core/notify.lua +++ /dev/null @@ -1,72 +0,0 @@ -local M = {} - -local Log = require "lvim.core.log" - -local defaults = { - active = true, - on_config_done = nil, - opts = { - ---@usage Animation style one of { "fade", "slide", "fade_in_slide_out", "static" } - stages = "slide", - - ---@usage Function called when a new window is opened, use for changing win settings/config - on_open = nil, - - ---@usage Function called when a window is closed - on_close = nil, - - ---@usage timeout for notifications in ms, default 5000 - timeout = 5000, - - -- Render function for notifications. See notify-render() - render = "default", - - ---@usage highlight behind the window for stages that change opacity - background_colour = "Normal", - - ---@usage minimum width for notification windows - minimum_width = 50, - - ---@usage Icons for the different levels - icons = { - ERROR = lvim.icons.diagnostics.Error, - WARN = lvim.icons.diagnostics.Warning, - INFO = lvim.icons.diagnostics.Information, - DEBUG = lvim.icons.diagnostics.Debug, - TRACE = lvim.icons.diagnostics.Trace, - }, - }, -} - -function M.config() - if not lvim.use_icons then - defaults.opts.icons = { - ERROR = "[ERROR]", - WARN = "[WARNING]", - INFO = "[INFO]", - DEBUG = "[DEBUG]", - TRACE = "[TRACE]", - } - end - lvim.builtin.notify = vim.tbl_deep_extend("force", defaults, lvim.builtin.notify or {}) -end - -function M.setup() - if #vim.api.nvim_list_uis() == 0 then - -- no need to configure notifications in headless - return - end - - local opts = lvim.builtin.notify and lvim.builtin.notify.opts or defaults - - local status_ok, notify = pcall(require, "notify") - if not status_ok then - return - end - - notify.setup(opts) - vim.notify = notify - Log:configure_notifications(notify) -end - -return M diff --git a/lua/lvim/core/nvimtree.lua b/lua/lvim/core/nvimtree.lua index 199279a6..d98816f5 100644 --- a/lua/lvim/core/nvimtree.lua +++ b/lua/lvim/core/nvimtree.lua @@ -147,23 +147,6 @@ function M.setup() return end - local status_ok_1, utils = pcall(require, "nvim-tree.utils") - if not status_ok_1 then - return - end - - local function notify_level() - return function(msg) - vim.schedule(function() - vim.api.nvim_echo({ { msg, "WarningMsg" } }, false, {}) - end) - end - end - - utils.notify.warn = notify_level(vim.log.levels.WARN) - utils.notify.error = notify_level(vim.log.levels.ERROR) - utils.notify.info = notify_level(vim.log.levels.INFO) - utils.notify.debug = notify_level(vim.log.levels.DEBUG) if lvim.builtin.nvimtree._setup_called then Log:debug "ignoring repeated setup call for nvim-tree, see kyazdani42/nvim-tree.lua#1308" diff --git a/lua/lvim/core/telescope.lua b/lua/lvim/core/telescope.lua index 77bf552d..0cfe0b23 100644 --- a/lua/lvim/core/telescope.lua +++ b/lua/lvim/core/telescope.lua @@ -164,12 +164,6 @@ function M.setup() end) end - if lvim.builtin.notify.active then - pcall(function() - require("telescope").load_extension "notify" - end) - end - if lvim.builtin.telescope.on_config_done then lvim.builtin.telescope.on_config_done(telescope) end diff --git a/lua/lvim/core/theme.lua b/lua/lvim/core/theme.lua index 0f960d3d..efe2b404 100644 --- a/lua/lvim/core/theme.lua +++ b/lua/lvim/core/theme.lua @@ -99,8 +99,8 @@ M.setup = function() -- ref: https://github.com/neovim/neovim/issues/18201#issuecomment-1104754564 local colors = vim.api.nvim_get_runtime_file(("colors/%s.*"):format(lvim.colorscheme), false) if #colors == 0 then - Log:warn(string.format("Could not find '%s' colorscheme", lvim.colorscheme)) - lvim.colorscheme = "tokyonight" + Log:debug(string.format("Could not find '%s' colorscheme", lvim.colorscheme)) + return end vim.g.colors_name = lvim.colorscheme diff --git a/lua/lvim/keymappings.lua b/lua/lvim/keymappings.lua index 0f3bf6ba..d0d46fd7 100644 --- a/lua/lvim/keymappings.lua +++ b/lua/lvim/keymappings.lua @@ -119,6 +119,21 @@ function M.clear(keymaps) end end +-- Unsets all keybindings defined in keymaps +-- @param keymaps The table of key mappings containing a list per mode (normal_mode, insert_mode, ..) +function M.clear(keymaps) + local default = M.get_defaults() + for mode, mappings in pairs(keymaps) do + local translated_mode = mode_adapters[mode] and mode_adapters[mode] or mode + for key, _ in pairs(mappings) do + -- some plugins may override default bindings that the user hasn't manually overriden + if default[mode][key] ~= nil or (default[translated_mode] ~= nil and default[translated_mode][key] ~= nil) then + pcall(vim.api.nvim_del_keymap, translated_mode, key) + end + end + end +end + -- Set key mappings individually -- @param mode The keymap mode, can be one of the keys of mode_adapters -- @param key The key of keymap diff --git a/lua/lvim/lsp/config.lua b/lua/lvim/lsp/config.lua index 358e83f8..eeba9fb0 100644 --- a/lua/lvim/lsp/config.lua +++ b/lua/lvim/lsp/config.lua @@ -39,7 +39,7 @@ local skipped_servers = { "vuels", } -local skipped_filetypes = { "markdown", "rst", "plaintext" } +local skipped_filetypes = { "markdown", "rst", "plaintext", "toml" } local join_paths = require("lvim.utils").join_paths diff --git a/lua/lvim/plugins.lua b/lua/lvim/plugins.lua index db84d878..49b6fc23 100644 --- a/lua/lvim/plugins.lua +++ b/lua/lvim/plugins.lua @@ -17,14 +17,6 @@ local core_plugins = { { "folke/tokyonight.nvim", }, - { - "rcarriga/nvim-notify", - config = function() - require("lvim.core.notify").setup() - end, - requires = { "nvim-telescope/telescope.nvim" }, - disable = not lvim.builtin.notify.active or not lvim.builtin.telescope.active, - }, { "Tastyep/structlog.nvim" }, { "nvim-lua/popup.nvim" }, diff --git a/snapshots/default.json b/snapshots/default.json index f0a6d293..8c41358c 100644 --- a/snapshots/default.json +++ b/snapshots/default.json @@ -71,9 +71,6 @@ "nvim-navic": { "commit": "132b273" }, - "nvim-notify": { - "commit": "af935fd" - }, "nvim-tree.lua": { "commit": "c446527" }, diff --git a/tests/minimal_init.lua b/tests/minimal_init.lua index 91579243..e9fe3d6a 100644 --- a/tests/minimal_init.lua +++ b/tests/minimal_init.lua @@ -1,5 +1,5 @@ local path_sep = vim.loop.os_uname().version:match "Windows" and "\\" or "/" -local base_dir = os.getenv "LUNARVIM_RUNTIME_DIR" .. path_sep .. "lvim" +local base_dir = vim.env.LUNARVIM_BASE_DIR local tests_dir = base_dir .. path_sep .. "tests" vim.opt.rtp:append(tests_dir) diff --git a/utils/ci/run_test.sh b/utils/ci/run_test.sh index b12ceb7e..3e1bcf1b 100644 --- a/utils/ci/run_test.sh +++ b/utils/ci/run_test.sh @@ -2,6 +2,7 @@ set -e export LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-"$HOME/.local/share/lunarvim"}" +export LUNARVIM_BASE_DIR="${LUNARVIM_BASE_DIR:-"$LUNARVIM_RUNTIME_DIR/lvim"}" export LVIM_TEST_ENV=true @@ -11,12 +12,10 @@ LUNARVIM_CACHE_DIR="$(mktemp -d)" export LUNARVIM_CONFIG_DIR LUNARVIM_CACHE_DIR -echo "cache: $LUNARVIM_CACHE_DIR - -config: $LUNARVIM_CONFIG_DIR" +printf "cache_dir: %s\nconfig_dir: %s\n" "$LUNARVIM_CACHE_DIR" "$LUNARVIM_CONFIG_DIR" lvim() { - nvim -u "$LUNARVIM_RUNTIME_DIR/lvim/tests/minimal_init.lua" --cmd "set runtimepath+=$LUNARVIM_RUNTIME_DIR/lvim" "$@" + nvim -u "$LUNARVIM_BASE_DIR/tests/minimal_init.lua" --cmd "set runtimepath+=$LUNARVIM_BASE_DIR" "$@" } if [ -n "$1" ]; then diff --git a/utils/ci/update_changelog.sh b/utils/ci/update_changelog.sh new file mode 100644 index 00000000..49dae53a --- /dev/null +++ b/utils/ci/update_changelog.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +set -eo pipefail + +BRANCH="$(git rev-parse --abbrev-ref HEAD)" + +if [ "$BRANCH" != "master" ]; then + exit 0 +fi + +REPO_DIR="$(git rev-parse --show-toplevel)" +LATEST_TAG="$(git describe --tags --abbrev=0)" +CONFIG_FILE="$REPO_DIR/.github/workflows/cliff.toml" +CHANGELOG="$REPO_DIR/CHANGELOG.md" + +git -C "$REPO_DIR" cliff "$LATEST_TAG"..HEAD -u -c "$CONFIG_FILE" -p "$CHANGELOG" diff --git a/utils/installer/config.example.lua b/utils/installer/config.example.lua index ee599d1b..68b19d5c 100644 --- a/utils/installer/config.example.lua +++ b/utils/installer/config.example.lua @@ -64,7 +64,6 @@ lvim.keys.normal_mode["<C-s>"] = ":w<cr>" -- After changing plugin config exit and reopen LunarVim, Run :PackerInstall :PackerCompile lvim.builtin.alpha.active = true lvim.builtin.alpha.mode = "dashboard" -lvim.builtin.notify.active = true lvim.builtin.terminal.active = true lvim.builtin.nvimtree.setup.view.side = "left" lvim.builtin.nvimtree.setup.renderer.icons.show.git = false diff --git a/utils/installer/config_win.example.lua b/utils/installer/config_win.example.lua index 40cc34e8..ecdff296 100644 --- a/utils/installer/config_win.example.lua +++ b/utils/installer/config_win.example.lua @@ -80,7 +80,6 @@ lvim.keys.normal_mode["<C-s>"] = ":w<cr>" -- After changing plugin config exit and reopen LunarVim, Run :PackerInstall :PackerCompile lvim.builtin.alpha.active = true lvim.builtin.alpha.mode = "dashboard" -lvim.builtin.notify.active = true lvim.builtin.terminal.active = false -- lvim.builtin.terminal.shell = "pwsh.exe -NoLogo" |