summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/changelog.yml22
-rw-r--r--.github/workflows/cliff.toml80
-rw-r--r--.github/workflows/commitlint.yml7
-rw-r--r--.gitignore1
-rw-r--r--CHANGELOG.md467
-rw-r--r--README.md184
-rw-r--r--lua/lvim/bootstrap.lua5
-rw-r--r--lua/lvim/config/init.lua12
-rw-r--r--lua/lvim/core/builtins/init.lua1
-rw-r--r--lua/lvim/core/notify.lua72
-rw-r--r--lua/lvim/core/nvimtree.lua17
-rw-r--r--lua/lvim/core/telescope.lua6
-rw-r--r--lua/lvim/core/theme.lua4
-rw-r--r--lua/lvim/keymappings.lua15
-rw-r--r--lua/lvim/lsp/config.lua2
-rw-r--r--lua/lvim/plugins.lua8
-rw-r--r--snapshots/default.json3
-rw-r--r--tests/minimal_init.lua2
-rw-r--r--utils/ci/run_test.sh7
-rw-r--r--utils/ci/update_changelog.sh15
-rw-r--r--utils/installer/config.example.lua1
-rw-r--r--utils/installer/config_win.example.lua1
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
diff --git a/.gitignore b/.gitignore
index 49d00ade..4a0cb4c8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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 -->
diff --git a/README.md b/README.md
index 16ce0540..94078c7c 100644
--- a/README.md
+++ b/README.md
@@ -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
-![intro1](https://user-images.githubusercontent.com/29136904/191624232-a7b13f11-cc9f-495e-879e-67ea0444c568.png)
-![info](https://user-images.githubusercontent.com/29136904/191624942-3d75ef87-35cf-434d-850e-3e7cd5ce2ad0.png)
-
-![demo1](https://user-images.githubusercontent.com/29136904/191625579-ce9efb1f-1e23-4a05-aebc-915a0f614d72.png)
-![demo2](https://user-images.githubusercontent.com/29136904/191626018-2e9ee682-043c-4ce5-a5dd-c11b94759782.png)
-![demo3](https://user-images.githubusercontent.com/29136904/191626246-ce0cc0c5-4b41-49e3-9cb7-4b1867ab0dcb.png)
-
-## 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)
+![demo3](https://user-images.githubusercontent.com/29136904/191626246-ce0cc0c5-4b41-49e3-9cb7-4b1867ab0dcb.png)
+![info](https://user-images.githubusercontent.com/29136904/191624942-3d75ef87-35cf-434d-850e-3e7cd5ce2ad0.png)
-- [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
-[![Lua](https://img.shields.io/badge/Made%20with%20Lua-blue.svg?style=for-the-badge&logo=lua)](#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"