This commit is contained in:
tkinaba
2025-02-03 08:00:00 -03:00
commit e3c0680fd2
3 changed files with 85 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
local augroup = vim.api.nvim_create_augroup("Vitruvio", { clear = true })
local curl = require('plenary.curl')
local post = function(url, content)
curl.post(url,
{
body = content,
headers = {
["Content-Type"] = "application/xml"
}
})
end
local function main()
vim.api.nvim_create_user_command("VitruvioURL", function(opts)
vim.b.vitruvio_url = opts.fargs[1]
end, { nargs = 1 })
if vim.bo.filetype == "xml" then
local g = vim.api.nvim_create_augroup("VitruvioBufWritePost", { clear = true })
vim.api.nvim_create_autocmd("BufWritePost", {
group = g,
desc = "Live reload",
callback = function()
if vim.bo.filetype == "xml" then
local url = vim.b.vitruvio_url
local content = table.concat(
vim.api.nvim_buf_get_lines(0, 0, vim.api.nvim_buf_line_count(0), false), "\n")
if url then
post(url, content)
else
if not vim.b.notified then
print("É necessário atribuir um URL com :VitruvioURL")
vim.b.notified = true
end
end
end
end
})
-- vim.api.nvim_create_autocmd("BufWritePost", {
-- group = g,
-- desc = "LSP em JavaScript embedded",
-- callback = function()
-- if vim.bo.filetype == "xml" then
-- vim.api
-- end
-- end
-- })
--
end
end
local function setup()
vim.api.nvim_create_autocmd("BufEnter",
{
group = augroup,
desc = "Utilidades para o desenvolvedor do Vitruvio",
callback = main
})
end
return { setup = setup }
View File
+23
View File
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<panel-form xmlns="http://www.davinti.com.br/vitruvio/form/panel"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.davinti.com.br/vitruvio/form/panel https://bitbucket.org/davinTI/vitruvio-xds/raw/master/vitruvio-panel-form.xsd">
<form formKey="meuForm" width="100%">
<name></name>
<description></description>
<components>
<VerticalLayout spacing="true" margin="true" height="100%" width="100%">
<TextField id="txfTeste" type="email" caption="Teste" />
<ButtonWidget id="btnTeste" caption="Enviar" style="BLUE" width="100px">
<onClickScript language="JavaScript">
<![CDATA[
function run() {
engine.isValid();
}
]]>
</onClickScript>
</ButtonWidget>
</VerticalLayout>
</components>
</form>
</panel-form>