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-- | CHANGELOG.md | 118 | ||||
-rw-r--r-- | lua/lualine/themes/onedarker.lua | 6 | ||||
-rw-r--r-- | lua/lvim/keymappings.lua | 17 |
6 files changed, 244 insertions, 6 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..88b77990 --- /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") %} + - _({{commit.scope}})_ {{ commit.message | upper_first }} + {%- if commit.breaking %} + {% raw %} {% endraw %}- **BREAKING**: {{commit.breaking_description}} + {%- endif -%} + {%- endfor %} + {% for commit in commits %} + {%- if commit.scope -%} + {% else -%} + - {{ commit.message | upper_first }} + {% if commit.breaking -%} + {% raw %} {% endraw %}- **BREAKING**: {{commit.breaking_description}} + {% endif -%} + {% 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_parsers = [ + { message = "(.*bump|.*Bump)", group = "<!-- 7 --> Miscellaneous Tasks", skip = true}, + { message = "^build", group = "<!-- 0 --> Packaging"}, + { message = "(^feat|^Feat|^\\[Feat)", group = "<!-- 1 --> Features"}, + { message = "(^bug|^Bug|^fix)", group = "<!-- 2 --> Bugfix"}, + { message = "^refactor", group = "<!-- 3 --> Refactor"}, + { message = "^doc", group = "<!-- 4 --> Documentation"}, + { message = "^revert", group = "<!-- 5 --> Revert"}, + { message = "^perf", group = "<!-- 6 --> Performance"}, + { message = "^chore", group = "<!-- 7 --> Miscellaneous Tasks", skip = true}, + { message = "^ci", group = "<!-- 7 --> Miscellaneous Tasks", skip = true}, + { message = "^test", 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" + +[features] +preserve_order = ["serde_json/preserve_order"] diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml index 93c776e3..1bae3a10 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/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..78769e1d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,118 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## [unreleased] + +### <!-- 2 --> Bugfix + +- _(installer)_ Usernames can contain @ symbol (#2167) +- _(which-key)_ The PR has been merged to the original repo (#2172) +- _(zsh)_ Don't set filetype to sh (#2035) + +## [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/lua/lualine/themes/onedarker.lua b/lua/lualine/themes/onedarker.lua index 85904eeb..7db197ab 100644 --- a/lua/lualine/themes/onedarker.lua +++ b/lua/lualine/themes/onedarker.lua @@ -1,7 +1,3 @@ --- Copyright (c) 2020-2021 shadmansaleh --- MIT license, see LICENSE for more details. --- Credit: Zoltan Dalmadi(lightline) --- LuaFormatter off local colors = { blue = "#61afef", green = "#98c379", @@ -16,7 +12,7 @@ local colors = { gray2 = "#2c323d", gray3 = "#3e4452", } --- LuaFormatter on + return { normal = { a = { fg = colors.gray2, bg = colors.blue, gui = "bold" }, diff --git a/lua/lvim/keymappings.lua b/lua/lvim/keymappings.lua index d0763ca1..86af1320 100644 --- a/lua/lvim/keymappings.lua +++ b/lua/lvim/keymappings.lua @@ -119,6 +119,8 @@ end -- Append key mappings to lunarvim's defaults for a given mode -- @param keymaps The table of key mappings containing a list per mode (normal_mode, insert_mode, ..) function M.append_to_defaults(keymaps) + local default = M.get_defaults() + lvim.keys = lvim.keys or default for mode, mappings in pairs(keymaps) do for k, v in pairs(mappings) do defaults[mode][k] = v @@ -141,6 +143,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 |