Configure Angular
This commit is contained in:
parent
44c9268d67
commit
bdadba7103
3 changed files with 52 additions and 18 deletions
|
@ -45,4 +45,9 @@ command -v stylelint &>/dev/null || volta install stylelint
|
||||||
command -v prettierd &>/dev/null || volta install @fsouza/prettierd
|
command -v prettierd &>/dev/null || volta install @fsouza/prettierd
|
||||||
|
|
||||||
# Angular
|
# Angular
|
||||||
command -v ng &>/dev/null || volta install @angular/cli
|
command -v ng &>/dev/null || volta install @angular/cli
|
||||||
|
command -v ngserver &>/dev/null || {
|
||||||
|
volta install @angular/language-server
|
||||||
|
volta install @angular/language-service
|
||||||
|
volta install typescript
|
||||||
|
}
|
||||||
|
|
|
@ -182,4 +182,18 @@ K.CODE = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
--[[ Angular ]]
|
||||||
|
K.ANGULAR = {
|
||||||
|
TEMPLATE = {
|
||||||
|
mode = 'n',
|
||||||
|
shortcut = '<Leader>at',
|
||||||
|
description = 'Go to Angular Template',
|
||||||
|
},
|
||||||
|
COMPONENT = {
|
||||||
|
mode = 'n',
|
||||||
|
shortcut = '<Leader>ac',
|
||||||
|
description = 'Go to Angular Component',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
return K
|
return K
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
local T = require('toolchain')
|
local T = require('toolchain')
|
||||||
local M = {}
|
local M = {}
|
||||||
|
local K = require('core.keymap')
|
||||||
|
|
||||||
function M.setup()
|
function M.setup()
|
||||||
T.add_highlighter_autoinstalls('angular')
|
T.add_highlighter_autoinstalls('angular')
|
||||||
|
@ -18,33 +19,47 @@ function M.setup()
|
||||||
T.add_lsp_autoinstalls('angularls')
|
T.add_lsp_autoinstalls('angularls')
|
||||||
|
|
||||||
T.add_lsps(function(lspconfig, capabilities)
|
T.add_lsps(function(lspconfig, capabilities)
|
||||||
local config = { capabilities = capabilities }
|
local cmd = {
|
||||||
lspconfig.html.setup(config)
|
vim.env.VOLTA_HOME .. '/bin/ngserver',
|
||||||
lspconfig.emmet_ls.setup(config)
|
'--stdio',
|
||||||
lspconfig.cssls.setup(config)
|
'--tsProbeLocations',
|
||||||
lspconfig.tailwindcss.setup(config)
|
vim.env.VOLTA_HOME,
|
||||||
lspconfig.ts_ls.setup(config)
|
'--ngProbeLocations',
|
||||||
lspconfig.eslint.setup(config)
|
vim.env.VOLTA_HOME,
|
||||||
|
}
|
||||||
|
lspconfig.angularls.setup({
|
||||||
|
capabilities = capabilities,
|
||||||
|
cmd = cmd,
|
||||||
|
on_new_config = function(new_config, _new_root_dir)
|
||||||
|
new_config.cmd = cmd
|
||||||
|
end,
|
||||||
|
})
|
||||||
end)
|
end)
|
||||||
|
|
||||||
T.add_plugins({
|
T.add_plugins({
|
||||||
'joeveiga/ng.nvim',
|
'joeveiga/ng.nvim',
|
||||||
config = function()
|
config = function()
|
||||||
local opts = { noremap = true, silent = true }
|
|
||||||
local ng = require('ng')
|
local ng = require('ng')
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
'n',
|
K.ANGULAR.COMPONENT.mode,
|
||||||
'<leader>at',
|
K.ANGULAR.COMPONENT.shortcut,
|
||||||
ng.goto_template_for_component,
|
ng.goto_component_with_template_file,
|
||||||
opts
|
{
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
desc = K.ANGULAR.COMPONENT.description,
|
||||||
|
}
|
||||||
)
|
)
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
'n',
|
K.ANGULAR.TEMPLATE.mode,
|
||||||
'<leader>ac',
|
K.ANGULAR.TEMPLATE.shortcut,
|
||||||
ng.goto_component_with_template_file,
|
ng.goto_template_for_component,
|
||||||
opts
|
{
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
desc = K.ANGULAR.TEMPLATE.description,
|
||||||
|
}
|
||||||
)
|
)
|
||||||
vim.keymap.set('n', '<leader>aT', ng.get_template_tcb, opts)
|
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue