From 137a5e7ea0962a84e280544cd121cd269c3acace Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Thu, 30 Jul 2026 22:16:22 -0500 Subject: [PATCH] fixed lua formatting and added kiro-cli install --- Dockerfile | 3 +++ common.sh | 5 ++++ nvim/lua/darcula/config/init.lua | 1 + nvim/lua/darcula/setup/100_mason.lua | 18 ++++++++----- nvim/lua/darcula/setup/500_formatter.lua | 34 +++++++++++++++++++----- 5 files changed, 48 insertions(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index 13b40b8..2d8fcc0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -248,6 +248,9 @@ ENV \ UID="1000" \ UNAME="neovim" +RUN \ + curl -fsSL https://cli.kiro.dev/install | bash + RUN \ cd "/home/${UNAME}" && \ git clone https://github.com/flutter/flutter.git -b stable flutter && \ diff --git a/common.sh b/common.sh index a3953eb..9a7b9c9 100755 --- a/common.sh +++ b/common.sh @@ -119,6 +119,11 @@ if [ ! -d "${HOME}/.local/share/${NVIM_APPNAME}/Dart-Code" ]; then popd 1>/dev/null 2>&1 || error_exit "failed to popd: Dart-Code" popd 1>/dev/null 2>&1 || error_exit "failed to popd: ${HOME}/.local/share/${NVIM_APPNAME}" fi + +if [ ! -f "${HOME}/.local/bin/kiro-cli" ]; then + curl -fsSL https://cli.kiro.dev/install | bash +fi + popd 1>/dev/null 2>&1 || error_exit "failed to popd: ${SCRIPT_DIR}" export NVIM_ARCH diff --git a/nvim/lua/darcula/config/init.lua b/nvim/lua/darcula/config/init.lua index 5135de5..c125ecf 100644 --- a/nvim/lua/darcula/config/init.lua +++ b/nvim/lua/darcula/config/init.lua @@ -177,6 +177,7 @@ NV_DARCULA_MASON_TOOL_LIST = "clang-format", "gofumpt", "google-java-format", + "luaformatter", "prettier", "shellcheck", "shfmt", diff --git a/nvim/lua/darcula/setup/100_mason.lua b/nvim/lua/darcula/setup/100_mason.lua index e6d6522..f447985 100644 --- a/nvim/lua/darcula/setup/100_mason.lua +++ b/nvim/lua/darcula/setup/100_mason.lua @@ -46,12 +46,9 @@ require("mason-tool-installer").setup { run_on_start = true } -vim.lsp.config( - "*", - { - capabilities = require("cmp_nvim_lsp").default_capabilities() - } -) +local capabilities = require("cmp_nvim_lsp").default_capabilities() + +vim.lsp.config("*", {capabilities = capabilities}) for _, name in pairs(NV_DARCULA_MASON_LSP_LIST) do if name == "clangd" then @@ -64,6 +61,15 @@ for _, name in pairs(NV_DARCULA_MASON_LSP_LIST) do } } ) + elseif name == "cspell_ls" then + local cspell_capabilities = vim.deepcopy(capabilities) + cspell_capabilities.workspace = { + didChangeWatchedFiles = { + dynamicRegistration = false + } + } + + vim.lsp.config(name, {capabilities = cspell_capabilities}) elseif name == "lua_ls" then vim.lsp.config( name, diff --git a/nvim/lua/darcula/setup/500_formatter.lua b/nvim/lua/darcula/setup/500_formatter.lua index 2c617a2..7640d6f 100644 --- a/nvim/lua/darcula/setup/500_formatter.lua +++ b/nvim/lua/darcula/setup/500_formatter.lua @@ -19,6 +19,27 @@ -- local formatter_util = require("formatter.util") +local lua_format_executable = function() + local executable = vim.fn.exepath("lua-format") + if executable ~= "" then + return executable + end + + local native_executable = + vim.fs.joinpath( + vim.fs.dirname(vim.fn.stdpath("data")), + "nvim2", + "mason", + "bin", + "lua-format" + ) + if vim.fn.executable(native_executable) ~= 0 then + return native_executable + end + + return "lua-format" +end + require("formatter").setup { logging = true, log_level = vim.log.levels.WARN, @@ -45,16 +66,15 @@ require("formatter").setup { javascriptreact = {require("formatter.filetypes.javascriptreact").prettier}, json = {require("formatter.filetypes.json").prettier}, lua = { - require("formatter.filetypes.lua").luafmt, function() return { - exe = "luafmt", + exe = lua_format_executable(), args = { - "--stdin", - "-l", - "80", - "-i", - "2" + "--column-limit=80", + "--indent-width=2", + formatter_util.escape_path( + formatter_util.get_current_buffer_file_path() + ) }, stdin = true }