Skip to content

Should go templates work with default setup? #602

@sheam

Description

@sheam

Should Go templates work with the default setup? The format command doesn't seem to do anything for me, plus I get an InlayHint error about missing metadata for files from gopls when I open a *.gohtml file.

Error: gopls: 0: getting file for InlayHint: no package metadata for file file:///home/sheam/code/go/calh oun-course/templates/tailwind.gohtml.

The format command does not do anything or give any output.

My go-nvim.lua file looksl like this:

vim.pack.add({
	'https://github.com/ray-x/go.nvim',
	'https://github.com/ray-x/guihua.lua',  -- Required dependency
})

require('go').setup({
	disable_defaults = false,
	go = 'go',
	goimports = 'gopls',
	fillstruct = 'gopls',
	gofmt = 'gofumpt', -- or 'gofmt' or 'goimports'
	tag_transform = false,
	lsp_cfg = true, -- don't override your existing LSP config
	lsp_inlay_hints = {
		enable = true,
	},
})

-- Format on save
local format_sync_grp = vim.api.nvim_create_augroup("goimports", {})
vim.api.nvim_create_autocmd("BufWritePre", {
	pattern = "*.go",
	callback = function()
		require('go.format').goimports()
	end,
	group = format_sync_grp,
})

And my nvim-lspconfig.lua:

vim.pack.add({
	"https://github.com/mason-org/mason.nvim",
	"https://github.com/mason-org/mason-lspconfig.nvim",
	"https://github.com/neovim/nvim-lspconfig",
})
require("mason").setup()
require("mason-lspconfig").setup({
	automatic_installation = true,
	automatic_enable = true,
})

My nvim-treesitter.lua:

vim.pack.add({ "https://github.com/nvim-treesitter/nvim-treesitter" })

require("nvim-treesitter.configs").setup({
	ensure_installed = {
		"markdown",
		"markdown_inline",
		"c",
		"cpp",
		"cmake",
		"bash",
		"lua",
		"python",
		"json",
		"vimdoc",
		"go",
		"gotmpl",
	},
	sync_install = false,

	-- auto_install requires tree-sitter-cli to be installed
	auto_install = true,

	-- NOTE: these are the names of the parsers and not the filetype.
	ignore_install = {},

	highlight = {
		enable = true,
		additional_vim_regex_highlighting = false,
	},
})

my plugins/init.lua:

require('plugins.mini-icons')

require('plugins.nvim-lspconfig')

require('plugins.nvim-treesitter')
require('plugins.nvim-treesitter-context')

require('plugins.render-markdown')
require('plugins.fzf-lua')

require('plugins.undotree')

require('plugins.mini-surround')

require('plugins.yazi')

require('plugins.friendly-snippets')

require('plugins.blink')

require('plugins.go-nvim')
-- require('plugins.luasnip')
-- disable debugger until we need it
-- require('nvim-dap')

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions