diff --git a/init.lua b/init.lua index cd50fd6..e3354d2 100644 --- a/init.lua +++ b/init.lua @@ -246,7 +246,7 @@ vim.opt.rtp:prepend(lazypath) -- NOTE: Here is where you install your plugins. require('lazy').setup({ -- NOTE: Plugins can be added with a link (or for a github repo: 'owner/repo' link). - 'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically + -- 'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically -- NOTE: Plugins can also be added by using a table, -- with the first argument being the link and the following @@ -258,7 +258,7 @@ require('lazy').setup({ -- require('Comment').setup({}) -- "gc" to comment visual regions/lines - { 'numToStr/Comment.nvim', opts = {} }, + { 'numToStr/Comment.nvim', opts = {} }, -- Here is a more advanced example where we pass configuration -- options to `gitsigns.nvim`. This is equivalent to the following Lua: @@ -293,7 +293,7 @@ require('lazy').setup({ -- after the plugin has been loaded: -- config = function() ... end - { -- Useful plugin to show you pending keybinds. + { -- Useful plugin to show you pending keybinds. 'folke/which-key.nvim', event = 'VimEnter', -- Sets the loading event to 'VimEnter' dependencies = { @@ -342,7 +342,7 @@ require('lazy').setup({ { 'nvim-telescope/telescope-ui-select.nvim' }, -- Useful for getting pretty icons, but requires a Nerd Font. - { 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font }, + { 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font }, }, config = function() -- Telescope is a fuzzy finder that comes with a lot of different things that @@ -520,7 +520,7 @@ require('lazy').setup({ -- See `:help K` for why this keymap. map('K', vim.lsp.buf.hover, 'Hover Documentation') - -- run :ClangdSwitchSourceHeader to switch between source/header files + -- run :ClangdSwitchSourceHeader to switch between source/header files map('hh', 'ClangdSwitchSourceHeader', '[S]witch [H]eader <> Source') -- WARN: This is not Goto Definition, this is Goto Declaration. @@ -557,6 +557,8 @@ require('lazy').setup({ local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = vim.tbl_deep_extend('force', capabilities, require('cmp_nvim_lsp').default_capabilities()) + vim.filetype.add({ extension = { templ = "templ" } }) + -- Enable the following language servers -- Feel free to add/remove any LSPs that you want here. They will automatically be installed. -- @@ -581,7 +583,29 @@ require('lazy').setup({ }, filetypes = { 'c', 'cpp', 'objc', 'objcpp', 'hpp', 'h', 'cc' }, }, - gopls = {}, + -- gopls = {}, + templ = { + cmd = { 'templ', 'lsp' }, + filetypes = { 'templ' }, + -- root_dir = require('lspconfig').util.root_pattern('go.mod', 'go.sum'), + }, + html = { + filetypes = { 'html', 'templ' }, + }, + -- htmx = { + -- filetypes = { 'htmx', 'templ' }, + -- }, + tailwindcss = { + filetypes = { "templ", "astro", "javascript", "typescript", "react" }, + settings = { + tailwindCSS = { + includeLanguages = { + templ = "html", + }, + }, + }, + }, + -- pyright = {}, -- rust_analyzer = {}, -- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs @@ -842,8 +866,11 @@ require('lazy').setup({ { -- Highlight, edit, and navigate code 'nvim-treesitter/nvim-treesitter', build = ':TSUpdate', + dependencies = { + 'vrischmann/tree-sitter-templ', + }, opts = { - ensure_installed = { 'bash', 'c', 'html', 'lua', 'markdown', 'vim', 'vimdoc' }, + ensure_installed = { 'bash', 'c', 'html', 'lua', 'markdown', 'vim', 'vimdoc', 'templ' }, -- Autoinstall languages that are not installed auto_install = true, highlight = { diff --git a/lua/custom/plugins/init.lua b/lua/custom/plugins/init.lua index a9c543b..5ba721d 100644 --- a/lua/custom/plugins/init.lua +++ b/lua/custom/plugins/init.lua @@ -98,19 +98,6 @@ return { end, }, - -- -- add in shortcuts for next and previous buffer - -- { - -- 'romgrk/barbar.nvim', - -- config = function() - -- vim.keymap.set('n', '9', function() - -- vim.cmd 'BufferPrevious' - -- end, {}) - -- vim.keymap.set('n', '0', function() - -- vim.cmd 'BufferNext' - -- end, {}) - -- end, - -- }, - { "davidmh/mdx.nvim", config = true, @@ -120,8 +107,8 @@ return { { 'akinsho/flutter-tools.nvim', requires = { - 'nvim-lua/plenary.nvim', - 'stevearc/dressing.nvim', -- optional for vim.ui.select + 'nvim-lua/plenary.nvim', + 'stevearc/dressing.nvim', -- optional for vim.ui.select }, } }