From ff1abe53ed7a5ca93153bd54d6232438f6d25271 Mon Sep 17 00:00:00 2001 From: dario Date: Fri, 17 Apr 2026 14:24:46 +0200 Subject: [PATCH] feat: add spelling help to telescope; fix indent --- init.lua | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/init.lua b/init.lua index 29197ea0..ebdd492a 100644 --- a/init.lua +++ b/init.lua @@ -208,9 +208,9 @@ vim.api.nvim_create_autocmd('TextYankPost', { end, }) --- Set correct indendation for Go files +-- Set correct indendation for Go/templ files vim.api.nvim_create_autocmd('FileType', { - pattern = 'go', + pattern = { 'go', 'templ' }, callback = function() vim.bo.tabstop = 4 vim.bo.shiftwidth = 4 @@ -219,6 +219,16 @@ vim.api.nvim_create_autocmd('FileType', { end, }) +vim.api.nvim_create_autocmd('FileType', { + pattern = { 'typescript', 'json', 'jsonc' }, + callback = function() + vim.bo.tabstop = 2 + vim.bo.shiftwidth = 2 + vim.bo.softtabstop = 2 + vim.bo.expandtab = false + end, +}) + -- [[ Install `lazy.nvim` plugin manager ]] -- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim' @@ -348,6 +358,7 @@ require('lazy').setup({ { 't', group = '[T]oggle' }, { 'h', group = 'Git [H]unk', mode = { 'n', 'v' } }, { 'r', group = '[R]efactor' }, + { 'sp', group = '[Sp]elling' }, { 'g', group = '[G]oto' }, { 'e', group = '[E]rror Diagnostics' }, }, @@ -440,6 +451,23 @@ require('lazy').setup({ vim.keymap.set('n', 's.', builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' }) vim.keymap.set('n', '', builtin.buffers, { desc = '[ ] Find existing buffers' }) + local themes = require 'telescope.themes' + vim.keymap.set('n', 'sps', function() + builtin.spell_suggest(themes.get_cursor()) + end, { desc = '[sp]elling: [s]uggestions ' }) + + -- toggle spell + vim.keymap.set('n', 'spt', function() + vim.wo.spell = not vim.wo.spell + vim.notify('spell: ' .. (vim.wo.spell and 'ON' or 'OFF')) + end, { desc = '[sp]elling: [t]oggle' }) + + vim.keymap.set('n', 'spg', 'zg', { desc = '[sp]elling: mark as [g]ood', silent = true }) + vim.keymap.set('n', 'spw', 'zw', { desc = '[sp]elling: mark as [w]rong', silent = true }) + vim.keymap.set('n', 'spu', 'zug', { desc = '[sp]elling: [u]ndo last mark', silent = true }) + vim.keymap.set('n', 'spn', ']s', { desc = '[sp]elling: [n]ext error', silent = true }) + vim.keymap.set('n', 'spp', '[s', { desc = '[sp]elling: [p]rev error', silent = true }) + vim.keymap.set('n', 'rn', vim.lsp.buf.rename, { desc = '[R]e[n]ame' }) vim.keymap.set('n', 'rr', vim.lsp.buf.references, { desc = '[R]eferences' }) vim.keymap.set('n', 'gd', builtin.lsp_definitions, { desc = '[G]oto [D]efinition' }) @@ -733,6 +761,8 @@ require('lazy').setup({ 'docker-compose*.yaml', 'compose*.yml', 'compose*.yaml', + 'dc*.yml', + 'dc*.yaml', }, ['https://json.schemastore.org/github-workflow.json'] = { '.github/workflows/*.yml', @@ -829,6 +859,9 @@ require('lazy').setup({ terraform = { 'terraform_fmt' }, tex = { 'latexindent' }, sql = { 'prettier' }, + templ = { 'templ' }, + javascript = { 'prettier' }, + typescript = { 'prettier' }, -- sql = { 'sql_formatter' }, -- Conform can also run multiple formatters sequentially