feat: add moar lsp/aliases and upgrade neovim/runtimes (#52)

A lot of updates in my personal development environment:

## Additions

1. Command lines and runtimes:
   1. [`ctlptl`][2]: `cli` to make local `kubernetes` cluster management easier
   1. [`eksctl`][3]: `cli` to make `eks` cluster management easier
   1. [`r`][4]: software environment for statistical computing and graphics
   1. [`usage`][5]: specification for `cli`s, used by `mise`
1. Aliases:
   1. `dc`: for `docker compose`
   2. `k`: for `kubectl`
1. Moar `lsp`s:
   1. [`cuelsp`][8]: for the [`cue`][9], with [`dagger`][10] support
   1. [`jsonls`][11]: for `json` schemas
   1. [`r-languageserver`][12]: for the [`r`][4] environment
   1. [`yamlls`][13]: for `yaml` schemas
1. Auto-completion for:
   1. [`ctlptl`][2]
   1. [`eksctl`][3]
   1. `helm`
   1. `k3d`
   1. `k9s`
   1. `kubectl`
   1. `lefthook`
   1. `mise`

## Upgrades

1. Runtimes:
   1. [`elixir` from 1.16.2 to 1.17.0][0]
   1. [`erlang` from 26.2.5 to 27.0][1]
1. [`kickstart.nvim` to latest commit][6]
1. [Installation of `atuin`][7]

Reviewed-on: #52

[0]: https://elixir-lang.org/blog/2024/06/12/elixir-v1-17-0-released/
[1]: https://www.erlang.org/news/170
[2]: https://github.com/tilt-dev/ctlptl
[3]: https://eksctl.io/
[4]: https://www.r-project.org/
[5]: https://usage.jdx.dev/
[6]: 5aeddfdd5d
[7]: https://github.com/atuinsh/atuin?tab=readme-ov-file#install
[8]: https://github.com/dagger/cuelsp
[9]: https://cuelang.org/
[10]: https://dagger.io/
[11]: https://github.com/microsoft/vscode-json-languageservice
[12]: https://github.com/REditorSupport/languageserver
[13]: https://github.com/redhat-developer/yaml-language-server
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
This commit is contained in:
2024-06-16 18:25:22 +00:00
committed by João Paulo Dubas
parent 5e38d5886a
commit 9605631b51
4 changed files with 77 additions and 12 deletions

View File

@@ -1,5 +1,5 @@
diff --git a/init.lua b/init.lua
index 88658ef..d9e96ee 100644
index 88658ef..b2e4e40 100644
--- a/init.lua
+++ b/init.lua
@@ -91,7 +91,7 @@ vim.g.mapleader = ' '
@@ -39,10 +39,11 @@ index 88658ef..d9e96ee 100644
-- [[ Basic Keymaps ]]
-- See `:help vim.keymap.set()`
@@ -578,6 +586,18 @@ require('lazy').setup({
@@ -578,6 +586,28 @@ require('lazy').setup({
-- tsserver = {},
--
+ cuelsp = {},
+ elixirls = {
+ elixirLS = {
+ dialyzerEnabled = true,
@@ -55,21 +56,53 @@ index 88658ef..d9e96ee 100644
+ helm_ls = {},
+ html = { filetypes = { 'html', 'twig', 'hbs' } },
+ htmx = {},
+ jsonls = {
+ settings = {
+ json = {
+ -- schemas = {
+ -- ["https://raw.githubusercontent.com/woodpecker-ci/woodpecker/main/pipeline/frontend/yaml/linter/schema/schema.json"] = "renovate.json",
+ -- },
+ },
+ },
+ },
lua_ls = {
-- cmd = {...},
-- filetypes = { ...},
@@ -592,6 +612,10 @@ require('lazy').setup({
@@ -592,6 +622,33 @@ require('lazy').setup({
},
},
},
+ pyright = {},
+ r_language_server = {},
+ templ = {},
+ terraformls = {},
+ tsserver = {},
+ yamlls = {
+ settings = {
+ yaml = {
+ schemas = {
+ ["https://json.schemastore.org/chart.json"] = "Chart.{yml,yaml}",
+ ["https://json.schemastore.org/drone.json"] = ".drone.{yml,yaml}",
+ ["https://json.schemastore.org/github-action.json"] = ".github/action.{yml,yaml}",
+ ["https://json.schemastore.org/github-workflow.json"] = ".github/workflows/*",
+ ["https://json.schemastore.org/kustomization.json"] = "kustomization.{yml,yaml}",
+ ["https://json.schemastore.org/prettierrc.json"] = ".prettierrc.{yml,yaml}",
+ ["https://json.schemastore.org/circleciconfig.json"] = ".circleci/config.{yml,yaml}",
+ ["https://json.schemastore.org/dependabot-v2"] = ".github/dependabot.{yml,yaml}",
+ ["https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json"] = "*api*.{yml,yaml}",
+ ["https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/ansible.json#/$defs/playbook"] = "*play*.{yml,yaml}",
+ ["https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/ansible.json#/$defs/tasks"] = "roles/tasks/*.{yml,yaml}",
+ ["https://raw.githubusercontent.com/argoproj/argo-workflows/master/api/jsonschema/schema.json"] = "*flow*.{yml,yaml}",
+ ["https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json"] = "*docker-compose*.{yml,yaml}",
+ -- kubernetes = "*.{yml,yaml}",
+ }
+ }
+ }
+ }
}
-- Ensure the servers and tools above are installed
@@ -618,6 +642,33 @@ require('lazy').setup({
@@ -618,6 +675,33 @@ require('lazy').setup({
-- by the server configuration above. Useful when disabling
-- certain features of an LSP (for example, turning off formatting for tsserver)
server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
@@ -103,7 +136,7 @@ index 88658ef..d9e96ee 100644
require('lspconfig')[server_name].setup(server)
end,
},
@@ -835,7 +886,38 @@ require('lazy').setup({
@@ -835,7 +919,38 @@ require('lazy').setup({
'nvim-treesitter/nvim-treesitter',
build = ':TSUpdate',
opts = {
@@ -143,7 +176,7 @@ index 88658ef..d9e96ee 100644
-- Autoinstall languages that are not installed
auto_install = true,
highlight = {
@@ -874,18 +956,18 @@ require('lazy').setup({
@@ -874,18 +989,18 @@ require('lazy').setup({
-- Uncomment any of the lines below to enable them (you will need to restart nvim).
--
-- require 'kickstart.plugins.debug',