@@ -208,9 +208,9 @@ vim.api.nvim_create_autocmd('TextYankPost', {
208208 end ,
209209})
210210
211- -- Set correct indendation for Go files
211+ -- Set correct indendation for Go/templ files
212212vim .api .nvim_create_autocmd (' FileType' , {
213- pattern = ' go' ,
213+ pattern = { ' go' , ' templ ' } ,
214214 callback = function ()
215215 vim .bo .tabstop = 4
216216 vim .bo .shiftwidth = 4
@@ -219,6 +219,16 @@ vim.api.nvim_create_autocmd('FileType', {
219219 end ,
220220})
221221
222+ vim .api .nvim_create_autocmd (' FileType' , {
223+ pattern = { ' typescript' , ' json' , ' jsonc' },
224+ callback = function ()
225+ vim .bo .tabstop = 2
226+ vim .bo .shiftwidth = 2
227+ vim .bo .softtabstop = 2
228+ vim .bo .expandtab = false
229+ end ,
230+ })
231+
222232-- [[ Install `lazy.nvim` plugin manager ]]
223233-- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info
224234local lazypath = vim .fn .stdpath ' data' .. ' /lazy/lazy.nvim'
@@ -348,6 +358,7 @@ require('lazy').setup({
348358 { ' <leader>t' , group = ' [T]oggle' },
349359 { ' <leader>h' , group = ' Git [H]unk' , mode = { ' n' , ' v' } },
350360 { ' <leader>r' , group = ' [R]efactor' },
361+ { ' <leader>sp' , group = ' [Sp]elling' },
351362 { ' <leader>g' , group = ' [G]oto' },
352363 { ' <leader>e' , group = ' [E]rror Diagnostics' },
353364 },
@@ -440,6 +451,23 @@ require('lazy').setup({
440451 vim .keymap .set (' n' , ' <leader>s.' , builtin .oldfiles , { desc = ' [S]earch Recent Files ("." for repeat)' })
441452 vim .keymap .set (' n' , ' <leader><leader>' , builtin .buffers , { desc = ' [ ] Find existing buffers' })
442453
454+ local themes = require ' telescope.themes'
455+ vim .keymap .set (' n' , ' <leader>sps' , function ()
456+ builtin .spell_suggest (themes .get_cursor ())
457+ end , { desc = ' [sp]elling: [s]uggestions ' })
458+
459+ -- toggle spell
460+ vim .keymap .set (' n' , ' <leader>spt' , function ()
461+ vim .wo .spell = not vim .wo .spell
462+ vim .notify (' spell: ' .. (vim .wo .spell and ' ON' or ' OFF' ))
463+ end , { desc = ' [sp]elling: [t]oggle' })
464+
465+ vim .keymap .set (' n' , ' <leader>spg' , ' zg' , { desc = ' [sp]elling: mark as [g]ood' , silent = true })
466+ vim .keymap .set (' n' , ' <leader>spw' , ' zw' , { desc = ' [sp]elling: mark as [w]rong' , silent = true })
467+ vim .keymap .set (' n' , ' <leader>spu' , ' zug' , { desc = ' [sp]elling: [u]ndo last mark' , silent = true })
468+ vim .keymap .set (' n' , ' <leader>spn' , ' ]s' , { desc = ' [sp]elling: [n]ext error' , silent = true })
469+ vim .keymap .set (' n' , ' <leader>spp' , ' [s' , { desc = ' [sp]elling: [p]rev error' , silent = true })
470+
443471 vim .keymap .set (' n' , ' <leader>rn' , vim .lsp .buf .rename , { desc = ' [R]e[n]ame' })
444472 vim .keymap .set (' n' , ' <leader>rr' , vim .lsp .buf .references , { desc = ' [R]eferences' })
445473 vim .keymap .set (' n' , ' <leader>gd' , builtin .lsp_definitions , { desc = ' [G]oto [D]efinition' })
@@ -733,6 +761,8 @@ require('lazy').setup({
733761 ' docker-compose*.yaml' ,
734762 ' compose*.yml' ,
735763 ' compose*.yaml' ,
764+ ' dc*.yml' ,
765+ ' dc*.yaml' ,
736766 },
737767 [' https://json.schemastore.org/github-workflow.json' ] = {
738768 ' .github/workflows/*.yml' ,
@@ -829,6 +859,9 @@ require('lazy').setup({
829859 terraform = { ' terraform_fmt' },
830860 tex = { ' latexindent' },
831861 sql = { ' prettier' },
862+ templ = { ' templ' },
863+ javascript = { ' prettier' },
864+ typescript = { ' prettier' },
832865 -- sql = { 'sql_formatter' },
833866
834867 -- Conform can also run multiple formatters sequentially
0 commit comments