Add npm run

This commit is contained in:
Zoe Roux
2022-05-25 17:45:38 +02:00
parent 134180d9f1
commit 6997d9e537
5 changed files with 49 additions and 16 deletions

View File

@@ -18,7 +18,7 @@ M.list = function()
end
table.insert(ret, {
name = proj:match("([^/]+).csproj$"),
csproj = proj,
file = proj,
icon = "",
})
end,
@@ -36,7 +36,7 @@ M.build = function(proj)
return Job:new({
command = "dotnet",
args = { "build", proj.csproj },
args = { "build", proj.file },
on_stdout = vim.schedule_wrap(add_to_qf),
on_stderr = vim.schedule_wrap(add_to_qf),
})
@@ -44,7 +44,7 @@ end
M.run = function(proj)
return "dotnet run --project " .. proj.csproj
return "dotnet run --project " .. proj.file
end
M.require_build = false

View File

@@ -0,0 +1,26 @@
local M = {}
M.patterns = { "**/package.json" }
M.list = function(package)
return {
{
name = vim.fn.fnamemodify(package, ":h"), -- Use the name in the package.json
folder = vim.fn.fnamemodify(package, ":h"),
file = package,
}
}
end
M.build = function()
return nil
end
M.run = function(proj)
return "cd " .. proj.folder .. " && npm start"
end
M.require_build = false
return M

View File

@@ -1,4 +1,5 @@
local has_icon, nwicon = pcall(require, 'nvim-web-devicons')
local scan = require 'plenary.scandir'
local M = {
adapters = {},
@@ -10,6 +11,7 @@ local M = {
table.insert(M.adapters, require "build.adapters.dotnet")
table.insert(M.adapters, require "build.adapters.docker-compose")
table.insert(M.adapters, require "build.adapters.npm")
M.list_projs = function()
local projs = {}
@@ -17,21 +19,20 @@ M.list_projs = function()
-- TODO: Use async methods here. (currently waiting for plenary async jobs)
for _, adapter in pairs(M.adapters) do
for _, pattern in pairs(adapter.patterns) do
for _, match in pairs(vim.fn.glob(pattern, false, true)) do
for _, proj in pairs(adapter.list(match)) do
proj.adapter = adapter
proj.source = match
proj.icon = proj.icon or has_icon and nwicon.get_icon(
vim.fn.fnamemodify(proj.file, ':t'),
vim.fn.fnamemodify(proj.file, ':e'),
{ default = true }
) or " "
table.insert(projs, proj)
end
for _, match in pairs(scan.scan_dir(".", { search_pattern = adapter.patterns, respect_gitignore = true })) do
for _, proj in pairs(adapter.list(match)) do
proj.adapter = adapter
proj.source = match
proj.icon = proj.icon or has_icon and nwicon.get_icon(
vim.fn.fnamemodify(proj.file, ':t'),
vim.fn.fnamemodify(proj.file, ':e'),
{ default = true }
) or " "
table.insert(projs, proj)
end
end
end
return projs
end

View File

@@ -12,7 +12,10 @@ configs.setup({
},
indent = {
enable = true,
disable = { "yaml" },
disable = {
"yaml",
"json",
},
},
context_commentstring = {
enable = true,

3
toto.scala Normal file
View File

@@ -0,0 +1,3 @@
12
println(12 * 1)