Creëer een Neovim Configuratie voor Geavanceerde Integratie met Externe Tools
description
Met deze prompt krijg je een geavanceerde Neovim-configuratie die je ontwikkelomgeving verbetert door externe tools direct te integreren. Dit bespaart tijd, voorkomt context-switching en verhoogt je productiviteit. Het is specifiek gericht op toolintegraties, waardoor het zich onderscheidt van algemene configuratie-aanpassingen.
prompt
Help me een Neovim-configuratie te maken die naadloos integreert met externe tools zoals linters, formatters en build-systemen. Mijn belangrijkste programmeertalen zijn: <voer je belangrijkste programmeertalen in ...
try_prompt
generate_helper
disclaimerOnPageApi
tags
ai_answers
provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een basis Neovim-configuratie die naadloos integreert met ESLint en Prettier voor JavaScript en TypeScript, inclusief aanbevolen plugins, instellingen en keybindings:
1. Plugin-beheer (bijvoorbeeld met 'packer.nvim'):
```lua
require('packer').startup(function()
-- Basis plugins
use 'wbthomason/packer.nvim'
-- LSP en autocompletion
use 'neovim/nvim-lspconfig'
use 'hrsh7th/nvim-cmp'
use 'hrsh7th/cmp-nvim-lsp'
use 'hrsh7th/cmp-buffer'
use 'L3MON4D3/LuaSnip'
-- Formatter en linter integratie
use 'jose-elias-alvarez/null-ls.nvim'
-- Tree-sitter voor syntax highlighting
use {'nvim-treesitter/nvim-treesitter', run = ':TSUpdate'}
end)
```
2. LSP en null-ls configuratie (voor ESLint en Prettier):
```lua
local nvim_lsp = require('lspconfig')
local null_ls = require('null-ls')
-- LSP voor JavaScript/TypeScript
nvim_lsp.tsserver.setup{}
-- null-ls voor ESLint en Prettier
null_ls.setup({
sources = {
null_ls.builtins.diagnostics.eslint,
null_ls.builtins.formatting.prettier,
},
on_attach = function(client)
if client.resolved_capabilities.document_formatting then
vim.cmd([[
augroup LspFormatting
autocmd! * <buffer>
autocmd BufWritePre <buffer> lua vim.lsp.buf.formatting_sync()
augroup END
]])
end
end,
})
```
3. Autocompletion instellingen:
```lua
local cmp = require'cmp'
cmp.setup({
snippet = {
expand = function(args)
require'luasnip'.lsp_expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert({
['<C-Space>'] = cmp.mapping.complete(),
['<CR>'] = cmp.mapping.confirm({ select = true }),
}),
sources = {
{ name = 'nvim_lsp' },
{ name = 'buffer' },
},
})
```
4. Keybindings voor linting en formatteren:
```lua
-- Formatter handmatig triggeren
vim.api.nvim_set_keymap('n', '<Leader>f', '<Cmd>lua vim.lsp.buf.formatting()<CR>', { noremap = true, silent = true })
-- ESLint fixen (als ondersteund)
vim.api.nvim_set_keymap('n', '<Leader>e', '<Cmd>lua vim.lsp.buf.code_action({ source = { organizeImports = true } })<CR>', { noremap = true, silent = true })
```
5. Extra tips:
- Zorg dat ESLint en Prettier lokaal in je project geïnstalleerd zijn via npm.
- Gebruik eventueel 'prettier.nvim' of 'formatter.nvim' plugins voor meer keuzemogelijkheden.
- Voeg 'nvim-treesitter' toe voor verbeterde syntax highlighting en syntax-aware features.
Met deze setup worden linting en formatting automatisch uitgevoerd bij het opslaan, en kun je linting- en formatting-commando's snel uitvoeren via keybindings. Hierdoor werk je efficiënt met JavaScript en TypeScript in Neovim, met volledige ondersteuning voor ESLint en Prettier.
provider: deepseek
model: deepseek-chat
no_answer_for_language
error: Generation failed [deepseek] prompt_id=2168 locale=nl err=DeepSeek connection/timeout | Generation failed [deepseek] prompt_id=2168 locale=en err=DeepSeek connection/timeout | Generation failed [deepseek] prompt_id=2168 locale=de err=DeepSeek connection/timeout | Generation failed [deepseek] prompt_id=2168 locale=fr err=DeepSeek connection/timeout | Generation failed [deepseek] prompt_id=2168 locale=pt err=DeepSeek connection/timeout | Generation failed [deepseek] prompt_id=2168 locale=es err=DeepSeek connection/timeout | Generation failed [deepseek] prompt_id=2168 locale=zh err=DeepSeek connection/timeout