Working vue setup

This commit is contained in:
2025-05-06 20:23:45 +02:00
parent c5eb97bc3a
commit 226f80e197
4 changed files with 31 additions and 8 deletions

View File

@@ -1,4 +1,9 @@
-- TODO: Read until 817
-- external requirements
-- - use nvm and install @vue/typescript-plugin globally
-- then ts_ls will use it for vue parsing. It is already in the arch install script.
local nvm_bin = os.getenv 'NVM_BIN'
local vue_typescript_plugin_path = nvm_bin .. '/../lib/node_modules/@vue/typescript-plugin'
-- "<leader>sh" to [s]earch the [h]elp documentation.
@@ -600,9 +605,9 @@ require('lazy').setup({
init_options = {
plugins = {
{
notify_on_errorame = '@vue/typescript-plugin',
location = '',
languages = { 'vue' },
name = '@vue/typescript-plugin',
location = vue_typescript_plugin_path,
languages = { 'vue', 'javascript', 'typescript' },
},
},
},
@@ -610,13 +615,17 @@ require('lazy').setup({
},
-- TODO: Something with this setup is not quite right
volar = {
cmd = { 'npm', 'vue-language-server', '--stdio' },
init_options = {
vue = { hybridMode = true },
},
},
eslint = {},
prettierd = {},
eslint = {
init_options = {
filetypes = { 'javascript', 'javascriptreact', 'typescript', 'typescriptreact', 'vue' },
format = { enable = true },
},
},
--prettierd = {},
-- TODO: end
html = {},
cssls = {},
@@ -655,6 +664,7 @@ require('lazy').setup({
vim.list_extend(ensure_installed, {
'stylua', -- Used to format Lua code
'vue-language-server',
'eslint_d',
})
require('mason-tool-installer').setup { ensure_installed = ensure_installed }
@@ -711,7 +721,7 @@ require('lazy').setup({
-- python = { "isort", "black" },
--
-- You can use 'stop_after_first' to run the first available formatter from the list
javascript = { 'eslint', 'prettierd' },
javascript = { 'prettierd' },
},
},
},
@@ -925,7 +935,7 @@ require('lazy').setup({
--
-- require 'kickstart.plugins.debug',
-- require 'kickstart.plugins.indent_line',
-- require 'kickstart.plugins.lint',
require 'kickstart.plugins.lint',
-- require 'kickstart.plugins.autopairs',
-- require 'kickstart.plugins.neo-tree',
-- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps

View File

@@ -14,6 +14,7 @@
"mason-tool-installer.nvim": { "branch": "main", "commit": "1255518cb067e038a4755f5cb3e980f79b6ab89c" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"mini.nvim": { "branch": "main", "commit": "51cec14696190ad5b61e6c559ae558c703b71906" },
"nvim-lint": { "branch": "master", "commit": "9dfb77ef6c5092a19502883c02dc5a02ec648729" },
"nvim-lspconfig": { "branch": "master", "commit": "4bc481b6f0c0cf3671fc894debd0e00347089a4e" },
"nvim-treesitter": { "branch": "master", "commit": "94ea4f436d2b59c80f02e293466c374584f03b8c" },
"nvim-web-devicons": { "branch": "master", "commit": "2c2b4eafce6cdd0cb165036faa17396eff18f847" },

View File

@@ -7,6 +7,8 @@ return {
local lint = require 'lint'
lint.linters_by_ft = {
markdown = { 'markdownlint' },
javascript = { 'eslint_d' },
typescript = { 'eslint_d' },
}
-- To allow other plugins to add linters to require('lint').linters_by_ft,

View File

@@ -0,0 +1,10 @@
#!/bin/bash
# Installs requirements for my arch setup.
sudo pacman -S \
neovim \
fd \
tmux \
nvm
npm install -g @vue/typescript-plugin