mirror of
https://github.com/zoriya/dotfiles.git
synced 2025-12-06 06:36:17 +00:00
Add npm run
This commit is contained in:
@@ -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
|
||||
|
||||
26
nvim/nvim/config/nvim.ln/lua/build/adapters/npm.lua
Normal file
26
nvim/nvim/config/nvim.ln/lua/build/adapters/npm.lua
Normal 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
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -12,7 +12,10 @@ configs.setup({
|
||||
},
|
||||
indent = {
|
||||
enable = true,
|
||||
disable = { "yaml" },
|
||||
disable = {
|
||||
"yaml",
|
||||
"json",
|
||||
},
|
||||
},
|
||||
context_commentstring = {
|
||||
enable = true,
|
||||
|
||||
3
toto.scala
Normal file
3
toto.scala
Normal file
@@ -0,0 +1,3 @@
|
||||
12
|
||||
|
||||
println(12 * 1)
|
||||
Reference in New Issue
Block a user