new steps

This commit is contained in:
2026-02-13 02:05:33 +02:00
parent 6b4008ca38
commit 6cc023ec35
11 changed files with 167 additions and 609 deletions

View File

@@ -1,9 +1,10 @@
local function clone_package_manager()
local lock_path = vim.fs.joinpath(vim.fn.stdpath('config'), 'paq-lock.json')
local function clone_paq()
local path = vim.fn.stdpath('data') .. '/site/pack/paqs/opt/paq-nvim'
if not vim.uv.fs_stat(path) then
local repo = 'https://github.com/savq/paq-nvim.git'
local cmd = { 'git', 'clone', '--depth=1', repo, path }
local result = vim.system(cmd):wait()
local result = vim.system({ 'git', 'clone', '--depth=1', repo, path }):wait()
if result.code == 0 then
print('Package manager installed correctly')
end
@@ -14,11 +15,13 @@ local function load_paq()
vim.cmd.packadd('paq-nvim')
local paq = require('paq')
local packages = require('setup.packages').get()
paq:setup({ lock = vim.fn.stdpath('config') .. '/paq-lock.json' })(packages)
paq:setup({ lock = lock_path })(packages)
return paq
end
local function install_packages()
clone_paq()
local done = false
vim.api.nvim_create_autocmd('User', {
pattern = 'PaqDoneInstall',
@@ -31,11 +34,6 @@ local function install_packages()
local paq = load_paq()
paq.install()
local to_install = paq.query('to_install')
if #to_install == 0 then
return
end
vim.wait(60000, function()
return done
end, 200)
@@ -57,30 +55,20 @@ local function install_languages()
lm.install()
end
vim.api.nvim_create_user_command('InstallAll', function()
print('> Starting clone package manager...')
clone_package_manager()
print('\n> Starting installing packages...')
install_packages()
print('\n> Starting installing languages: ts parsers, language servers, linters, formatters...')
install_languages()
print('\n=== Install Finished ===\n\n')
end, {})
vim.api.nvim_create_user_command('Sync', function()
local function sync_packages()
clone_paq()
local paq = load_paq()
paq:sync()
end, {})
end
vim.api.nvim_create_user_command('FetchLspConfigs', function()
-- local base_url = 'https://raw.githubusercontent.com/neovim/nvim-lspconfig/master/lsp/'
local function fetch_lsp_configs()
local base_url = 'https://raw.githubusercontent.com/neovim/nvim-lspconfig/refs/heads/master/lsp/'
local lm = require('plugins.language-manager')
lm.invalidate_cache()
local general = lm.load_specs()
local lsp_dir = vim.fs.joinpath(vim.fn.getcwd(), 'lsp')
local lsp_dir = vim.fs.joinpath(vim.fn.stdpath('config'), 'lsp')
vim.fn.mkdir(lsp_dir, 'p')
for _, name in ipairs(general.language_servers or {}) do
@@ -99,4 +87,31 @@ vim.api.nvim_create_user_command('FetchLspConfigs', function()
vim.notify('Skipped existing ' .. name .. '.lua', vim.log.levels.INFO)
end
end
end, { desc = 'Fetch default LSP configs into ./lsp in cwd' })
end
local function create_command(name, callback, desc)
vim.api.nvim_create_user_command(name, callback, { desc = desc })
end
create_command('Setup', function()
print('> Installing packages...')
install_packages()
print('\n> Installing languages: treesitter parsers, language servers, linters, formatters...')
install_languages()
print('\n=== Setup Finished ===\n')
end, 'Install packages and language tooling (first-time setup)')
create_command('InstallPackages', function()
print('> Installing packages...')
install_packages()
print('\n=== Package Install Finished ===\n')
end, 'Install packages via Paq')
create_command('InstallLanguages', function()
print('> Installing languages: treesitter parsers, language servers, linters, formatters...')
install_languages()
print('\n=== Language Install Finished ===\n')
end, 'Install treesitter, LSP, linter, and formatter tooling')
create_command('Sync', sync_packages, 'Sync packages with Paq')
create_command('FetchLspConfigs', fetch_lsp_configs, 'Fetch default LSP configs into lsp/')