From ac47429df889da8f5b1fbc936b14661c242ebd35 Mon Sep 17 00:00:00 2001 From: talksik Date: Sat, 14 Sep 2024 09:45:10 -0700 Subject: [PATCH] adding in templ golang configuration --- init.lua | 39 +++++++++++++++++++++++++++++++------ lua/custom/plugins/init.lua | 10 ---------- 2 files changed, 33 insertions(+), 16 deletions(-) diff --git a/init.lua b/init.lua index b4530d4..91b86c4 100644 --- a/init.lua +++ b/init.lua @@ -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' config = function() -- This is the function that runs, AFTER loading @@ -339,7 +339,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 @@ -517,7 +517,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. @@ -554,6 +554,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. -- @@ -578,7 +580,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 @@ -839,8 +863,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 d106dbb..121331b 100644 --- a/lua/custom/plugins/init.lua +++ b/lua/custom/plugins/init.lua @@ -97,14 +97,4 @@ return { end, {}) end, }, - - { - 'MeanderingProgrammer/markdown.nvim', - main = "render-markdown", - opts = {}, - name = 'render-markdown', -- Only needed if you have another plugin named markdown.nvim - dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite - -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins - -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons - } }