Files
darcula_nvim/nvim/lua/darcula/usercmds.lua
2026-03-31 12:07:49 -05:00

81 lines
2.6 KiB
Lua

-- The MIT License (MIT)
--
-- Copyright © 2026 Scott E. Graves <scott.e.graves@protonmail.com>
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software
-- and associated documentation files (the “Software”), to deal in the Software without restriction,
-- including without limitation the rights to use, copy, modify, merge, publish, distribute,
-- sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
-- furnished to do so, subject to the following conditions:
--
-- The above copyright notice and this permission notice shall be included in all copies or
-- substantial portions of the Software.
--
-- THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-- BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--
local utils = require("darcula.utils")
utils.create_vert_display("Messages", "messages")
vim.cmd(
[[
cnoreabbrev <expr> h getcmdtype() ==# ':' && getcmdline() ==# 'h' ? 'vert help' : 'h'
cnoreabbrev <expr> help getcmdtype() ==# ':' && getcmdline() ==# 'help' ? 'vert help' : 'help'
]]
)
vim.api.nvim_create_user_command(
"PlugUpdate",
function()
vim.pack.update(nil, {force = true})
if NV_DARCULA_ENABLE_COC then
vim.cmd("CocUpdate")
end
end,
{}
)
if not NV_DARCULA_ENABLE_COC then
vim.api.nvim_create_user_command(
"LspInfo",
function()
local clients = vim.lsp.get_clients({bufnr = 0})
if #clients == 0 then
vim.notify("No LSP attached", vim.log.levels.INFO)
return
end
local res = {""}
for _, client in ipairs(clients) do
table.insert(res, "" .. client.name .. " (id: " .. client.id .. ")")
end
vim.notify(table.concat(res, "\n") .. "\n", vim.log.levels.INFO)
end,
{}
)
vim.api.nvim_create_user_command(
"LspRestart",
function()
local bufnr = vim.api.nvim_get_current_buf()
local clients = vim.lsp.get_clients({bufnr = bufnr})
for _, client in ipairs(clients) do
client:stop()
end
if
(vim.bo.buftype == "" or vim.bo.buftype == "normal") and
vim.api.nvim_buf_get_name(0) ~= ""
then
vim.cmd("edit")
end
end,
{}
)
end